@charset "UTF-8";
/*$lp4f_color: #bb2727;
$lp4f_color_hover: #bb5454;*/
/*$lp4f_color: #ee8d7d;
$lp4f_color_hover: #d94d2d;*/
.color.lp4f {
  color: #b33657; }

.color.pu20k {
  color: #db5838; }

.color.pu50k {
  color: #3f7f9d; }

.color.pu99k {
  color: #7ea347; }

.color.pu100k {
  color: #7ea347; }

.color.pamp {
  color: #d4a11b; }

.color.are {
  color: #d4a11b; }

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

/*@import 'spritemap_icons_imp';*/
.icon, .skyline {
  background-image: url("https://www.listproperty4free.com/images/icons/dist/all.png?v=10");
  display: inline-block;
  vertical-align: middle; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon, .skyline {
      background-image: url("https://www.listproperty4free.com/images/icons/dist/all@2x.png?v=10"); } }
  .icon + strong, .icon + span, .skyline + strong, .skyline + span {
    margin-left: 0.9em; }
  @media screen and (max-width: 39.9375em) {
    .icon.hide-for-small-only + span, .skyline.hide-for-small-only + span {
      margin-left: 0; } }

.icon-free {
  background-position: 91.72026% 68.14404%;
  background-size: 2864.44444%;
  width: 45px;
  height: 46px; }

.icon-world {
  background-position: 84.16399% 68.14404%;
  background-size: 2864.44444%;
  width: 45px;
  height: 46px; }

.icon-strings {
  background-position: 87.94212% 68.14404%;
  background-size: 2864.44444%;
  width: 45px;
  height: 46px; }

.icon-pu20k {
  background-position: 27.80049% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pu20k:hover {
  background-position: 44.48078% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pu20k-full {
  background-position: 75.50306% 32.74854%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-pu20k-full:hover {
  background-position: 88.45144% 32.74854%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-pu50k {
  background-position: 66.72118% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pu50k:hover {
  background-position: 22.24039% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pu50k-full {
  background-position: 77.69029% 52.33918%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-pu50k-full:hover {
  background-position: 62.55468% 32.74854%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-pu99k {
  background-position: 83.40147% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pu99k:hover {
  background-position: 38.92069% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pu99k-full {
  background-position: 0% 52.33918%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-pu99k-full:hover {
  background-position: 36.60245% 32.74854%;
  background-size: 876.87075%;
  width: 147px;
  height: 65px; }

.icon-pu100k {
  background-position: 50.04088% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pu100k:hover {
  background-position: 5.5601% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pu100k-full {
  background-position: 49.6063% 32.74854%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-pu100k-full:hover {
  background-position: 64.74191% 52.33918%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-pamp {
  background-position: 11.1202% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pamp:hover {
  background-position: 0% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-pamp-full {
  background-position: 25.89676% 52.33918%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-pamp-full:hover {
  background-position: 38.84514% 52.33918%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-are {
  background-position: 16.68029% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-are:hover {
  background-position: 33.36059% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-are-full {
  background-position: 12.94838% 52.33918%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-are-full:hover {
  background-position: 51.79353% 52.33918%;
  background-size: 882.87671%;
  width: 146px;
  height: 65px; }

.icon-lp4f {
  background-position: 89.15663% 52.33918%;
  background-size: 1014.96063%;
  width: 127px;
  height: 65px; }

.icon-lp4f:hover {
  background-position: 99.74182% 32.74854%;
  background-size: 1014.96063%;
  width: 127px;
  height: 65px; }

.icon-lp4f-full {
  background-position: 0% 32.74854%;
  background-size: 622.70531%;
  width: 207px;
  height: 65px; }

.icon-lp4f-full:hover {
  background-position: 19.31608% 32.74854%;
  background-size: 622.70531%;
  width: 207px;
  height: 65px; }

.icon-lp4f-simple {
  background-position: 61.16108% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-lp4f-simple:hover {
  background-position: 55.60098% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-myads {
  background-position: 77.84137% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-myads:hover {
  background-position: 72.28128% 91.78886%;
  background-size: 1953.0303%;
  width: 66px;
  height: 66px; }

.icon-facebook {
  /*@include sprite-image($sprite);*/
  background-position: -792px -246px;
  width: 49px;
  height: 49px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-facebook {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-facebook:hover {
  /*@include sprite-image($sprite);*/
  background-position: -843px -246px;
  width: 49px;
  height: 49px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-facebook:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-youtube {
  /*@include sprite-image($sprite);*/
  background-position: -741px -246px;
  width: 49px;
  height: 49px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-youtube {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-youtube:hover {
  /*@include sprite-image($sprite);*/
  background-position: -894px -246px;
  width: 49px;
  height: 49px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-youtube:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-googleplus {
  /*@include sprite-image($sprite);*/
  background-position: -1235px -179px;
  width: 49px;
  height: 49px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-googleplus {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-googleplus:hover {
  /*@include sprite-image($sprite);*/
  background-position: -996px -246px;
  width: 49px;
  height: 49px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-googleplus:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-twitter {
  /*@include sprite-image($sprite);*/
  background-position: -945px -246px;
  width: 49px;
  height: 49px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-twitter {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-twitter:hover {
  /*@include sprite-image($sprite);*/
  background-position: -690px -246px;
  width: 49px;
  height: 49px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-twitter:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-login {
  /*@include sprite-image($sprite);*/
  background-position: -446px -246px;
  width: 59px;
  height: 58px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-login {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-login:hover {
  /*@include sprite-image($sprite);*/
  background-position: -629px -246px;
  width: 59px;
  height: 58px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-login:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-forgot_pw {
  /*@include sprite-image($sprite);*/
  background-position: -70px -246px;
  width: 64px;
  height: 65px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-forgot_pw {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-forgot_pw:hover {
  /*@include sprite-image($sprite);*/
  background-position: -136px -246px;
  width: 64px;
  height: 65px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-forgot_pw:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-new_here {
  /*@include sprite-image($sprite);*/
  background-position: 0px -246px;
  width: 68px;
  height: 65px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-new_here {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-new_here:hover {
  /*@include sprite-image($sprite);*/
  background-position: -1165px -179px;
  width: 68px;
  height: 65px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-new_here:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-edit {
  /*@include sprite-image($sprite);*/
  background-position: -1197px -344px;
  width: 23px;
  height: 23px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-edit {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-edit:hover {
  /*@include sprite-image($sprite);*/
  background-position: -1172px -344px;
  width: 23px;
  height: 23px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-edit:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-hide {
  /*@include sprite-image($sprite);*/
  background-position: -21px -381px;
  width: 19px;
  height: 26px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-hide {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-hide:hover {
  /*@include sprite-image($sprite);*/
  background-position: 0px -381px;
  width: 19px;
  height: 26px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-hide:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-show {
  /*@include sprite-image($sprite);*/
  background-position: -1088px -313px;
  width: 25px;
  height: 29px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-show {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-show:hover {
  /*@include sprite-image($sprite);*/
  background-position: -1115px -313px;
  width: 25px;
  height: 29px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-show:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-delete {
  /*@include sprite-image($sprite);*/
  background-position: -1224px -313px;
  width: 16px;
  height: 17px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-delete {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-delete:hover {
  /*@include sprite-image($sprite);*/
  background-position: -1206px -313px;
  width: 16px;
  height: 17px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-delete:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-photos {
  /*@include sprite-image($sprite);*/
  background-position: -1174px -313px;
  width: 30px;
  height: 21px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-photos {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-photos:hover {
  /*@include sprite-image($sprite);*/
  background-position: -1142px -313px;
  width: 30px;
  height: 21px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-photos:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-queries {
  /*@include sprite-image($sprite);*/
  background-position: -1222px -344px;
  width: 15px;
  height: 22px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-queries {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-queries:hover {
  /*@include sprite-image($sprite);*/
  background-position: -1239px -344px;
  width: 15px;
  height: 22px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-queries:hover {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-private_seller {
  /*@include sprite-image($sprite);*/
  background-position: -263px -246px;
  width: 59px;
  height: 59px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-private_seller {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-private_seller:hover:not(.no-hover) {
  /*@include sprite-image($sprite);*/
  background-position: -202px -246px;
  width: 59px;
  height: 59px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-private_seller:hover:not(.no-hover) {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-estate_agent {
  /*@include sprite-image($sprite);*/
  background-position: -324px -246px;
  width: 59px;
  height: 59px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-estate_agent {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-estate_agent:hover:not(.no-hover) {
  /*@include sprite-image($sprite);*/
  background-position: -385px -246px;
  width: 59px;
  height: 59px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-estate_agent:hover:not(.no-hover) {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-sorry, .button i.icon-sorry {
  /*@include sprite-image($sprite);*/
  background-position: -507px -246px;
  width: 59px;
  height: 58px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-sorry, .button i.icon-sorry {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-sorry:hover:not(.no-hover) {
  /*@include sprite-image($sprite);*/
  background-position: -568px -246px;
  width: 59px;
  height: 58px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-sorry:hover:not(.no-hover) {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.icon-email_alert_grey {
  background-position: 90.57799% 89.81723%;
  background-size: 4957.69231%;
  width: 26px;
  height: 24px; }

.icon-email_alert_white {
  background-position: 88.36105% 89.81723%;
  background-size: 4957.69231%;
  width: 26px;
  height: 24px; }

.icon-email_alert_red {
  /*@include sprite-image($sprite);*/
  background-position: -1088px -344px;
  width: 26px;
  height: 24px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .icon-email_alert_red {
      /*@include sprite-image($retina-sprite);*/
      background-size: 1289px 407px; } }

.header_container ul.menu {
  /*margin-left: 0;*/
  margin: 0; }

@media screen and (max-width: 39.9375em) {
  .header_container .menu.line1 {
    /*                padding-top: 0.5rem;
                padding-bottom: 0.5rem;*/
    padding: 0.5rem;
    max-width: 406px;
    /*max-width: 470px;*/
    margin: auto; }
    .header_container .menu.line1 li {
      /*                    text-align: -moz-center;
                    text-align: -webkit-center;*/ }
      .header_container .menu.line1 li#myads_link.lp4f {
        /*max-width: $pu20k-width + $min_space;*/ }
      .header_container .menu.line1 li#link_lp4f {
        max-width: 131px; }
      .header_container .menu.line1 li#link_lp4f-simple {
        /*max-width: $lp4f-simple-width + $min_space;*/ }
      .header_container .menu.line1 li a {
        max-width: 70px;
        margin: auto; }
        .header_container .menu.line1 li a .wrapper {
          margin-right: 2px;
          margin-left: 2px; }
        .header_container .menu.line1 li a i {
          width: 100%;
          height: 0;
          padding-bottom: 100%;
          max-width: 66px; }
      .header_container .menu.line1 li.lp4f {
        width: 20%; }
      .header_container .menu.line1 li.pu20k, .header_container .menu.line1 li.pu50k, .header_container .menu.line1 li.pu99k, .header_container .menu.line1 li.pu100k, .header_container .menu.line1 li.are, .header_container .menu.line1 li.pamp {
        width: 20%; }
        .header_container .menu.line1 li.pu20k#link_lp4f, .header_container .menu.line1 li.pu50k#link_lp4f, .header_container .menu.line1 li.pu99k#link_lp4f, .header_container .menu.line1 li.pu100k#link_lp4f, .header_container .menu.line1 li.are#link_lp4f, .header_container .menu.line1 li.pamp#link_lp4f {
          width: 38.48485%; }
          .header_container .menu.line1 li.pu20k#link_lp4f a, .header_container .menu.line1 li.pu50k#link_lp4f a, .header_container .menu.line1 li.pu99k#link_lp4f a, .header_container .menu.line1 li.pu100k#link_lp4f a, .header_container .menu.line1 li.are#link_lp4f a, .header_container .menu.line1 li.pamp#link_lp4f a {
            max-width: 127px; }
            .header_container .menu.line1 li.pu20k#link_lp4f a i, .header_container .menu.line1 li.pu50k#link_lp4f a i, .header_container .menu.line1 li.pu99k#link_lp4f a i, .header_container .menu.line1 li.pu100k#link_lp4f a i, .header_container .menu.line1 li.are#link_lp4f a i, .header_container .menu.line1 li.pamp#link_lp4f a i {
              padding-bottom: 100%;
              max-width: 127px;
              padding-bottom: 51.1811%; } }

.header_container .menu li {
  margin: 0px; }
  .header_container .menu li.my_active {
    display: inline-block;
    margin-bottom: 0.7rem; }
  .header_container .menu li a {
    padding: 0.7rem 0.32rem; }
    .header_container .menu li a i {
      margin-right: 0; }
    @media screen and (max-width: 39.9375em) {
      .header_container .menu li a {
        padding: 0; } }

.header_container div#teaser_container {
  height: 66px;
  overflow: hidden;
  text-align: center;
  margin: 5px; }
  @media print, screen and (min-width: 40em) {
    .header_container div#teaser_container {
      margin: 10px; } }
  @media print, screen and (min-width: 64em) {
    .header_container div#teaser_container {
      margin: 15px; } }
  .header_container div#teaser_container #teaser {
    font-size: 1.3rem;
    line-height: 1;
    vertical-align: middle;
    display: table-cell; }
    @media print, screen and (min-width: 40em) {
      .header_container div#teaser_container #teaser {
        font-size: 1.9rem;
        line-height: 0.8; } }
    @media print, screen and (min-width: 64em) {
      .header_container div#teaser_container #teaser {
        font-size: 1.4rem;
        line-height: 1;
        letter-spacing: -1px; } }
    .header_container div#teaser_container #teaser small {
      font-size: 0.84rem;
      line-height: 1; }
      @media print, screen and (min-width: 40em) {
        .header_container div#teaser_container #teaser small {
          font-size: 1.22rem; } }
      @media print, screen and (min-width: 64em) {
        .header_container div#teaser_container #teaser small {
          font-size: 0.9rem;
          letter-spacing: normal; } }

.header_container .cart.icon-with-badge {
  font-size: 2em; }

.page div#teaser_container #teaser, .blog div#teaser_container #teaser, .single-post div#teaser_container #teaser, .archive div#teaser_container #teaser, .error404 div#teaser_container #teaser {
  font-size: 2.08rem;
  line-height: 0.8;
  vertical-align: middle;
  display: table-cell;
  /*font-weight: bold;*/
  /*text-transform: uppercase;*/ }
  @media print, screen and (min-width: 40em) {
    .page div#teaser_container #teaser, .blog div#teaser_container #teaser, .single-post div#teaser_container #teaser, .archive div#teaser_container #teaser, .error404 div#teaser_container #teaser {
      font-size: 3.04rem;
      line-height: 0.8; } }
  @media print, screen and (min-width: 64em) {
    .page div#teaser_container #teaser, .blog div#teaser_container #teaser, .single-post div#teaser_container #teaser, .archive div#teaser_container #teaser, .error404 div#teaser_container #teaser {
      font-size: 2.24rem;
      line-height: 1; } }
  .page div#teaser_container #teaser small, .blog div#teaser_container #teaser small, .single-post div#teaser_container #teaser small, .archive div#teaser_container #teaser small, .error404 div#teaser_container #teaser small {
    font-size: 1.344rem;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .page div#teaser_container #teaser small, .blog div#teaser_container #teaser small, .single-post div#teaser_container #teaser small, .archive div#teaser_container #teaser small, .error404 div#teaser_container #teaser small {
        font-size: 1.952rem; } }
    @media print, screen and (min-width: 64em) {
      .page div#teaser_container #teaser small, .blog div#teaser_container #teaser small, .single-post div#teaser_container #teaser small, .archive div#teaser_container #teaser small, .error404 div#teaser_container #teaser small {
        font-size: 1.44rem; } }
    .page div#teaser_container #teaser small.subheader, .blog div#teaser_container #teaser small.subheader, .single-post div#teaser_container #teaser small.subheader, .archive div#teaser_container #teaser small.subheader, .error404 div#teaser_container #teaser small.subheader {
      font-weight: normal; }
      .page div#teaser_container #teaser small.subheader a, .blog div#teaser_container #teaser small.subheader a, .single-post div#teaser_container #teaser small.subheader a, .archive div#teaser_container #teaser small.subheader a, .error404 div#teaser_container #teaser small.subheader a {
        text-decoration: underline; }
      .page div#teaser_container #teaser small.subheader a:hover, .blog div#teaser_container #teaser small.subheader a:hover, .single-post div#teaser_container #teaser small.subheader a:hover, .archive div#teaser_container #teaser small.subheader a:hover, .error404 div#teaser_container #teaser small.subheader a:hover {
        text-decoration: none; }

.vertical_align_wrapper {
  display: table;
  width: 100%;
  height: 100%; }
  .vertical_align_wrapper .vertical_align {
    display: table-cell;
    vertical-align: middle; }

#footer-container {
  background-color: #303030;
  color: white; }
  #footer-container .link_list a {
    white-space: nowrap;
    padding-left: 1rem;
    padding-right: 1rem; }
    @media print, screen and (min-width: 40em) {
      #footer-container .link_list a {
        padding-right: 2rem; } }
  #footer-container a:not(.button) {
    color: #bdbdbd;
    text-decoration: underline; }
    #footer-container a:not(.button):hover {
      text-decoration: none; }
  #footer-container p.desc {
    color: #bdbdbd;
    margin-bottom: 0.5rem; }
  #footer-container .link_list {
    margin-top: 0.5rem; }
  #footer-container h2 {
    text-transform: uppercase;
    color: #aecbeb;
    font-size: 1rem;
    margin-bottom: 0; }
  #footer-container hr {
    border-bottom: 1px solid #606060; }
  #footer-container ul.navigation {
    list-style-type: none;
    margin-left: 0; }
    #footer-container ul.navigation > li {
      position: relative;
      border-bottom: 1px solid #606060; }
      #footer-container ul.navigation > li.googleplus_alt {
        margin-top: 0.2rem;
        line-height: 1rem; }
      #footer-container ul.navigation > li.facebook_alt {
        line-height: 1.45rem;
        padding-bottom: 0.2rem; }
    #footer-container ul.navigation a {
      color: white;
      text-decoration: none; }
      #footer-container ul.navigation a img.newsletter {
        margin-top: -2px;
        margin-left: 2px; }
    #footer-container ul.navigation a:hover {
      text-decoration: underline; }
      #footer-container ul.navigation a:hover span.alert_icon {
        background-position: -600px -227px; }
    #footer-container ul.navigation .newsletter .fi-mail {
      font-size: 1.4em;
      margin: -0.4em 0.4em -0.2em 0; }
  #footer-container iframe {
    vertical-align: unset; }
  #footer-container .google_ad, #footer-container .google_ad ins.adsbygoogle {
    background-color: #303030; }

.skyline_wrap {
  white-space: nowrap;
  margin-top: 2rem;
  height: 109px;
  overflow: hidden; }
  .skyline_wrap .skyline {
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
    /*    height: 104px;
            background-image: url($spritemap_url);
            @include breakpoint(retina) {
                background-image: url($spritemap_url_retina);
                background-size: $spritemap_url_retina_bg_size;
            }
            background-position: 0px -262px;*/
    /*$icon-skyline-group: ('icon-skyline', $skyline, $skyline-2x);*/
    width: 1287px;
    max-width: 100vw;
    height: 109px;
    background-position: -1px 0px;
    background-repeat: repeat-x;
    background-size: 1289px 407px; }
    .skyline_wrap .skyline:nth-child(2) {
      /*left: $skyline-width - 2;*/ }

#cheap-homes-social-media .icon {
  /*height: 49px;*/
  /*width: 49px;*/
  position: relative;
  display: inline-block; }
  #cheap-homes-social-media .icon a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-decoration: none;
    /* Makes sure the link doesn't get underlined */
    z-index: 10;
    /* raises anchor tag above everything else in div */
    background-color: white;
    /*workaround to make clickable in IE */
    opacity: 0;
    /*workaround to make clickable in IE */
    filter: alpha(opacity=0);
    /*workaround to make clickable in IE */ }

#cheap-homes-social-media .button {
  background-color: #bdbdbd;
  width: 100%;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
  margin: 0;
  margin-top: 0.3rem;
  font-size: 1rem; }
  #cheap-homes-social-media .button:hover {
    background-color: white; }

.blog #footer-container *, .page #footer-container *, .single-post #footer-container *, .archive #footer-container * {
  font-size: 1.6rem;
  font-weight: normal; }

.blog #footer-container .link_list a, .page #footer-container .link_list a, .single-post #footer-container .link_list a, .archive #footer-container .link_list a {
  padding-left: 1.6rem;
  padding-right: 1.6rem; }
  @media print, screen and (min-width: 40em) {
    .blog #footer-container .link_list a, .page #footer-container .link_list a, .single-post #footer-container .link_list a, .archive #footer-container .link_list a {
      padding-right: 3.2rem; } }

.blog #footer-container p.desc, .page #footer-container p.desc, .single-post #footer-container p.desc, .archive #footer-container p.desc {
  margin-bottom: 0.8rem; }

.blog #footer-container .link_list, .page #footer-container .link_list, .single-post #footer-container .link_list, .archive #footer-container .link_list {
  margin-top: 0.8rem; }

.blog #footer-container ul.navigation li.googleplus_alt, .page #footer-container ul.navigation li.googleplus_alt, .single-post #footer-container ul.navigation li.googleplus_alt, .archive #footer-container ul.navigation li.googleplus_alt {
  margin-top: 0.32rem;
  line-height: 1.6rem; }

.blog #footer-container ul.navigation li.facebook_alt, .page #footer-container ul.navigation li.facebook_alt, .single-post #footer-container ul.navigation li.facebook_alt, .archive #footer-container ul.navigation li.facebook_alt {
  line-height: 2.32rem;
  padding-bottom: 0.32rem; }

.blog #footer-container ul.navigation a, .page #footer-container ul.navigation a, .single-post #footer-container ul.navigation a, .archive #footer-container ul.navigation a {
  color: white;
  text-decoration: none; }
  .blog #footer-container ul.navigation a img.newsletter, .page #footer-container ul.navigation a img.newsletter, .single-post #footer-container ul.navigation a img.newsletter, .archive #footer-container ul.navigation a img.newsletter {
    margin-top: -2px;
    margin-left: 2px; }

.blog #footer-container ul.navigation a:hover, .page #footer-container ul.navigation a:hover, .single-post #footer-container ul.navigation a:hover, .archive #footer-container ul.navigation a:hover {
  text-decoration: underline; }
  .blog #footer-container ul.navigation a:hover span.alert_icon, .page #footer-container ul.navigation a:hover span.alert_icon, .single-post #footer-container ul.navigation a:hover span.alert_icon, .archive #footer-container ul.navigation a:hover span.alert_icon {
    background-position: -600px -227px; }

.blog #footer-container strong, .page #footer-container strong, .single-post #footer-container strong, .archive #footer-container strong {
  font-weight: 700; }

@font-face {
  font-family: Font Awesome\ 5 Brands;
  font-style: normal;
  font-weight: 400;
  src: url(/css/fonts/fa-brands-400.eot);
  src: url(/css/fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"), url(/css/fonts/fa-brands-400.woff2) format("woff2"), url(/css/fonts/fa-brands-400.woff) format("woff"), url(/css/fonts/fa-brands-400.ttf) format("truetype"), url(/css/fonts/fa-brands-400.svg#fontawesome) format("svg"); }

#footer-container {
  /*@font-face {
        font-family: Font Awesome\ 5 Free;
        font-style: normal;
        font-weight: 400;
        src: url(/css/fonts/fa-regular-400.eot);
        src: url(/css/fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"), url(/css/fonts/fa-regular-400.woff2) format("woff2"), url(/css/fonts/fa-regular-400.woff) format("woff"), url(/css/fonts/fa-regular-400.ttf) format("truetype"), url(/css/fonts/fa-regular-400.svg#fontawesome) format("svg")
    }
    
    .far {
        font-weight: 400
    }
    
    @font-face {
        font-family: Font Awesome\ 5 Free;
        font-style: normal;
        font-weight: 900;
        src: url(/css/fonts/fa-solid-900.eot);
        src: url(/css/fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"), url(/css/fonts/fa-solid-900.woff2) format("woff2"), url(/css/fonts/fa-solid-900.woff) format("woff"), url(/css/fonts/fa-solid-900.ttf) format("truetype"), url(/css/fonts/fa-solid-900.svg#fontawesome) format("svg")
    }*/
  /*.fa,
    .far,
    .fas {
        font-family: Font Awesome\ 5 Free
    }
    
    .fa,
    .fas {
        font-weight: 900
    }*/ }
  #footer-container .fab {
    font-family: Font Awesome\ 5 Brands; }
  #footer-container .shariff .fa,
  #footer-container .shariff .fab,
  #footer-container .shariff .fal,
  #footer-container .shariff .far,
  #footer-container .shariff .fas {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1; }
  #footer-container .shariff ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  #footer-container .shariff li {
    max-width: none;
    overflow: hidden; }
    #footer-container .shariff li, #footer-container .shariff li .share_count, #footer-container .shariff li .share_text {
      font-family: "Open Sans", Verdana, "DejaVu Sans", Arial, Helvetica, sans-serif;
      font-size: 1em; }
    #footer-container .shariff li, #footer-container .shariff li a {
      /*height: 35px;*/
      box-sizing: border-box;
      margin: 1px 0; }
    #footer-container .shariff li .fab, #footer-container .shariff li .far, #footer-container .shariff li .fas {
      width: 35px;
      /*line-height: 30px;*/
      text-align: center;
      vertical-align: middle; }
    #footer-container .shariff li .share_count, #footer-container .shariff li .share_text {
      /*line-height: 30px;*/
      text-indent: 0;
      display: inline; }
    #footer-container .shariff li .share_count {
      height: 28px; }
  #footer-container .shariff a {
    color: #fff;
    position: relative;
    display: block;
    text-decoration: none; }
    #footer-container .shariff a span.share_text {
      padding-left: 5px; }
  #footer-container .shariff:after, #footer-container .shariff:before {
    content: " ";
    display: table; }
  #footer-container .shariff .facebook a {
    background-color: #3b5998; }
    #footer-container .shariff .facebook a:hover {
      background-color: #4273c8; }
  #footer-container .shariff .facebook .fa-facebook-f {
    font-size: 19px;
    margin-left: -5px;
    margin-right: 5px; }
    #footer-container .shariff .facebook .fa-facebook-f:before {
      content: "\F39E"; }
  #footer-container .shariff .googleplus a {
    background-color: #d34836; }
    #footer-container .shariff .googleplus a:hover {
      background-color: #f75b44; }
  #footer-container .shariff .googleplus .fa-google-plus-g {
    font-size: 19px; }
    #footer-container .shariff .googleplus .fa-google-plus-g:before {
      content: "\F0D5"; }
  #footer-container .shariff .shariff-button a {
    text-align: center;
    width: 170px; }
    @media screen and (max-width: 39.9375em) {
      #footer-container .shariff .shariff-button a {
        display: inline-block; } }
    @media print, screen and (min-width: 40em) {
      #footer-container .shariff .shariff-button a {
        text-align: left;
        width: auto; } }
  #footer-container .shariff .orientation-horizontal.button-style-standard li {
    width: auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto; }

.google_ad {
  background-color: #fefefe;
  margin-top: 1rem;
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 64em) {
    .google_ad {
      margin-top: 1rem;
      margin-bottom: 1rem; } }
  .google_ad .standard-top, .google_ad .homepage-main, .google_ad .standard-bot, .google_ad .contact-top, .google_ad .footer {
    height: 90px;
    display: block; }
  .google_ad.list_view {
    padding-top: 1rem;
    margin-top: 0;
    border-top: solid 1px #ccc; }
  .google_ad .nom-center {
    text-align: center; }

.single-post .google_ad, .blog .google_ad, .archive .google_ad, .error404 .google_ad {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem; }
  .single-post .google_ad, .single-post .google_ad ins.adsbygoogle, .blog .google_ad, .blog .google_ad ins.adsbygoogle, .archive .google_ad, .archive .google_ad ins.adsbygoogle, .error404 .google_ad, .error404 .google_ad ins.adsbygoogle {
    background-color: #f1f1f1; }

ins.adsbygoogle {
  background-color: #fefefe; }

/*!
Chosen, a Select Box Enhancer for jQuery and Prototype
by Patrick Filler for Harvest, http://getharvest.com

Version 1.8.3
Full source at https://github.com/harvesthq/chosen
Copyright (c) 2011-2018 Harvest http://getharvest.com

MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
This file is generated by `grunt build`, do not edit it by hand.
*/
/* @group Base */
.chosen-container {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  /*font-size: 13px;*/
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.chosen-container * {
  box-sizing: border-box; }

.chosen-container .chosen-drop {
  position: absolute;
  top: 100%;
  z-index: 1010;
  width: 100%;
  /*border: 1px solid #aaa;*/
  border-top: 0;
  /*background: #fff;*/
  /*  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);*/
  display: none; }

.chosen-container.chosen-with-drop .chosen-drop {
  display: block; }

.chosen-container a {
  cursor: pointer; }

.chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name {
  margin-right: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: normal;
  /*color: #999999;*/ }

.chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after {
  content: ":";
  padding-left: 2px;
  vertical-align: top; }

/* @end */
/* @group Single Chosen */
.chosen-container-single .chosen-single {
  position: relative;
  display: block;
  overflow: hidden;
  /*padding: 0 0 0 8px;*/
  /*height: 25px;*/
  /*  border: 1px solid #aaa;
  border-radius: 5px;
  background-color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #fff), color-stop(50%, #f6f6f6), color-stop(52%, #eee), to(#f4f4f4));
  background: linear-gradient(#fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%);*/
  background-clip: padding-box;
  /*  -webkit-box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
  color: #444;*/
  text-decoration: none;
  white-space: nowrap;
  /*line-height: 24px;*/
  margin-right: -20px; }

.chosen-container-single .chosen-single input[type="text"] {
  cursor: pointer;
  /*opacity: 0;*/
  position: absolute;
  left: -9999px;
  /*display: none;*/ }

.chosen-container-single .chosen-default {
  /*color: #999;*/ }

.chosen-container-single .chosen-single span {
  display: block;
  overflow: hidden;
  /*margin-right: 26px;*/
  text-overflow: ellipsis;
  white-space: nowrap; }

.chosen-container-single .chosen-single-with-deselect span {
  /*margin-right: 38px;*/ }

.chosen-container-single .chosen-single abbr {
  position: absolute;
  /*  top: 6px;
  right: 26px;*/
  display: block;
  /*  width: 12px;
  height: 12px;*/
  background: url("../../images/chosen-sprite.png") -42px 1px no-repeat;
  /*font-size: 1px;*/ }

.chosen-container-single .chosen-single abbr:hover {
  /*background-position: -42px -10px;*/ }

.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
  /*background-position: -42px -10px;*/ }

.chosen-container-single .chosen-single div {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  /*width: 18px;*/
  height: 100%; }

.chosen-container-single .chosen-single div b {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../../images/chosen-sprite.png") no-repeat 0px 2px; }

.chosen-container-single .chosen-search {
  position: relative;
  z-index: 1010;
  margin: 0;
  padding: 0.1rem 1.3rem;
  white-space: nowrap;
  margin-bottom: 0.5rem; }
  .chosen-container-single .chosen-search i {
    font-size: 1.3rem;
    position: absolute;
    right: 1.6rem;
    top: 0.02rem;
    color: #606060; }

.chosen-container-single .chosen-search input[type="text"] {
  margin: 1px 0;
  padding: 4px 20px 4px 5px;
  width: 100%;
  height: auto;
  outline: 0;
  /*border: 1px solid #aaa;*/
  /*background: url("../../images/chosen-sprite.png") no-repeat 100% -20px;*/
  /*font-size: 1em;*/
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0; }

.chosen-container-single .chosen-drop {
  margin-top: -1px;
  /*border-radius: 0 0 4px 4px;*/
  background-clip: padding-box; }

.chosen-container-single.chosen-container-single-nosearch .chosen-search {
  position: absolute;
  clip: rect(0, 0, 0, 0); }

/* @end */
/* @group Results */
.chosen-container .chosen-results {
  /*color: #444;*/
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  /*margin: 0 4px 4px 0;*/
  /*padding: 0 0 0 4px;*/
  max-height: 240px;
  -webkit-overflow-scrolling: touch; }

.chosen-container .chosen-results li {
  display: none;
  margin: 0;
  /*padding: 5px 6px;*/
  list-style: none;
  /*line-height: 15px;*/
  word-wrap: break-word;
  -webkit-touch-callout: none; }

.chosen-container .chosen-results li.active-result {
  display: list-item;
  cursor: pointer; }

.chosen-container .chosen-results li.disabled-result {
  display: list-item;
  /*color: #ccc;*/
  cursor: default; }

.chosen-container .chosen-results li.highlighted {
  /*background-color: #3875d7;*/
  /*background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));*/
  /*background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);*/
  /*color: #fff;*/ }

.chosen-container .chosen-results li.no-results {
  color: #777;
  display: list-item;
  background: #f4f4f4;
  margin-left: 0;
  margin-right: 1.3rem; }
  .chosen-container .chosen-results li.no-results span {
    text-decoration: underline; }

.chosen-container .chosen-results li.group-result {
  display: list-item;
  font-weight: bold;
  cursor: default; }

.chosen-container .chosen-results li.group-option {
  /*padding-left: 15px;*/ }

.chosen-container .chosen-results li em {
  font-style: normal;
  text-decoration: underline; }

/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
  position: relative;
  overflow: hidden;
  margin: 0;
  /*padding: 0 5px;*/
  width: 100%;
  height: auto;
  /*border: 1px solid #aaa;*/
  /*background-color: #fff;*/
  /*background-image: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #eee), color-stop(15%, #fff));*/
  /*background-image: linear-gradient(#eee 1%, #fff 15%);*/
  cursor: text; }

.chosen-container-multi .chosen-choices li {
  float: left;
  list-style: none; }

.chosen-container-multi .chosen-choices li.search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap; }

.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
  /*margin: 1px 0;*/
  padding: 0;
  /*height: 25px;*/
  outline: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none;
  /*color: #999;*/
  font-size: 100%;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0;
  /*width: 25px;*/ }

.chosen-container-multi .chosen-choices li.search-choice {
  position: relative;
  /*margin: 3px 5px 3px 0;*/
  /*padding: 3px 20px 3px 5px;*/
  /*border: 1px solid #aaa;*/
  max-width: 100%;
  /*border-radius: 3px;*/
  /*background-color: #eeeeee;*/
  /*background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), to(#eee));*/
  /*background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);*/
  /*background-size: 100% 19px;*/
  background-repeat: repeat-x;
  background-clip: padding-box;
  /*-webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);*/
  /*box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);*/
  /*color: #333;*/
  /*line-height: 13px;*/
  cursor: default; }

.chosen-container-multi .chosen-choices li.search-choice span {
  word-wrap: break-word; }

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  position: absolute;
  /*top: 4px;*/
  /*right: 3px;*/
  display: block;
  /*width: 12px;*/
  /*height: 12px;*/
  background: url("../../images/chosen-sprite.png") -42px 1px no-repeat;
  /*font-size: 1px;*/ }

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
  background-position: -42px -10px; }

.chosen-container-multi .chosen-choices li.search-choice-disabled {
  /*padding-right: 5px;*/
  /*border: 1px solid #ccc;*/
  /*background-color: #e4e4e4;*/
  /*background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), to(#eee));*/
  /*background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);*/
  /*color: #666;*/ }

.chosen-container-multi .chosen-choices li.search-choice-focus {
  /*background: #d4d4d4;*/ }

.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
  background-position: -42px -10px; }

.chosen-container-multi .chosen-results {
  margin: 0;
  padding: 0; }

.chosen-container-multi .chosen-drop .result-selected {
  display: list-item;
  /*color: #ccc;*/
  cursor: default; }

/* @end */
/* @group Active  */
.chosen-container-active .chosen-single {
  /*border: 1px solid #5897fb;*/
  /*-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);*/
  /*box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);*/ }

.chosen-container-active.chosen-with-drop .chosen-single {
  /*border: 1px solid #aaa;*/
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  /*background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #eee), color-stop(80%, #fff));*/
  /*background-image: linear-gradient(#eee 20%, #fff 80%);*/
  /*-webkit-box-shadow: 0 1px 0 #fff inset;*/
  /*box-shadow: 0 1px 0 #fff inset;*/ }

.chosen-container-active.chosen-with-drop .chosen-single div {
  border-left: none;
  background: transparent; }

.chosen-container-active.chosen-with-drop .chosen-single div b {
  /*background-position: -18px 2px;*/ }

.chosen-container-active .chosen-choices {
  /*border: 1px solid #5897fb;*/
  /*-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);*/
  /*box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);*/ }

.chosen-container-active .chosen-choices li.search-field input[type="text"] {
  /*color: #222 !important;*/ }

/* @end */
/* @group Disabled Support */
.chosen-disabled {
  opacity: 0.5 !important;
  cursor: default; }

.chosen-disabled .chosen-single {
  cursor: default; }

.chosen-disabled .chosen-choices .search-choice .search-choice-close {
  cursor: default; }

/* @end */
/* @group Right to Left */
.chosen-rtl {
  text-align: right; }

.chosen-rtl .chosen-single {
  overflow: visible;
  /*padding: 0 8px 0 0;*/ }

.chosen-rtl .chosen-single span {
  margin-right: 0;
  /*margin-left: 26px;*/
  direction: rtl; }

.chosen-rtl .chosen-single-with-deselect span {
  /*margin-left: 38px;*/ }

.chosen-rtl .chosen-single div {
  right: auto;
  /*left: 3px;*/ }

.chosen-rtl .chosen-single abbr {
  right: auto;
  /*left: 26px;*/ }

.chosen-rtl .chosen-choices li {
  float: right; }

.chosen-rtl .chosen-choices li.search-field input[type="text"] {
  direction: rtl; }

.chosen-rtl .chosen-choices li.search-choice {
  /*margin: 3px 5px 3px 0;*/
  /*padding: 3px 5px 3px 19px;*/ }

.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
  right: auto;
  left: 4px; }

.chosen-rtl.chosen-container-single .chosen-results {
  margin: 0 0 4px 4px;
  padding: 0 4px 0 0; }

.chosen-rtl .chosen-results li.group-option {
  padding-right: 15px;
  padding-left: 0; }

.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
  border-right: none; }

.chosen-rtl .chosen-search input[type="text"] {
  padding: 4px 5px 4px 20px;
  background: url("../../images/chosen-sprite.png") no-repeat -30px -20px;
  direction: rtl; }

.chosen-rtl.chosen-container-single .chosen-single div b {
  background-position: 6px 2px; }

.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
  background-position: -12px 2px; }

/* @end */
/* @group Retina compatibility */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
  .chosen-rtl .chosen-search input[type="text"],
  .chosen-container-single .chosen-single abbr,
  .chosen-container-single .chosen-single div b,
  .chosen-container-single .chosen-search input[type="text"],
  .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
  .chosen-container .chosen-results-scroll-down span,
  .chosen-container .chosen-results-scroll-up span {
    background-image: url("../../images/chosen-sprite@2x.png") !important;
    background-size: 52px 37px !important;
    background-repeat: no-repeat !important; } }

/* @end */
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
  transition: transform 0.3s ease-out, opacity 0.3s ease-in; }

.leaflet-cluster-spider-leg {
  /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
  transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in; }

/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0; }

.leaflet-container {
  overflow: hidden; }

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -ms-user-select: none;
      user-select: none;
  -webkit-user-drag: none; }

/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast; }

/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
  -webkit-transform-origin: 0 0; }

.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block; }

/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer {
  max-width: none !important;
  max-height: none !important; }

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y; }

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  /* Fallback for FF which doesn't support pinch-zoom */
  touch-action: none;
  touch-action: pinch-zoom; }

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none; }

.leaflet-container {
  -webkit-tap-highlight-color: transparent; }

.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); }

.leaflet-tile {
  filter: inherit;
  visibility: hidden; }

.leaflet-tile-loaded {
  visibility: inherit; }

.leaflet-zoom-box {
  width: 0;
  height: 0;
  box-sizing: border-box;
  z-index: 800; }

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none; }

.leaflet-pane {
  z-index: 400; }

.leaflet-tile-pane {
  z-index: 200; }

.leaflet-overlay-pane {
  z-index: 400; }

.leaflet-shadow-pane {
  z-index: 500; }

.leaflet-marker-pane {
  z-index: 600; }

.leaflet-tooltip-pane {
  z-index: 650; }

.leaflet-popup-pane {
  z-index: 700; }

.leaflet-map-pane canvas {
  z-index: 100; }

.leaflet-map-pane svg {
  z-index: 200; }

.leaflet-vml-shape {
  width: 1px;
  height: 1px; }

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute; }

/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
  pointer-events: auto; }

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none; }

.leaflet-top {
  top: 0; }

.leaflet-right {
  right: 0; }

.leaflet-bottom {
  bottom: 0; }

.leaflet-left {
  left: 0; }

.leaflet-control {
  float: left;
  clear: both; }

.leaflet-right .leaflet-control {
  float: right; }

.leaflet-top .leaflet-control {
  margin-top: 10px; }

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px; }

.leaflet-left .leaflet-control {
  margin-left: 10px; }

.leaflet-right .leaflet-control {
  margin-right: 10px; }

/* zoom and fade animations */
.leaflet-fade-anim .leaflet-tile {
  will-change: opacity; }

.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  transition: opacity 0.2s linear; }

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1; }

.leaflet-zoom-animated {
  -ms-transform-origin: 0 0;
  transform-origin: 0 0; }

.leaflet-zoom-anim .leaflet-zoom-animated {
  will-change: transform; }

.leaflet-zoom-anim .leaflet-zoom-animated {
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1); }

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  transition: none; }

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden; }

/* cursors */
.leaflet-interactive {
  cursor: pointer; }

.leaflet-grab {
  cursor: -moz-grab; }

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair; }

.leaflet-popup-pane,
.leaflet-control {
  cursor: auto; }

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -moz-grabbing; }

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
  pointer-events: none; }

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive {
  pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
  pointer-events: auto; }

/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline: 0; }

.leaflet-container a {
  color: #0078A8; }

.leaflet-container a.leaflet-active {
  outline: 2px solid orange; }

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5); }

/* general typography */
/*.leaflet-container {
	font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
	}*/
/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px; }

.leaflet-bar a,
.leaflet-bar a:hover {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  /*color: black;*/ }

.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block; }

.leaflet-bar a:hover {
  background-color: #f4f4f4; }

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px; }

.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none; }

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb; }

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px; }

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px; }

/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px 'Lucida Console', Monaco, monospace;
  text-indent: 1px; }

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px; }

/* layers control */
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px; }

.leaflet-control-layers-toggle {
  background-image: url(/images/layers.png);
  width: 36px;
  height: 36px; }

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url(/images/layers-2x.png);
  background-size: 26px 26px; }

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px; }

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none; }

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative; }

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff; }

.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 5px; }

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px; }

.leaflet-control-layers label {
  display: block; }

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px; }

/* Default icon URLs */
.leaflet-default-icon-path {
  background-image: url(/images/marker-icon.png); }

/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.7);
  margin: 0; }

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333; }

.leaflet-control-attribution a {
  text-decoration: none; }

.leaflet-control-attribution a:hover {
  text-decoration: underline; }

.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
  font-size: 11px; }

.leaflet-left .leaflet-control-scale {
  margin-left: 5px; }

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px; }

.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: border-box;
  background: #fff;
  background: rgba(255, 255, 255, 0.5); }

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px; }

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777; }

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none; }

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box; }

/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px; }

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px; }

.leaflet-popup-content {
  margin: 13px 19px;
  line-height: 1.4; }

.leaflet-popup-content p {
  margin: 18px 0; }

.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none; }

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  /*color: #333;*/
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4); }

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 4px 0 0;
  border: none;
  text-align: center;
  width: 18px;
  height: 14px;
  font: 16px/14px Tahoma, Verdana, sans-serif;
  color: #c3c3c3;
  text-decoration: none;
  font-weight: bold;
  background: transparent; }

.leaflet-container a.leaflet-popup-close-button:hover {
  color: #999; }

.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd; }

.leaflet-oldie .leaflet-popup-content-wrapper {
  zoom: 1; }

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); }

.leaflet-oldie .leaflet-popup-tip-container {
  margin-top: -1px; }

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999; }

/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666; }

/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); }

.leaflet-tooltip.leaflet-clickable {
  cursor: pointer;
  pointer-events: auto; }

.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: ""; }

/* Directions */
.leaflet-tooltip-bottom {
  margin-top: 6px; }

.leaflet-tooltip-top {
  margin-top: -6px; }

.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px; }

.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff; }

.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff; }

.leaflet-tooltip-left {
  margin-left: -6px; }

.leaflet-tooltip-right {
  margin-left: 6px; }

.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px; }

.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff; }

.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Open Sans", Verdana, "DejaVu Sans", Arial, Helvetica, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #555;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

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

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' '; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

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

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

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

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

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

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

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

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

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

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

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

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

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

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

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

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

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

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

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

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

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

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

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

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

.small-12 {
  width: 100%; }

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

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

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

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

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

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  float: left;
  margin-right: 0;
  margin-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

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

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Open Sans", Verdana, "DejaVu Sans", Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2.125rem; }
  h2, .h2 {
    font-size: 1.75rem; }
  h3, .h3 {
    font-size: 1.375rem; }
  h4, .h4 {
    font-size: 1.25rem; }
  h5, .h5 {
    font-size: 1.125rem; }
  h6, .h6 {
    font-size: 1rem; } }

@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 2.125rem; }
  h2, .h2 {
    font-size: 1.75rem; }
  h3, .h3 {
    font-size: 1.375rem; }
  h4, .h4 {
    font-size: 1.25rem; }
  h5, .h5 {
    font-size: 1.125rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #555;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #494949; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #555;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  height: 2.5rem; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.5rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

.input-group .input-group-button {
  display: table-cell; }

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

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

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

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

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

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

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

/*@include foundation-accordion;*/
/*@include foundation-accordion-menu;*/
.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #767676;
  color: #fefefe; }
  .badge.primary {
    background: #767676;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #555; }
  .badge.warning {
    background: #ffae00;
    color: #555; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

/*@include foundation-breadcrumbs;*/
.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' '; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:last-child {
      width: 100%; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #555; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #555; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #555; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #555; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

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

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

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu li, .menu.horizontal li {
    display: inline-block; }
  .menu.vertical li {
    display: block; }
  .menu.expanded {
    display: table;
    width: 100%; }
    .menu.expanded > li {
      display: table-cell;
      vertical-align: middle; }
  .menu.simple li + li {
    margin-left: 1rem; }
  .menu.simple a {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal li {
      display: inline-block; }
    .menu.medium-vertical li {
      display: block; }
    .menu.medium-expanded {
      display: table;
      width: 100%; }
      .menu.medium-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.medium-simple {
      display: table;
      width: 100%; }
      .menu.medium-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal li {
      display: inline-block; }
    .menu.large-vertical li {
      display: block; }
    .menu.large-expanded {
      display: table;
      width: 100%; }
      .menu.large-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.large-simple {
      display: table;
      width: 100%; }
      .menu.large-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons img,
  .menu.icons i,
  .menu.icons svg {
    vertical-align: middle; }
    .menu.icons img + span,
    .menu.icons i + span,
    .menu.icons svg + span {
      vertical-align: middle; }
  .menu.icon-top img,
  .menu.icon-top i,
  .menu.icon-top svg, .menu.icon-right img,
  .menu.icon-right i,
  .menu.icon-right svg, .menu.icon-bottom img,
  .menu.icon-bottom i,
  .menu.icon-bottom svg, .menu.icon-left img,
  .menu.icon-left i,
  .menu.icon-left svg {
    vertical-align: middle; }
    .menu.icon-top img + span,
    .menu.icon-top i + span,
    .menu.icon-top svg + span, .menu.icon-right img + span,
    .menu.icon-right i + span,
    .menu.icon-right svg + span, .menu.icon-bottom img + span,
    .menu.icon-bottom i + span,
    .menu.icon-bottom svg + span, .menu.icon-left img + span,
    .menu.icon-left i + span,
    .menu.icon-left svg + span {
      vertical-align: middle; }
  .menu.icon-left li a img,
  .menu.icon-left li a i,
  .menu.icon-left li a svg {
    margin-right: 0.25rem;
    display: inline-block; }
  .menu.icon-right li a img,
  .menu.icon-right li a i,
  .menu.icon-right li a svg {
    margin-left: 0.25rem;
    display: inline-block; }
  .menu.icon-top li a {
    text-align: center; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.icon-bottom li a {
    text-align: center; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      display: block;
      margin: 0.25rem auto 0; }
  .menu .is-active > a {
    background: #767676;
    color: #fefefe; }
  .menu .active > a {
    background: #767676;
    color: #fefefe; }
  .menu.align-left {
    text-align: left; }
  .menu.align-right {
    text-align: right; }
    .menu.align-right .submenu li {
      text-align: left; }
    .menu.align-right.vertical .submenu li {
      text-align: right; }
    .menu.align-right .nested {
      margin-right: 1rem;
      margin-left: 0; }
  .menu.align-center {
    text-align: center; }
    .menu.align-center .submenu li {
      text-align: left; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  text-align: center; }
  .menu-centered > .menu .submenu li {
    text-align: left; }

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

/*@include foundation-menu-icon;
/*@include foundation-drilldown-menu;*/
.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

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

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

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

/*@include foundation-dropdown-menu;*/
/*@include foundation-flex-video;*/
.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #767676;
  color: #fefefe; }
  .label.primary {
    background: #767676;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #555; }
  .label.warning {
    background: #ffae00;
    color: #555; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: block;
  margin-bottom: 1rem; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      display: block; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

/*@include foundation-off-canvas;*/
.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' '; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.625rem 0.8125rem;
    border-radius: 0;
    color: #555; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.625rem 0.8125rem;
    background: #767676;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.625rem 0.8125rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.625rem 0.8125rem;
    content: '\2026';
    color: #555; }

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

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

/*@include foundation-progress-bar;*/
/*@include foundation-slider;*/
/*@include foundation-sticky;*/
body.is-reveal-open {
  overflow: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' '; }
  .tabs::after {
    clear: both; }

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

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

.tabs.primary {
  background: #767676; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #707070; }

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

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

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

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

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

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

.title-bar {
  padding: 0.5rem;
  background: #555;
  color: #fefefe; }
  .title-bar::before, .title-bar::after {
    display: table;
    content: ' '; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left {
  float: left; }

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

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

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #555;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #555;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #555 transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #555;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #555 transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    display: table;
    content: ' '; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }

.top-bar-title {
  display: inline-block;
  float: left;
  padding: 0.5rem 1rem 0.5rem 0; }
  .top-bar-title .menu-icon {
    bottom: 2px; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

html {
  overflow-y: scroll;
  overflow: -moz-scrollbars-vertical; }

a {
  text-decoration: underline; }
  a.button {
    text-decoration: none; }
    a.button > span {
      vertical-align: middle; }
  a:hover {
    text-decoration: none; }
  a.revert-hover {
    text-decoration: none; }
    a.revert-hover:hover {
      text-decoration: underline; }
  a.gt::before {
    content: '\00a0\003e'; }

a[target="_blank"]:not(.no-blank-symbol)::after {
  content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==);
  opacity: 0.6;
  margin: 0 3px 0 5px; }

a:hover:not(.button), a:active:not(.button), a:focus:not(.button) {
  /*text-decoration: underline;*/
  /*text-decoration: none;*/
  /*color: $primary_color;*/ }

select {
  line-height: 1.4rem; }

.item-indent {
  margin-left: 0.8rem;
  position: relative; }
  .item-indent:before {
    content: "\203A";
    position: absolute;
    left: -0.7rem;
    top: -0.2rem;
    font-size: 1.1rem; }

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

.uppercase {
  text-transform: uppercase; }

.underline {
  text-decoration: underline; }

.nopadding-left {
  padding-left: 0; }

.nopadding-right {
  padding-right: 0; }

.nowrap {
  white-space: nowrap; }

h3 {
  overflow-wrap: normal; }

i.font-icon {
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased; }
  i.font-icon:not(.body-font-color) {
    color: #959595; }
  i.font-icon:hover, i.font-icon.active {
    color: #555; }
  i.font-icon.sort.up:before {
    content: "\25b2"; }
  i.font-icon.sort.down:before {
    content: "\25bc"; }
  i.font-icon.sort.both:before {
    content: "\25b2\25bc"; }
  i.font-icon.target-blank:before {
    content: '\29C9'; }
  i.font-icon.circle-1-2-em {
    color: #555;
    border-radius: 50%;
    display: inline-block;
    border: 2px solid #555;
    text-align: center;
    font-weight: 600;
    width: 1.2em;
    height: 1.2em;
    line-height: 1em;
    margin-left: -0.5em;
    margin-right: 0.2rem; }
  i.font-icon.alert {
    color: #cc4b37; }
  i.font-icon.warning {
    color: #ffae00; }

div.nobr, span.nobr {
  display: inline;
  white-space: nowrap; }

ul.button-list {
  list-style: none;
  line-height: 1; }
  ul.button-list li {
    float: left;
    text-align: center; }
    ul.button-list li .fi-icon {
      font-size: 28px; }
    ul.button-list li a.addons, ul.button-list li .fi-icon {
      color: #d77; }
      ul.button-list li a.addons:hover, ul.button-list li .fi-icon:hover {
        color: #c55; }

#map-container {
  position: relative;
  overflow: hidden; }
  #map-container div#info {
    display: none; }
  @media (pointer: coarse) {
    #map-container {
      max-width: 95vw; } }

#map-container.shadows:before {
  content: '';
  position: absolute;
  display: block;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.7);
  z-index: 1000; }

#map-container.shadows:before {
  top: -10px;
  left: 0;
  right: 0;
  height: 10px; }

#map-container.shadows:after {
  right: -10px;
  top: 0;
  bottom: 0;
  width: 10px; }

#map-canvas.shadows:before {
  bottom: -10px;
  left: 0;
  right: 0;
  height: 10px; }

#map-canvas.shadows:after {
  left: -10px;
  top: 0;
  bottom: 0;
  width: 10px; }

@media screen and (max-width: 39.9375em) {
  #map-canvas, #map-canvas-loading {
    height: 450px;
    max-height: 75vh; } }

@media print, screen and (min-width: 40em) {
  #map-canvas, #map-canvas-loading {
    height: 450px; } }

@media print, screen and (min-width: 64em) {
  #map-canvas, #map-canvas-loading {
    height: 600px; } }

div.map_view#map-canvas, div.map_view#map-canvas-loading {
  height: 75vh; }

#map-canvas-loading {
  z-index: 1000;
  position: absolute;
  width: 100%;
  pointer-events: none; }
  #map-canvas-loading div div div.loading {
    display: inline-block;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.75);
    border-radius: 5px;
    padding: 1rem;
    background-color: rgba(255, 255, 255, 0.8); }

.maps_overlay {
  /*position: relative;*/
  top: -450px;
  z-index: 1000;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .maps_overlay {
      position: relative;
      top: -450px; } }
  @media print, screen and (min-width: 64em) {
    .maps_overlay {
      position: relative;
      top: -600px; } }

@media print, screen and (min-width: 40em) {
  .maps_overlay > div {
    position: absolute; } }

#property_search_landing {
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.7); }
  #property_search_landing select, #property_search_landing input[type="submit"], #property_search_landing .chosen-container {
    padding: 0 2.2rem;
    color: #fff;
    border: 0px;
    border-bottom: 1px solid #fff;
    /*border-right: 1px solid #fff;*/
    font-size: 1rem;
    height: 84px;
    margin: 0px;
    width: 245px;
    background: url("../../cheap-home-logos/icons/arrow-bottom.png") no-repeat 90% #303030;
    text-indent: 0.01px;
    text-overflow: "";
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    text-align: left; }
  #property_search_landing .chosen-container .chosen-results::-webkit-scrollbar {
    background-color: #808080; }
  #property_search_landing .chosen-container .chosen-results::-webkit-scrollbar-thumb {
    background-color: #333;
    border: 2px solid #808080; }
  #property_search_landing .chosen-container .chosen-results {
    scrollbar-track-color: #808080;
    scrollbar-face-color: #333;
    scrollbar-arrow-color: #333;
    /*scrollbar-track-color: red;*/ }
  #property_search_landing .chosen-container {
    padding: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    /*        * {
                    border: none;
                }*/ }
    #property_search_landing .chosen-container a {
      background: none;
      padding: 0 2.2rem;
      height: 100%;
      line-height: 84px;
      color: #fff;
      box-shadow: none; }
  #property_search_landing #search_country_chosen .chosen-results li {
    margin-left: 2rem; }
    #property_search_landing #search_country_chosen .chosen-results li.continent, #property_search_landing #search_country_chosen .chosen-results li:first-of-type {
      margin-left: 1rem; }
    #property_search_landing #search_country_chosen .chosen-results li.continent {
      font-weight: bold; }
    #property_search_landing #search_country_chosen .chosen-results li.no-results {
      margin-left: 0; }
  #property_search_landing .chosen-drop {
    background-color: #606060;
    /*        & * {
                    color: #fff;
                }*/ }
    #property_search_landing .chosen-drop .chosen-search-input {
      border: #fff;
      background: #fff;
      /*background-color: #fff;*/
      color: #000;
      padding-left: 1rem; }
    #property_search_landing .chosen-drop .chosen-results li {
      margin-left: 1rem;
      margin-bottom: 0.5rem; }
      #property_search_landing .chosen-drop .chosen-results li.highlighted {
        background-color: #909090;
        background-image: linear-gradient(#333 10%, #444 80%); }
      #property_search_landing .chosen-drop .chosen-results li.no-results {
        color: #000;
        margin-left: 0rem; }
        #property_search_landing .chosen-drop .chosen-results li.no-results span {
          color: #303030; }
  #property_search_landing select:hover, #property_search_landing .chosen-container:hover {
    background-color: #606060; }
  #property_search_landing input[type="submit"].submit-homepage {
    border-bottom: 0px; }
    #property_search_landing input[type="submit"].submit-homepage.pu20k {
      background: url("../../cheap-home-logos/icons/arrow-right.png") no-repeat 90% #db5838; }
    #property_search_landing input[type="submit"].submit-homepage.pu50k {
      background: url("../../cheap-home-logos/icons/arrow-right.png") no-repeat 90% #3f7f9d; }
    #property_search_landing input[type="submit"].submit-homepage.pu99k {
      background: url("../../cheap-home-logos/icons/arrow-right.png") no-repeat 90% #7ea347; }
    #property_search_landing input[type="submit"].submit-homepage.pu100k {
      background: url("../../cheap-home-logos/icons/arrow-right.png") no-repeat 90% #7ea347; }
    #property_search_landing input[type="submit"].submit-homepage.pamp {
      background: url("../../cheap-home-logos/icons/arrow-right.png") no-repeat 90% #d4a11b; }
    #property_search_landing input[type="submit"].submit-homepage.are {
      background: url("../../cheap-home-logos/icons/arrow-right.png") no-repeat 90% #d4a11b; }
    #property_search_landing input[type="submit"].submit-homepage.lp4f {
      background: url("../../cheap-home-logos/icons/arrow-right.png") no-repeat 90% #b33657; }
  #property_search_landing input[type="submit"].submit-homepage.pu20k:hover {
    background-color: #c34f33; }
  #property_search_landing input[type="submit"].submit-homepage.pu50k:hover {
    background-color: #38728d; }
  #property_search_landing input[type="submit"].submit-homepage.pu99k:hover {
    background-color: #6d8d3e; }
  #property_search_landing input[type="submit"].submit-homepage.pu100k:hover {
    background-color: #6d8d3e; }
  #property_search_landing input[type="submit"].submit-homepage.pamp:hover {
    background-color: #c09119; }
  #property_search_landing input[type="submit"].submit-homepage.are:hover {
    background-color: #c09119; }
  #property_search_landing input[type="submit"].submit-homepage.lp4f:hover {
    background-color: #931637; }
  #property_search_landing #search_country {
    text-transform: none; }
    #property_search_landing #search_country .continent {
      font-weight: bold;
      text-transform: none; }

.overlay-box {
  color: #fff; }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .overlay-box {
      font-size: 0.9rem; } }
  @media print, screen and (min-width: 40em) {
    .overlay-box {
      box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.7); } }
  .overlay-box .button {
    padding: 1.6em;
    margin: 0;
    /*height: 6em;*/
    font-size: 1.6em;
    background: url(../../cheap-home-logos/icons/arrow-right.png) no-repeat 90% #b33657;
    background-image: url(../../cheap-home-logos/icons/arrow-right.png);
    border-top: 1px solid #fff; }
    .overlay-box .button:hover {
      background-color: #931637; }
  .overlay-box .close-button {
    color: #ffffff; }
    .overlay-box .close-button:hover {
      color: #999999; }
  .overlay-box .overlay-box-item, .overlay-box .headline {
    background-color: #4A4A4A; }
  .overlay-box .headline {
    padding: 1em 0.5em 1em; }
  .overlay-box .headline, .overlay-box .sub-headline h2 {
    /*font-weight: bold;*/
    font-size: 1.1rem; }
  .overlay-box .sub-headline {
    text-transform: uppercase;
    /*color: $lp4f_color;*/ }
    .overlay-box .sub-headline h2 {
      /*font-size: 150%;*/
      line-height: 1.1; }
  .overlay-box .description {
    overflow: hidden; }
  .overlay-box .overlay-box-item {
    padding: 0.8em 1.6em; }
  .overlay-box.row .row:first-of-type .overlay-box-item {
    padding-top: 1.6rem; }
  .overlay-box.row .row:nth-last-child(1) .overlay-box-item {
    padding-bottom: 1.6rem; }
  @media print, screen and (min-width: 64em) {
    .overlay-box .overlay-box-item {
      padding: 0.9em 1.7em; }
    .overlay-box.row .row:first-of-type .overlay-box-item {
      padding-top: 1.9rem; }
    .overlay-box.row .row:nth-last-child(1) .overlay-box-item {
      padding-bottom: 1.9rem; } }
  .overlay-box .icon {
    float: left;
    /*height: 60px;*/
    /*width: 60px;*/
    position: relative;
    /*display: inline-block;*/
    margin-right: 1em; }

#whats_new_box, #blog_box, #spotlight_box {
  padding: 30px 0 30px;
  color: #fff; }
  #whats_new_box .img-wrap, #blog_box .img-wrap, #spotlight_box .img-wrap {
    display: -ms-flexbox;
    display: flex;
    height: 300px; }
  #whats_new_box .img-wrap-spotlight, #blog_box .img-wrap-spotlight, #spotlight_box .img-wrap-spotlight {
    display: -ms-flexbox;
    display: flex;
    /*height: 284px;*/
    margin-bottom: -16px; }
    #whats_new_box .img-wrap-spotlight img, #blog_box .img-wrap-spotlight img, #spotlight_box .img-wrap-spotlight img {
      min-height: 4rem; }

#spotlight_box .ad-preview-spotlight, #whats_new_box .ad-preview.info-box-container {
  /*display: flex;*/
  width: 300px;
  /*height: 300px;*/
  max-width: 98%; }
  #spotlight_box .ad-preview-spotlight img, #whats_new_box .ad-preview.info-box-container img {
    margin: auto;
    /*position: absolute;*/
    /*height: 300px;*/ }

#spotlight_box {
  background-color: #606060; }
  #spotlight_box .ad-preview-spotlight {
    background-color: #fff; }
    #spotlight_box .ad-preview-spotlight .info-box-bottom {
      height: 20rem;
      max-height: 60vh;
      position: relative;
      top: -3rem;
      background-color: #fff;
      color: #000;
      padding: 1rem;
      overflow: hidden; }
      #spotlight_box .ad-preview-spotlight .info-box-bottom .pty_price {
        font-weight: bold; }
      #spotlight_box .ad-preview-spotlight .info-box-bottom .pty_name {
        font-weight: bold;
        color: #db5838;
        font-size: inherit;
        margin-bottom: 1rem; }
      #spotlight_box .ad-preview-spotlight .info-box-bottom .pty_details {
        color: #555; }
      #spotlight_box .ad-preview-spotlight .info-box-bottom:after {
        content: "";
        position: absolute;
        bottom: 0px;
        left: 0;
        height: 1rem;
        width: 100%;
        background: linear-gradient(rgba(0, 0, 0, 0), #fff); }
  #spotlight_box .read-more {
    position: absolute;
    bottom: 0;
    margin: 1rem;
    z-index: 20; }
    #spotlight_box .read-more a {
      color: #db5838;
      text-decoration: none;
      font-weight: bold; }
      #spotlight_box .read-more a:hover {
        text-decoration: underline; }

#whats_new_box {
  background-color: #303030; }
  #whats_new_box p a {
    color: #fff;
    text-decoration: underline; }
    #whats_new_box p a:hover {
      text-decoration: none; }
  #whats_new_box .description, #whats_new_box .description p a {
    color: #CCCCCC; }
  #whats_new_box .show-for-large .ad-preview.gad {
    height: 315px; }

#blog_box.lp4f {
  background-color: #b33657; }

#blog_box.pu20k {
  background-color: #db5838; }

#blog_box.pu50k {
  background-color: #3f7f9d; }

#blog_box.pu99k {
  background-color: #7ea347; }

#blog_box.pu100k {
  background-color: #7ea347; }

#blog_box.pamp {
  background-color: #d4a11b; }

#blog_box.are {
  background-color: #d4a11b; }

button.slick-disabled {
  cursor: default; }

/*.button-row .button {
    height: 3rem;
}*/
.row .row {
  max-width: 75rem; }

.ad-preview, .blog-preview, .ad-preview-spotlight {
  width: auto;
  max-width: 300px;
  margin-top: 10px;
  margin-bottom: 10px; }
  @media print, screen and (min-width: 40em) {
    .ad-preview, .blog-preview, .ad-preview-spotlight {
      width: 250px;
      /*height: 300px;*/ } }
  @media print, screen and (min-width: 64em) {
    .ad-preview, .blog-preview, .ad-preview-spotlight {
      width: 300px;
      max-width: 300px; } }
  .ad-preview.autowidth, .blog-preview.autowidth, .ad-preview-spotlight.autowidth {
    width: auto; }
  .ad-preview.autoheight, .blog-preview.autoheight, .ad-preview-spotlight.autoheight {
    height: auto; }
  .ad-preview.with-border, .blog-preview.with-border, .ad-preview-spotlight.with-border {
    /*        width: 306px;*/
    /*margin: 10px;*/
    border: rgba(255, 255, 255, 0);
    border-width: 0.3em;
    border-style: solid;
    transition: border-color 0.25s ease-in-out;
    /*transition: opacity 0.25s ease-in-out;*/ }
  .ad-preview.with-outline, .blog-preview.with-outline, .ad-preview-spotlight.with-outline {
    /*        width: 306px;*/
    /*margin: 10px;*/
    outline: rgba(255, 255, 255, 0);
    outline-width: 0.3em;
    outline-style: solid;
    transition: outline-color 0.25s ease-in-out;
    /*transition: opacity 0.25s ease-in-out;*/ }
  .ad-preview, .ad-preview .info-box-container, .ad-preview.info-box-container, .ad-preview .button_container, .ad-preview.button_container, .blog-preview, .blog-preview .info-box-container, .blog-preview.info-box-container, .blog-preview .button_container, .blog-preview.button_container, .ad-preview-spotlight, .ad-preview-spotlight .info-box-container, .ad-preview-spotlight.info-box-container, .ad-preview-spotlight .button_container, .ad-preview-spotlight.button_container {
    position: relative; }
    .ad-preview .vertical_center, .ad-preview .info-box-container .vertical_center, .ad-preview.info-box-container .vertical_center, .ad-preview .button_container .vertical_center, .ad-preview.button_container .vertical_center, .blog-preview .vertical_center, .blog-preview .info-box-container .vertical_center, .blog-preview.info-box-container .vertical_center, .blog-preview .button_container .vertical_center, .blog-preview.button_container .vertical_center, .ad-preview-spotlight .vertical_center, .ad-preview-spotlight .info-box-container .vertical_center, .ad-preview-spotlight.info-box-container .vertical_center, .ad-preview-spotlight .button_container .vertical_center, .ad-preview-spotlight.button_container .vertical_center {
      position: absolute;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
    .ad-preview .vertical_center_1ch:first-child, .ad-preview .info-box-container .vertical_center_1ch:first-child, .ad-preview.info-box-container .vertical_center_1ch:first-child, .ad-preview .button_container .vertical_center_1ch:first-child, .ad-preview.button_container .vertical_center_1ch:first-child, .blog-preview .vertical_center_1ch:first-child, .blog-preview .info-box-container .vertical_center_1ch:first-child, .blog-preview.info-box-container .vertical_center_1ch:first-child, .blog-preview .button_container .vertical_center_1ch:first-child, .blog-preview.button_container .vertical_center_1ch:first-child, .ad-preview-spotlight .vertical_center_1ch:first-child, .ad-preview-spotlight .info-box-container .vertical_center_1ch:first-child, .ad-preview-spotlight.info-box-container .vertical_center_1ch:first-child, .ad-preview-spotlight .button_container .vertical_center_1ch:first-child, .ad-preview-spotlight.button_container .vertical_center_1ch:first-child {
      position: absolute;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  .ad-preview .info-box, .blog-preview .info-box, .ad-preview-spotlight .info-box {
    position: absolute;
    bottom: 0px;
    background-color: rgba(255, 255, 255, 0.9);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
    .ad-preview .info-box .country, .blog-preview .info-box .country, .ad-preview-spotlight .info-box .country {
      color: #db5838;
      font-weight: bold; }
    .ad-preview .info-box .region, .blog-preview .info-box .region, .ad-preview-spotlight .info-box .region {
      color: #606060; }
    .ad-preview .info-box .price, .blog-preview .info-box .price, .ad-preview-spotlight .info-box .price {
      color: #000;
      font-weight: bold; }
    .ad-preview .info-box .name, .blog-preview .info-box .name, .ad-preview-spotlight .info-box .name {
      font-weight: 400;
      line-height: 1rem; }
  .ad-preview:hover div.link a, .ad-preview .read-more a:hover div.link a, .blog-preview:hover div.link a, .blog-preview .read-more a:hover div.link a, .ad-preview-spotlight:hover div.link a, .ad-preview-spotlight .read-more a:hover div.link a {
    color: #494949;
    text-decoration: underline; }
  .ad-preview:hover .button.hover, .ad-preview .read-more a:hover .button.hover, .blog-preview:hover .button.hover, .blog-preview .read-more a:hover .button.hover, .ad-preview-spotlight:hover .button.hover, .ad-preview-spotlight .read-more a:hover .button.hover {
    opacity: 1; }

.ad-preview:hover.lp4f, .ad-preview .read-more a:hover.lp4f, .blog-preview:hover.lp4f, .blog-preview .read-more a:hover.lp4f, .ad-preview-map:hover.lp4f, .ad-preview-map .read-more a:hover.lp4f, .ad-preview-spotlight:hover.lp4f, .ad-preview-spotlight .read-more a:hover.lp4f {
  border-color: #b33657;
  outline-color: #b33657; }

.ad-preview:hover.pu20k, .ad-preview .read-more a:hover.pu20k, .blog-preview:hover.pu20k, .blog-preview .read-more a:hover.pu20k, .ad-preview-map:hover.pu20k, .ad-preview-map .read-more a:hover.pu20k, .ad-preview-spotlight:hover.pu20k, .ad-preview-spotlight .read-more a:hover.pu20k {
  border-color: #db5838;
  outline-color: #db5838; }

.ad-preview:hover.pu50k, .ad-preview .read-more a:hover.pu50k, .blog-preview:hover.pu50k, .blog-preview .read-more a:hover.pu50k, .ad-preview-map:hover.pu50k, .ad-preview-map .read-more a:hover.pu50k, .ad-preview-spotlight:hover.pu50k, .ad-preview-spotlight .read-more a:hover.pu50k {
  border-color: #3f7f9d;
  outline-color: #3f7f9d; }

.ad-preview:hover.pu99k, .ad-preview .read-more a:hover.pu99k, .blog-preview:hover.pu99k, .blog-preview .read-more a:hover.pu99k, .ad-preview-map:hover.pu99k, .ad-preview-map .read-more a:hover.pu99k, .ad-preview-spotlight:hover.pu99k, .ad-preview-spotlight .read-more a:hover.pu99k {
  border-color: #7ea347;
  outline-color: #7ea347; }

.ad-preview:hover.pu100k, .ad-preview .read-more a:hover.pu100k, .blog-preview:hover.pu100k, .blog-preview .read-more a:hover.pu100k, .ad-preview-map:hover.pu100k, .ad-preview-map .read-more a:hover.pu100k, .ad-preview-spotlight:hover.pu100k, .ad-preview-spotlight .read-more a:hover.pu100k {
  border-color: #7ea347;
  outline-color: #7ea347; }

.ad-preview:hover.pamp, .ad-preview .read-more a:hover.pamp, .blog-preview:hover.pamp, .blog-preview .read-more a:hover.pamp, .ad-preview-map:hover.pamp, .ad-preview-map .read-more a:hover.pamp, .ad-preview-spotlight:hover.pamp, .ad-preview-spotlight .read-more a:hover.pamp {
  border-color: #d4a11b;
  outline-color: #d4a11b; }

.ad-preview:hover.are, .ad-preview .read-more a:hover.are, .blog-preview:hover.are, .blog-preview .read-more a:hover.are, .ad-preview-map:hover.are, .ad-preview-map .read-more a:hover.are, .ad-preview-spotlight:hover.are, .ad-preview-spotlight .read-more a:hover.are {
  border-color: #d4a11b;
  outline-color: #d4a11b; }

.ad-preview.info-box-container {
  /*    display: flex;*/ }

.absLinkParent {
  position: relative; }

a.divLink, a.absLink {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  text-decoration: none;
  /* Makes sure the link doesn't get underlined */
  z-index: 10;
  /* raises anchor tag above everything else in div */
  background-color: white;
  /*workaround to make clickable in IE */
  opacity: 0;
  /*workaround to make clickable in IE */
  filter: alpha(opacity=0);
  /*workaround to make clickable in IE */ }

.blog-preview {
  background-color: #fff;
  padding: 2rem;
  color: #000;
  max-width: none;
  width: auto;
  margin: 0.5rem;
  /*height: auto;*/
  overflow: hidden;
  height: 300px;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .blog-preview {
      height: 400px; } }
  .blog-preview img {
    float: left;
    margin-right: 1rem;
    width: 70px;
    height: 70px; }
    .blog-preview img.wp-post-image {
      border-radius: 35px; }
  .blog-preview header {
    float: left;
    width: 50%; }
    @media print, screen and (min-width: 64em) {
      .blog-preview header {
        width: 70%; } }
    .blog-preview header h2 {
      font-size: 1rem;
      /*            a {
                            color: $pu20k_color;
                        }*/ }
    .blog-preview header time {
      font-weight: bold;
      /*font-size: 0.9rem;*/
      color: #666; }
  .blog-preview .entry-title {
    font-weight: bold; }
  .blog-preview .entry-content {
    clear: both;
    padding-top: 0.8rem; }
    .blog-preview .entry-content h2, .blog-preview .entry-content h3, .blog-preview .entry-content h4 {
      line-height: 1.6;
      font-size: 1rem;
      font-weight: bold; }
  .blog-preview:not(.button_container):after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    height: 3rem;
    width: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0), #fff); }
  .blog-preview.button_container {
    background: none; }
  .blog-preview .read-more {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    padding: 0.5rem;
    z-index: 15;
    box-shadow: 0 0 4rem 2rem white;
    background-color: white; }
    .blog-preview .read-more a {
      text-transform: uppercase;
      transition: all 0.25s;
      font-weight: bold; }
      .blog-preview .read-more a:hover {
        font-size: 1.1em; }
    .blog-preview .read-more:hover a {
      font-size: 1.1em; }
  .blog-preview .divLink:hover {
    /*opacity: 0.3;*/ }
    .blog-preview .divLink:hover ~ .read-more a {
      font-size: 1.1em; }

.button.lp4f {
  background: #b33657; }
  .button.lp4f:hover {
    background: #931637; }

.button.pu20k {
  background: #db5838; }
  .button.pu20k:hover {
    background: #c34f33; }

.button.pu50k {
  background: #3f7f9d; }
  .button.pu50k:hover {
    background: #38728d; }

.button.pu99k {
  background: #7ea347; }
  .button.pu99k:hover {
    background: #6d8d3e; }

.button.pu100k {
  background: #7ea347; }
  .button.pu100k:hover {
    background: #6d8d3e; }

.button.pamp {
  background: #d4a11b; }
  .button.pamp:hover {
    background: #c09119; }

.button.are {
  background: #d4a11b; }
  .button.are:hover {
    background: #c09119; }

.button.no-bg-color {
  background-color: white;
  color: #767676;
  text-decoration: none; }
  .button.no-bg-color:hover {
    background-color: none;
    color: #666;
    /*text-decoration: none;*/ }

.button.bigger-font {
  font-size: 1.2em; }

.button.add-margin-top {
  margin-top: 1rem; }

@media screen and (min-width: 40em) {
  .button.medium-add-margin-right {
    margin-right: 1rem; } }

.ad-preview .button {
  margin-top: 10px;
  width: 100%;
  text-transform: uppercase; }

.blog-preview .button {
  width: 100%;
  background: white;
  transition: background-color 0.25s ease-in-out;
  color: black;
  text-transform: uppercase; }
  .blog-preview .button:hover {
    background: #bdbdbd; }

ul.slick-dots {
  margin-left: 0px; }
  ul.slick-dots li button:before, ul.slick-dots li.slick-active button:before {
    color: white; }
  @media screen and (max-width: 39.9375em) {
    ul.slick-dots li, ul.slick-dots li.slick-active {
      margin: 0; } }

.h1_row .button, .h1_row .button-group {
  outline: white solid 5px;
  margin: 0 0 0 5px; }

@media screen and (max-width: 39.9375em) {
  .h1_row a.button ~ h1.page-title-v1, .h1_row div.button-group ~ h1.page-title-v1 {
    margin-top: 0.5rem; } }

h1.page-title {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #666;
  /*color: #666;*/ }
  h1.page-title.has-sub {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    h1.page-title {
      margin-bottom: 2rem; } }

h1.page-title-v1 {
  float: left;
  margin-bottom: 0;
  border-bottom: none; }

.h1_row.no-sub h1.page-title-v1 + div.horizontal-line {
  margin-bottom: 1.5rem; }

h1.page-title-v1 + div.horizontal-line {
  clear: both; }

.page-title-container.has-icon {
  margin-top: 1.4rem;
  position: relative; }
  .page-title-container.has-icon > i {
    font-size: 1.7rem;
    display: none;
    margin-bottom: -0.5em;
    position: absolute;
    top: -0.6rem;
    left: 1rem; }
    @media print, screen and (min-width: 40em) {
      .page-title-container.has-icon > i {
        font-size: 1.95rem;
        display: block; } }
  .page-title-container.has-icon h1, .page-title-container.has-icon div.sub {
    /*padding-left: 4.5rem;*/ }
    @media print, screen and (min-width: 40em) {
      .page-title-container.has-icon h1, .page-title-container.has-icon div.sub {
        padding-left: 5rem; } }

div.search-crumb, .page-title-container div.sub {
  margin-bottom: 1.5rem; }

div.horizontal-line {
  border-bottom: 1px solid #666;
  height: 0;
  width: 100%; }

.captcha img {
  max-width: none; }
  .captcha img.captcha-image {
    /*height: 100%;*/
    margin-right: 0.5rem;
    border: 1px solid #cacaca; }
  .captcha img.refresh {
    opacity: 0.6; }
    .captcha img.refresh:hover {
      opacity: 1; }

.captcha .form-error {
  padding-top: 1rem; }

.captcha .input-group-label {
  border: none;
  background: none;
  vertical-align: top; }

.captcha div {
  display: table-caption;
  caption-side: bottom; }
  .captcha div div {
    display: inline; }

.button i {
  font-size: 1.4rem;
  height: 1.4rem;
  vertical-align: middle; }

.tabs-title > a {
  padding: 0.75rem 1.25rem; }

.tabs-title i {
  margin-right: 0.5rem;
  font-size: 2rem;
  vertical-align: middle; }

.callout {
  /*min-height: 5rem;*/ }
  .callout i {
    font-size: 2rem;
    padding-right: 0.5rem;
    vertical-align: sub;
    line-height: 2rem; }
  .callout.success i {
    color: green; }

.button, .button.secondary, .secondary .button {
  text-transform: uppercase;
  font-size: 0.89rem; }

.view-menu {
  display: inline-block;
  vertical-align: middle; }
  .view-menu li a {
    padding: 0.95rem 0.5rem 0.5rem 0.5rem;
    color: #888;
    font-weight: bold; }
    .view-menu li a.id {
      font-size: 1.3rem;
      text-decoration: none; }
    .view-menu li a i {
      font-size: 1.7rem; }
    .view-menu li a:hover, .view-menu li a.active {
      color: #555;
      text-decoration: none; }

.search-container .top-line, .my-properties-sort .top-line, .my-search-alerts .top-line, .header-line .top-line, .pagination .top-line {
  padding-top: 0rem; }
  @media print, screen and (min-width: 40em) {
    .search-container .top-line, .my-properties-sort .top-line, .my-search-alerts .top-line, .header-line .top-line, .pagination .top-line {
      padding-top: 1.05rem; } }

.my-addons-sort .top-line {
  padding-top: 1.05rem;
  padding-bottom: 1.05rem; }

.search-container, .my-properties-sort, .my-addons-sort, .my-search-alerts, .header-line, .pagination {
  background-color: #F6F1F1; }
  .search-container select, .search-container textarea, .my-properties-sort select, .my-properties-sort textarea, .my-addons-sort select, .my-addons-sort textarea, .my-search-alerts select, .my-search-alerts textarea, .header-line select, .header-line textarea, .pagination select, .pagination textarea {
    margin-bottom: 0.2rem; }
  @media print, screen and (min-width: 40em) {
    .search-container .bottom-line, .my-properties-sort .bottom-line, .my-addons-sort .bottom-line, .my-search-alerts .bottom-line, .header-line .bottom-line, .pagination .bottom-line {
      padding-bottom: 1.05rem; } }
  .search-container .view-header select, .search-container.view-header select, .my-properties-sort .view-header select, .my-properties-sort.view-header select, .my-addons-sort .view-header select, .my-addons-sort.view-header select, .my-search-alerts .view-header select, .my-search-alerts.view-header select, .header-line .view-header select, .header-line.view-header select, .pagination .view-header select, .pagination.view-header select {
    margin-top: 0.6rem; }

.search-container .search-label, .my-properties-sort .search-label, .my-search-alerts .search-label, .header-line .search-label, .pagination .search-label {
  /*padding-left: 1rem;*/
  padding-right: 0.2rem;
  display: inline-block;
  position: relative;
  top: 0.3rem; }

.search-container input[type="checkbox"], .my-properties-sort input[type="checkbox"], .my-search-alerts input[type="checkbox"], .header-line input[type="checkbox"], .pagination input[type="checkbox"] {
  margin-bottom: 0.5rem; }

.search-container .section, .my-properties-sort .section, .my-search-alerts .section, .header-line .section, .pagination .section {
  border-top: solid 1px #ccc; }

.search-container .input-grey-first-line option, .search-container .input-grey-first-line optgroup, .my-properties-sort .input-grey-first-line option, .my-properties-sort .input-grey-first-line optgroup, .my-search-alerts .input-grey-first-line option, .my-search-alerts .input-grey-first-line optgroup, .header-line .input-grey-first-line option, .header-line .input-grey-first-line optgroup, .pagination .input-grey-first-line option, .pagination .input-grey-first-line optgroup {
  color: #000; }

.search-container .nolabel, .my-properties-sort .nolabel, .my-search-alerts .nolabel, .header-line .nolabel, .pagination .nolabel {
  margin-top: 1.25rem; }

.search-container .top, .my-properties-sort .top, .my-search-alerts .top, .header-line .top, .pagination .top {
  padding-top: 0.7rem; }

.search-container .empty, .my-properties-sort .empty, .my-search-alerts .empty, .header-line .empty, .pagination .empty {
  color: #ccc; }

.search-container .chosen-container, .my-properties-sort .chosen-container, .my-search-alerts .chosen-container, .header-line .chosen-container, .pagination .chosen-container {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #555;
  background-color: #fefefe;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.5rem; }
  @media screen and (min-width: 0\0) {
    .search-container .chosen-container, .my-properties-sort .chosen-container, .my-search-alerts .chosen-container, .header-line .chosen-container, .pagination .chosen-container {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  .search-container .chosen-container:disabled, .my-properties-sort .chosen-container:disabled, .my-search-alerts .chosen-container:disabled, .header-line .chosen-container:disabled, .pagination .chosen-container:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  .search-container .chosen-container::-ms-expand, .my-properties-sort .chosen-container::-ms-expand, .my-search-alerts .chosen-container::-ms-expand, .header-line .chosen-container::-ms-expand, .pagination .chosen-container::-ms-expand {
    display: none; }
  .search-container .chosen-container[multiple], .my-properties-sort .chosen-container[multiple], .my-search-alerts .chosen-container[multiple], .header-line .chosen-container[multiple], .pagination .chosen-container[multiple] {
    height: auto;
    background-image: none; }
  .search-container .chosen-container .chosen-drop, .my-properties-sort .chosen-container .chosen-drop, .my-search-alerts .chosen-container .chosen-drop, .header-line .chosen-container .chosen-drop, .pagination .chosen-container .chosen-drop {
    background-color: #fff;
    margin-left: -8px;
    border: 1px solid #cacaca; }
  .search-container .chosen-container#search_country_chosen .chosen-results li, .my-properties-sort .chosen-container#search_country_chosen .chosen-results li, .my-search-alerts .chosen-container#search_country_chosen .chosen-results li, .header-line .chosen-container#search_country_chosen .chosen-results li, .pagination .chosen-container#search_country_chosen .chosen-results li {
    margin-left: 1rem; }
    .search-container .chosen-container#search_country_chosen .chosen-results li.continent, .search-container .chosen-container#search_country_chosen .chosen-results li:first-of-type, .my-properties-sort .chosen-container#search_country_chosen .chosen-results li.continent, .my-properties-sort .chosen-container#search_country_chosen .chosen-results li:first-of-type, .my-search-alerts .chosen-container#search_country_chosen .chosen-results li.continent, .my-search-alerts .chosen-container#search_country_chosen .chosen-results li:first-of-type, .header-line .chosen-container#search_country_chosen .chosen-results li.continent, .header-line .chosen-container#search_country_chosen .chosen-results li:first-of-type, .pagination .chosen-container#search_country_chosen .chosen-results li.continent, .pagination .chosen-container#search_country_chosen .chosen-results li:first-of-type {
      margin-left: 0rem; }
    .search-container .chosen-container#search_country_chosen .chosen-results li.continent, .my-properties-sort .chosen-container#search_country_chosen .chosen-results li.continent, .my-search-alerts .chosen-container#search_country_chosen .chosen-results li.continent, .header-line .chosen-container#search_country_chosen .chosen-results li.continent, .pagination .chosen-container#search_country_chosen .chosen-results li.continent {
      font-weight: bold; }
    .search-container .chosen-container#search_country_chosen .chosen-results li.no-results, .my-properties-sort .chosen-container#search_country_chosen .chosen-results li.no-results, .my-search-alerts .chosen-container#search_country_chosen .chosen-results li.no-results, .header-line .chosen-container#search_country_chosen .chosen-results li.no-results, .pagination .chosen-container#search_country_chosen .chosen-results li.no-results {
      margin-left: 0; }
    .search-container .chosen-container#search_country_chosen .chosen-results li.highlighted, .my-properties-sort .chosen-container#search_country_chosen .chosen-results li.highlighted, .my-search-alerts .chosen-container#search_country_chosen .chosen-results li.highlighted, .header-line .chosen-container#search_country_chosen .chosen-results li.highlighted, .pagination .chosen-container#search_country_chosen .chosen-results li.highlighted {
      background-color: #909090;
      background-image: linear-gradient(#ccc 10%, #ddd 80%); }

.input-grey-first-line option, .input-grey-first-line optgroup {
  color: #000; }

.input-grey-first-line.empty {
  color: #ccc; }

.bold {
  font-weight: bold; }

.rounded-label {
  padding: 0.1rem 0.8rem 0.1rem 0.8rem;
  border-radius: 10rem;
  background-color: #777;
  color: white; }

.gallery_view .addon-spotlight {
  background-color: #fdf0be; }
  .gallery_view .addon-spotlight .ad-preview .info-box {
    background-color: rgba(253, 240, 190, 0.9); }

.gallery_view .tile {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border: white;
  border-width: 0.3em;
  border-style: solid; }

.property-list-element {
  overflow-wrap: break-word; }
  .property-list-element:not(:first-child) > div:first-child {
    border-top: solid 1px #ccc; }
  .property-list-element > div:first-child {
    /*padding-bottom: 1rem;*/
    padding-top: 1rem;
    transition: background-color 0.25s ease-in-out; }
    .property-list-element > div:first-child .fi-arrow-right {
      font-size: 2rem;
      /*margin-top: 3rem;*/
      margin-bottom: 0; }
    .property-list-element > div:first-child:hover {
      background-color: #eee; }
    .property-list-element > div:first-child.addon-spotlight {
      background-color: #fdf0be; }
      .property-list-element > div:first-child.addon-spotlight:hover {
        background-color: #fdea9f; }
  .property-list-element .sub-info {
    border-left: solid 2px #ccc;
    margin-left: 1rem;
    margin-right: -2rem;
    margin-bottom: 1rem;
    padding-left: 0.7rem !important; }
    @media screen and (max-width: 39.9375em) {
      .property-list-element .sub-info {
        margin-bottom: 0.5rem; } }
    @media print, screen and (min-width: 40em) {
      .property-list-element .sub-info {
        /*margin-left: -0.3rem;*/ } }
    .property-list-element .sub-info div.locality {
      max-height: 3.2rem;
      overflow: hidden; }
  .property-list-element h3 {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.2rem; }
    .property-list-element h3.subtitle {
      text-transform: none;
      color: #db5838; }
  @media screen and (max-width: 39.9375em) {
    .property-list-element h2 {
      font-weight: bold; }
    .property-list-element h3 {
      margin-bottom: 0; } }
  .property-list-element .price {
    /*color: $pu20k_color;*/ }
  .property-list-element .property-name-subtitle-container {
    min-height: 2.5rem; }
    @media print, screen and (min-width: 40em) {
      .property-list-element .property-name-subtitle-container {
        min-height: 5rem; } }
    @media print, screen and (min-width: 64em) {
      .property-list-element .property-name-subtitle-container {
        min-height: 7.3rem; } }
  .property-list-element .Hidden, .property-list-element .Inactive, .property-list-element .Unverified {
    color: red; }
  .property-list-element .Active {
    color: green; }
  .property-list-element .action-buttons li > a > div {
    display: table;
    width: 100%;
    height: 29px; }
    .property-list-element .action-buttons li > a > div div {
      display: table-cell;
      vertical-align: middle; }
  .property-list-element .action-buttons a {
    text-decoration: none; }
  .property-list-element .action-buttons ul {
    display: inline-block;
    margin: 0; }
    .property-list-element .action-buttons ul li {
      width: 80px;
      height: 55px; }
      @media print, screen and (min-width: 40em) {
        .property-list-element .action-buttons ul li {
          width: 100px; } }
  .property-list-element .row .row.collapse.thumbnail-small-container {
    margin-left: -0.2rem;
    margin-right: -0.2rem;
    margin-top: 0.1rem;
    margin-bottom: 0.7rem; }
    .property-list-element .row .row.collapse.thumbnail-small-container img.thumbnail-small {
      /*margin-bottom: 1rem;*/
      /*            padding-right: 0.2rem;
            padding-top: 0.2rem;
            padding-bottom: 0.5rem;*/
      padding: 0.2rem; }
  .property-list-element .addon_button_container i.fi-shopping-cart.badge {
    display: none; }
  .property-list-element .addon_button_container.in_cart i.fi-shopping-cart.badge {
    display: inline;
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1rem;
    min-width: auto;
    font-size: 0.95rem;
    position: absolute;
    margin-left: -0.3rem;
    margin-top: -0.3rem;
    opacity: 0.9; }
  .property-list-element .subtitle_missing {
    margin-bottom: 1rem; }
    .property-list-element .subtitle_missing a {
      color: #db5838; }
  .property-list-element .thumb-container {
    position: relative;
    display: inline-block; }
    .property-list-element .thumb-container .badge-container {
      position: absolute;
      text-align: right;
      right: -0.4rem;
      top: -0.4rem; }

.pagination .secondary {
  background-color: #5f5f5f; }

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

.pagination select {
  width: auto;
  height: auto;
  /*margin: $pagination-item-padding;*/
  padding: 0.1rem 0.9rem 0.1rem 0.1rem;
  font-size: 0.875rem;
  background-position: right -0.6rem center;
  margin: 0 0.5rem 0 -0.5rem; }

.pagination span {
  display: inline-block;
  margin: 0.625rem 0.8125rem; }

.pagination.items_per_page {
  margin-top: -1.5rem; }

.modal_title, .modal_title h2, #set_alert_dialog, #set_alert_dialog h2 {
  padding-bottom: 0.2em;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 0.4em; }

#set_alert_dialog label {
  font-size: 100%; }

#set_alert_dialog .block {
  margin: 5px 5px; }

#set_alert_dialog .ff-lines {
  padding-left: 25px; }

#set_alert_dialog input[type="radio"] {
  margin-bottom: 0; }

#set_alert_dialog .disabled, #set_alert_dialog .disabled label, #set_alert_dialog .disabled input, #set_alert_dialog .disabled select {
  color: #999999; }

#set_alert_dialog ul {
  list-style: none;
  margin: 0.8em 0.2em 0 0.2em;
  padding: 1em 0;
  border-top: 1px solid #cccccc; }
  #set_alert_dialog ul li:before {
    content: "\2713\0020";
    color: #008800;
    font-weight: bold; }
  #set_alert_dialog ul li {
    text-indent: -1.2em;
    padding-left: 1.2em; }

#search_form {
  margin-bottom: 1rem; }
  #search_form .button_row .button-group a {
    max-height: 3rem; }
  #search_form #my_alerts i.icon-email_alert_grey {
    width: 23px;
    height: 22px; }
  #search_form .dropdown-pane {
    z-index: 1010; }

label select, label input[type="text"], label > input[type="email"],
label > input[type="password"], label + .input-group,
label > textarea, label > input[type="submit"],
label > input[type="number"],
#search_form .chosen-container {
  margin-top: -5px; }

.thumbs-slick-container {
  padding: 0 1.5rem 0 1.5rem; }
  .thumbs-slick-container .slick-initialized .slick-slide {
    float: none;
    display: inline-block;
    vertical-align: middle; }
  .thumbs-slick-container .slick-slider {
    margin-bottom: 0; }
    .thumbs-slick-container .slick-slider .slick-slide {
      opacity: 0.25; }
      .thumbs-slick-container .slick-slider .slick-slide.slick-current {
        opacity: 1; }
  .thumbs-slick-container img.thumbnail_v2 {
    margin: 0.11rem; }
  @media print, screen and (min-width: 64em) {
    .thumbs-slick-container #thumbs-slick {
      min-height: 400px; } }
  .thumbs-slick-container #thumbs-slick .thumbnail {
    margin: 0; }
  .thumbs-slick-container #thumbs-slick .slide-frame {
    /*padding: 2px 1rem;*/ }
    .thumbs-slick-container #thumbs-slick .slide-frame img {
      max-height: 70vh;
      display: inline-block;
      max-width: 75vw; }
    .thumbs-slick-container #thumbs-slick .slide-frame .image-name {
      margin-top: -3px; }
  .thumbs-slick-container #thumbs-slick .slick-next, .thumbs-slick-container #thumbs-slick .slick-prev {
    background: #fff;
    opacity: 0.9;
    width: 40px;
    height: 40px;
    z-index: 1; }
    .thumbs-slick-container #thumbs-slick .slick-next:before, .thumbs-slick-container #thumbs-slick .slick-prev:before {
      font-size: 45px;
      line-height: 10px;
      color: #b33657; }
  .thumbs-slick-container #thumbs-slick .slick-next {
    right: 0px; }
    .thumbs-slick-container #thumbs-slick .slick-next:before {
      content: '\203A'; }
  .thumbs-slick-container #thumbs-slick .slick-prev {
    left: 0px; }
    .thumbs-slick-container #thumbs-slick .slick-prev:before {
      content: '\2039'; }
  @media print, screen and (min-width: 40em) {
    .thumbs-slick-container .photo-link {
      position: absolute;
      /*margin-top: -73px;*/
      margin-left: -5px;
      bottom: 15px; }
      .thumbs-slick-container .photo-link:not(:hover) {
        background-color: #333; }
        .thumbs-slick-container .photo-link:not(:hover) span {
          text-decoration: underline; }
      .thumbs-slick-container .photo-link:hover span {
        text-decoration: none; } }

.headline {
  background-color: #a5a5a5;
  color: #fff; }
  .headline h2, .headline h3, .headline h4 {
    margin: 0.5rem; }

.price_eur {
  font-weight: bold;
  /*margin-top: 1rem;*/
  margin-bottom: 0;
  color: #b33657; }

.for-sale-container {
  /*.maps-box,*/ }
  .for-sale-container .addthis-button {
    /*margin-top: 1rem;*/
    float: right;
    width: 190px; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .for-sale-container .addthis-button {
        position: absolute;
        /*            bottom: 0px;*/
        top: 264px; } }
    .for-sale-container .addthis-button .orientation-horizontal {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .for-sale-container .price-box {
    height: 95px;
    position: relative; }
  .for-sale-container #map-canvas {
    height: 283px;
    position: relative; }
  .for-sale-container .maps-box {
    padding: 1rem;
    /*        @media (pointer: coarse) {
                    padding-right: 1rem;
                    padding-left: 1rem;
                    gm-link {
                        right: 1rem;
                    }
                }*/ }
    @media print, screen and (min-width: 64em) {
      .for-sale-container .maps-box {
        padding: 0; } }
    .for-sale-container .maps-box .gm-link-wrapper {
      position: absolute;
      top: 0;
      z-index: 1000;
      left: 50%;
      margin-right: -50%; }
      .for-sale-container .maps-box .gm-link-wrapper .gm-link {
        box-shadow: -5px 5px 10px 0px rgba(0, 0, 0, 0.5);
        position: relative;
        /*right:0;*/
        left: -50%;
        padding: 0.2rem;
        background-color: rgba(255, 255, 255, 0.85); }
        .for-sale-container .maps-box .gm-link-wrapper .gm-link i {
          font-size: 1.2rem; }

@media print, screen and (min-width: 64em) {
  .large-spacer-left {
    margin-left: 1rem; } }

#thumbs-slick, #whats-new-slick, #blog-slick, #spotlight-slick {
  visibility: hidden;
  display: none; }
  #thumbs-slick.slick-initialized, #whats-new-slick.slick-initialized, #blog-slick.slick-initialized, #spotlight-slick.slick-initialized {
    visibility: visible;
    display: block; }

#detail-area {
  margin-top: 1rem;
  margin-bottom: 2rem; }

.prty-facts {
  background-color: #f4eded;
  margin-bottom: 1rem; }
  .prty-facts * {
    line-height: 1.2; }
  .prty-facts h3 {
    margin-bottom: 0;
    margin-top: 1rem;
    font-weight: bold; }
  .prty-facts h4 {
    font-size: 1.1rem;
    margin-bottom: 1rem; }
  .prty-facts dl {
    margin-top: 0.3rem; }
  .prty-facts dd {
    overflow-wrap: break-word; }
  .prty-facts .props dt, .prty-facts .props dt {
    /*margin-top: 0.3rem;*/ }
  .prty-facts .props dt {
    display: inline-block;
    margin-bottom: 0;
    width: 40%;
    vertical-align: top; }
  .prty-facts .props dd {
    display: inline-block;
    width: 55%; }

.photo-gallery figure .thumb-container {
  position: relative; }

.photo-gallery figure .frame {
  width: 100%; }

.photo-gallery figure .thumbnail_pic {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translateX(-50%) translateY(-50%);
      transform: translateX(-50%) translateY(-50%);
  z-index: -1; }

.photo-gallery figure, .photo-gallery img {
  margin: 0; }

.photo-gallery figcaption {
  height: 1rem;
  margin-bottom: 1rem; }

.country-list * {
  line-height: 1.4rem; }

.country-list a {
  text-decoration: none;
  color: #555; }
  .country-list a:hover {
    text-decoration: underline; }

.country-list h2, .country-list h3 {
  margin: 0; }

.country-list h2 {
  font-size: 1.2rem; }

.country-list h3 {
  font-size: 1.1rem; }

.country-list .continent * {
  font-weight: bold; }

.country-list .count {
  color: gray; }

#register .icon {
  height: 60px;
  width: 60px; }

#register button[type="submit"] {
  margin-top: 1.3rem; }

#register .auct_type_select {
  margin: 1rem 0 2rem; }
  #register .auct_type_select input + label {
    font-size: 1rem; }
  #register .auct_type_select input + label:hover, #register .auct_type_select input:checked + label, #register .auct_type_select .icon.priv_sell:hover, #register .auct_type_select .icon.estate_agent:hover {
    text-decoration: underline; }
    #register .auct_type_select input + label:hover .icon.priv_sell, #register .auct_type_select input:checked + label .icon.priv_sell, #register .auct_type_select .icon.priv_sell:hover .icon.priv_sell, #register .auct_type_select .icon.estate_agent:hover .icon.priv_sell {
      background-position: -507px 0;
      /*box-shadow: none;*/ }
    #register .auct_type_select input + label:hover .icon.estate_agent, #register .auct_type_select input:checked + label .icon.estate_agent, #register .auct_type_select .icon.priv_sell:hover .icon.estate_agent, #register .auct_type_select .icon.estate_agent:hover .icon.estate_agent {
      background-position: -567px 0; }
  #register .auct_type_select input:checked + label {
    font-size: 1.2rem;
    font-weight: bold; }

@media print, screen and (min-width: 40em) {
  #register #terms {
    margin-top: 1.3rem; } }

.register-intro, .register-intro h2 {
  font-size: 1.2rem; }

#login-form {
  /*    button:hover, a:hover {
            text-decoration: underline;
            span.icon.login {
                background-position: $icon_login_bg_hv;
            }
            span.icon.new {
                background-position: $icon_new_bg_hv;
            }
            span.icon.forgot {
                background-position: $icon_forgot_bg_hv;
            }
        }*/ }
  #login-form .icon {
    display: inline-block; }
    #login-form .icon.icon-login {
      margin-top: 7px; }
  #login-form a {
    text-decoration: none; }
  #login-form ul {
    display: inline-block;
    margin: 0; }
    #login-form ul li {
      width: 100px; }
      @media print, screen and (min-width: 40em) {
        #login-form ul li {
          width: 150px; } }

#profile_data tr td {
  vertical-align: top; }
  #profile_data tr td:first-child {
    width: 15rem; }

/*#delete_profile {
    button:hover {
        span.icon.sad {
            background-position: $icon_sad_bg_hv;
        }
    }
}*/
.add-searches h2 {
  font-size: 1.2em; }

#search_alerts_table td.count {
  font-size: 1.4rem;
  width: 4rem; }

#search_alerts_table td.button_container {
  /*font-size: 1rem;*/
  text-align: center;
  width: 7rem; }
  #search_alerts_table td.button_container a {
    text-decoration: none; }
    #search_alerts_table td.button_container a:hover {
      text-decoration: underline;
      color: black; }

table.query-list {
  table-layout: fixed; }
  table.query-list tr.is-marked-spam td a {
    color: #bbbbbb; }
  table.query-list th.name {
    width: 12rem; }
  table.query-list th.date {
    width: 11rem; }
  table.query-list th.action_buttons {
    width: 5rem; }
  table.query-list td.message, table.query-list td.name {
    text-overflow: ellipsis;
    overflow: hidden; }
  table.query-list td.action_buttons {
    text-align: center;
    font-size: 1.5rem; }
    table.query-list td.action_buttons i {
      color: #555; }
      table.query-list td.action_buttons i.inactive {
        color: #959595; }
      table.query-list td.action_buttons i.active {
        color: #cc4b37; }
  table.query-list a {
    text-decoration: none; }
    table.query-list a:hover {
      text-decoration: underline; }

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

@keyframes spinner {
  to {
    transform: rotate(360deg); } }

.spinner:before {
  content: '';
  box-sizing: border-box;
  position: absolute;
  /*top: 50%;*/
  /*left: 50%;*/
  width: 20px;
  height: 20px;
  /*margin-top: -10px;*/
  /*margin-left: -10px;*/
  border-radius: 50%;
  border: 2px solid #ccc;
  border-top-color: #333;
  animation: spinner .6s linear infinite; }

.pay_processing {
  overflow: visible; }
  .pay_processing .spinner_container {
    position: relative; }
  .pay_processing .spinner {
    display: inline-block;
    height: 4rem;
    width: 4rem; }
  .pay_processing .spinner:before {
    border-width: 3px;
    width: 4rem;
    height: 4rem;
    margin-left: -2rem; }
  .pay_processing .lock {
    display: table;
    width: 100%;
    position: absolute;
    top: 0; }
    .pay_processing .lock div {
      display: table-cell;
      height: 3.8rem;
      vertical-align: middle;
      font-size: 1.9rem; }
  .pay_processing i.fi-shopping-cart {
    position: absolute;
    top: -2rem;
    left: -2rem;
    font-size: 2rem; }
  .pay_processing .badge {
    background-color: #b33657; }

.v-center {
  position: relative;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%); }

#add_prt_tabs a, #add_prt_tabs span {
  color: #767676;
  font-size: 1rem;
  text-decoration: none; }

label {
  position: relative; }
  label > input + span.cnt, label > textarea + span.cnt {
    position: absolute;
    top: 0px;
    right: 0px;
    height: 0px; }

.input-group-error {
  display: table-row; }

.input-group-cell {
  display: table-cell; }

.input-group-error .form-error {
  margin-top: 0.5rem; }

#add_prty input[type="checkbox"] {
  margin: 0; }

#add_prty .section {
  margin-bottom: 0.5rem; }

#add_prty label select, #add_prty label > input[type="text"], #add_prty label > input[type="number"] {
  height: 2.5rem; }

@media print, screen and (min-width: 64em) {
  #add_prty #panel2 h3 {
    font-weight: bold; }
  #add_prty #panel2 h4 {
    margin-left: 1rem; } }

#add_prty .editad a#panel5-label {
  color: #d77; }

#add_prty .extras-list {
  margin-top: 1rem;
  margin-bottom: 1rem; }

.input-group button.contains-icon {
  padding-top: 0.55em;
  padding-bottom: 0.55em; }

#add_prty #map-canvas {
  max-height: 75vh; }

.user-is-touching .dropzone .dz-preview.dz-error .dz-error-message {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
  filter: alpha(opacity=1); }

.dropzone:not(.dz-started) .add-image {
  display: none; }

.dropzone .dz-details, .dropzone .dz-details img {
  cursor: move; }

.dropzone .add-image {
  width: 274px;
  padding: 6px;
  border: 1px solid #acacac;
  margin: 2px;
  display: inline-block;
  cursor: pointer;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.16); }
  .dropzone .add-image div {
    width: 100%;
    height: 328px;
    padding-top: 100%;
    position: relative;
    -ms-flex-align: center;
        align-items: center;
    background-color: #fff;
    /*border-radius: 5px;*/
    text-align: center;
    cursor: pointer; }
    .dropzone .add-image div i {
      position: absolute;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
      font-size: 4.5rem;
      cursor: pointer; }

.closable {
  position: relative; }

#advertiser #contact_data {
  margin-top: 1.3rem;
  margin-bottom: 1.3rem;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  #advertiser #contact_data #contact_company, #advertiser #contact_data #private_seller {
    font-weight: bold; }
  #advertiser #contact_data .contact_name {
    -ms-flex-positive: 1;
        flex-grow: 1; }
    #advertiser #contact_data .contact_name a {
      margin-top: 0.5rem; }
  #advertiser #contact_data .comp_pic {
    max-width: 33%;
    padding-left: 1rem; }
    #advertiser #contact_data .comp_pic i {
      display: block;
      margin-top: -1.5rem;
      font-size: 5rem; }
    #advertiser #contact_data .comp_pic img {
      vertical-align: top; }

.radius1 {
  border-radius: 50%;
  padding: 0.27em 0.35em 0.27em 0.46em; }

.icon {
  font-style: normal; }
  .icon.my-arrow-right {
    border-radius: 50%;
    height: 3rem;
    width: 3rem; }
    .icon.my-arrow-right:before {
      content: "\203A";
      font-size: 3.5rem;
      line-height: 0.5rem;
      padding-left: 0.15rem; }
  .icon.normal {
    font-size: 1.6rem; }

.static-page {
  counter-reset: section; }
  .static-page h2.spc-after, .static-page h3.spc-after {
    margin-bottom: 1.5rem; }
  .static-page h3 {
    margin-top: 1rem; }
  .static-page p + h4, .static-page p + p {
    margin-top: -0.5rem; }
  .static-page div.indent, .static-page p.indent, .static-page p.child_indent span {
    padding-left: 1.2rem;
    display: block; }
  .static-page .section {
    counter-reset: subsection; }
    .static-page .section::before {
      counter-increment: section;
      content: counter(section) " "; }
  .static-page .subsection {
    counter-reset: subsubsection; }
    .static-page .subsection::before {
      counter-increment: subsection;
      content: counter(section) "." counter(subsection) " "; }
  .static-page .subsubsection::before {
    counter-increment: subsubsection;
    content: counter(section) "." counter(subsection) "." counter(subsubsection) " "; }
  .static-page.pricing_after h2, .static-page.pricing_after h3 {
    font-weight: bold; }

label.long-label {
  margin-bottom: 1rem;
  line-height: 1.5; }
  label.long-label input[type="checkbox"] {
    margin-bottom: 0; }
  label.long-label span.form-error {
    margin-top: 0.5rem; }

.shariff .shariff-button a {
  text-align: center; }

.ad-preview-map {
  width: 199px;
  /*                    margin-top: 0;
                        width: 12rem;
                        height: 12rem;*/ }
  .ad-preview-map img {
    height: 150px;
    width: 200px;
    max-width: none; }
  @media screen and (min-height: 24em) and (min-width: 40em) {
    .ad-preview-map {
      width: 299px; }
      .ad-preview-map img {
        height: 225px;
        width: 300px; } }
  .ad-preview-map .info-box {
    padding: 0.5rem;
    line-height: 1.2; }
    .ad-preview-map .info-box .name {
      font-size: 0.9rem; }
      @media screen and (min-height: 24em) and (min-width: 40em) {
        .ad-preview-map .info-box .name {
          font-size: 1rem; } }
      @media screen {
        .ad-preview-map .info-box .name {
          white-space: nowrap;
          text-overflow: ellipsis;
          overflow: hidden; } }
    .ad-preview-map .info-box .price {
      margin-top: 0.2rem;
      font-size: 1rem;
      color: #db5838;
      font-weight: 400; }
      @media screen and (min-height: 24em) and (min-width: 40em) {
        .ad-preview-map .info-box .price {
          font-size: 1.1rem; } }

.leaflet-popup-content {
  margin: 0;
  line-height: 1; }

.leaflet-popup-content-wrapper {
  padding: 0;
  text-align: left;
  border-radius: 0; }

.leaflet-container a.leaflet-popup-close-button {
  background-color: rgba(255, 255, 255, 0.95);
  margin: 9px;
  height: 18px;
  width: 18px;
  padding: 2px;
  color: #000;
  text-decoration: none;
  z-index: 1000; }
  .leaflet-container a.leaflet-popup-close-button:hover {
    background-color: rgba(0, 0, 0, 0.4);
    color: #fff; }

.leaflet-marker-icon.cluster {
  background-color: rgba(212, 161, 27, 0.5); }
  .leaflet-marker-icon.cluster div {
    text-align: center;
    background-color: rgba(212, 161, 27, 0.9); }
  .leaflet-marker-icon.cluster span {
    color: #fff;
    font-size: 0.85rem; }
  .leaflet-marker-icon.cluster.cluster-size-0 {
    background-clip: padding-box;
    border-radius: 20px; }
    .leaflet-marker-icon.cluster.cluster-size-0 div {
      width: 30px;
      height: 30px;
      margin-left: 5px;
      margin-top: 5px;
      border-radius: 15px; }
    .leaflet-marker-icon.cluster.cluster-size-0 span {
      line-height: 30px; }
  .leaflet-marker-icon.cluster.cluster-size-1 {
    background-clip: padding-box;
    border-radius: 25px; }
    .leaflet-marker-icon.cluster.cluster-size-1 div {
      width: 34px;
      height: 34px;
      margin-left: 8px;
      margin-top: 8px;
      border-radius: 17px; }
    .leaflet-marker-icon.cluster.cluster-size-1 span {
      line-height: 34px; }
  .leaflet-marker-icon.cluster.cluster-size-2 {
    background-clip: padding-box;
    border-radius: 30px; }
    .leaflet-marker-icon.cluster.cluster-size-2 div {
      width: 38px;
      height: 38px;
      margin-left: 11px;
      margin-top: 11px;
      border-radius: 19px; }
    .leaflet-marker-icon.cluster.cluster-size-2 span {
      line-height: 38px; }
  .leaflet-marker-icon.cluster.cluster-size-3 {
    background-clip: padding-box;
    border-radius: 35px; }
    .leaflet-marker-icon.cluster.cluster-size-3 div {
      width: 42px;
      height: 42px;
      margin-left: 14px;
      margin-top: 14px;
      border-radius: 21px; }
    .leaflet-marker-icon.cluster.cluster-size-3 span {
      line-height: 42px; }

.dropdown-buttons-parent {
  position: relative; }
  .dropdown-buttons-parent .dropdown-pane {
    width: 100%; }
  .dropdown-buttons-parent .dropdown-pane input {
    margin-top: 1px;
    margin-bottom: 1px;
    white-space: normal; }

.thumbnail-with-badge {
  position: relative;
  display: inline-block; }
  .thumbnail-with-badge .badge {
    position: absolute;
    top: -5px;
    right: -5px; }

table.shoppingcart tr.total td {
  font-weight: bold; }

table.shoppingcart .media-object {
  margin-bottom: 0; }

table.shoppingcart .icon_thumb_container {
  display: table;
  width: 100px;
  height: 100px;
  overflow: hidden;
  background-color: #ddd; }
  table.shoppingcart .icon_thumb_container .icon_thumb {
    display: table-cell;
    text-align: center; }
    table.shoppingcart .icon_thumb_container .icon_thumb i {
      font-size: 60px;
      line-height: 100px; }

/*.header_container {
    .cart.icon-with-badge {
        font-size: 2rem;
    }
}*/
.payment_container #submit-button {
  margin-top: 1rem; }

@media screen and (max-width: 39.9375em) {
  .stack-for-small-only th {
    display: none; }
  .stack-for-small-only tr, .stack-for-small-only td {
    display: block; } }

.pseudo-table {
  display: table; }
  .pseudo-table.expanded {
    width: 100%; }
  .pseudo-table .pt-row {
    display: table-row; }
  .pseudo-table .pt-cell {
    display: table-cell; }

.addon_modal i {
  color: #888; }

.addon_modal .modal_title {
  margin-bottom: 1rem; }

.addon_modal .product_name {
  margin-top: 0.5rem; }

.addon_modal .product_desc {
  margin-top: -0.8rem;
  margin-bottom: 1rem; }

.button_with_badge_container {
  position: relative; }
  .button_with_badge_container i.badge {
    position: absolute;
    top: -0.9rem;
    right: -0.9rem;
    font-size: 1rem; }

.addon_row .button_with_badge_container i.badge {
  display: none; }

.addon_row.in_cart .button_with_badge_container i.badge {
  display: block; }

.icon-with-badge {
  display: inline-block;
  position: relative; }
  .icon-with-badge .badge {
    position: absolute;
    top: 0.2rem;
    right: -0.8rem; }

.pricelist .price_model {
  width: 15%; }

.reveal.with-icon, .reveal.with-icon:focus {
  outline: none;
  overflow: visible; }

.reveal.with-icon .icon-80 {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .reveal.with-icon .icon-80 {
      top: -12px;
      left: -15px;
      width: 80px;
      height: 80px;
      position: absolute;
      border-radius: 50%;
      display: block; }
      .reveal.with-icon .icon-80 + h3 {
        margin-left: 60px; } }

.headline-print {
  font-size: 2rem; }

.cursor-pointer {
  cursor: pointer; }

.tooltip a {
  color: white; }

label i.fi-info.has-tip {
  margin: -5px;
  padding: 5px;
  border-bottom: none;
  font-size: 1rem; }

label.has-tip.disabled {
  border-bottom: none;
  font-weight: normal;
  color: #aaa; }

.pty-view h2.subtitle {
  font-weight: bold;
  font-size: 1.2rem;
  color: #db5838; }

.addons_view .addon_list .is-active {
  background-color: #e1faea; }

.addons_view td button {
  margin: 0; }

.addons_view td span + .button_with_badge_container {
  margin-top: 1rem; }

.addons_view td.thumb_col {
  max-width: 100px; }

.addons_view .show-for-small-only td {
  padding: 0.2rem; }

.addons_view tr.show-for-small-only {
  margin-top: 0.5rem;
  padding-bottom: 0.5rem; }

.addons_view .with_abs_img {
  position: relative; }
  .addons_view .with_abs_img img {
    position: absolute;
    right: 0;
    top: 0; }

.snippet-container a img {
  padding-right: 3%; }

.snippet-container a:nth-child(1n+2) img {
  margin-top: -10%; }

.snippet-container a:nth-child(2n+2) img {
  margin-left: 5%; }

.show-for-lp4f-only, .show-for-pu20k-only, .show-for-pu50k-only,
.show-for-pu100k-only, .show-for-are-only {
  display: none; }

.lp4f .show-for-lp4f-only {
  display: initial; }

.pu20k .show-for-pu20k-only {
  display: initial; }

.pu50k .show-for-pu50k-only {
  display: initial; }

.pu100k .show-for-pu100k-only {
  display: initial; }

.are .show-for-are-only {
  display: initial; }

div.qc-cmp2-container div.logo-container {
  text-align: center !important; }

form#contact-form #captcha {
  margin-bottom: 1rem; }

form#unsubscribe button {
  background-color: #b33657; }

form#unsubscribe button:hover {
  background-color: #931637; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcF8uY3NzIiwiX3NldHRpbmdzX2N1c3RvbS5zY3NzIiwiX2Jhc2VfY3VzdG9tLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsImFwcC5zY3NzIiwiX3Nwcml0ZW1hcF9pY29uc19zc21faW1wLnNjc3MiLCIuLi8uLi9pbWFnZXMvaWNvbnMvZGlzdC9hbGwuc2NzcyIsIl9oZWFkZXJfcmVzcF9pbXAuc2NzcyIsIl9mb290ZXJfcmVzcF9pbXAuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiX2dvb2dsZV9hZHNfaW1wLnNjc3MiLCJfY2hvc2VuX2ltcC5zY3NzIiwiX21hcmtlcmNsdXN0ZXJfaW1wLnNjc3MiLCJfbGVhZmxldF9pbXAuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJfYnJlYWtwb2ludF9jdXN0b20uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNtQmpCOzZCQUM2QjtBQUM3Qjs2QkFDNkI7QUN0QjdCO0VBRVEsZURxQlksRUNwQmY7O0FBSEw7RUFLUSxlREVhLEVDRGhCOztBQU5MO0VBUVEsZURDYSxFQ0FoQjs7QUFUTDtFQVdRLGVEQWEsRUNDaEI7O0FBWkw7RUFjUSxlRERjLEVDRWpCOztBQWZMO0VBaUJRLGVERlksRUNHZjs7QUFsQkw7RUFvQlEsZURIVyxFQ0lkOztBQ3JCTDs7Ozs7R0FLRztBQzhKRztFQ3ZISjtJQUNFLFlBQVc7SUFDWCxXQUFVO0lBQ1YsZUFB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cUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGlCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosV0NlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixVQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLFdBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGlCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosV0NlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixVQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLFdBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGlCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosWUNlcUQsRUwyRWhEOztBQWdCRDtFTTlFSix1QkRicUQsRUw2RmhEOztBQUtEO0VPekdGLFlUa0d1RDtFU2pHdkQsWUFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVRrRXFELEVTakV0RDs7QVB3RUM7RU96R0YsWVRrR3VEO0VTakd2RCxXQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVGtFcUQsRVNqRXREOztBUHdFQztFT3pHRixZVGtHdUQ7RVNqR3ZELGlCQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVGtFcUQsRVNqRXREOztBUHdFQztFT3pHRixZVGtHdUQ7RVNqR3ZELFdBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlUa0VxRCxFU2pFdEQ7O0FQd0VDO0VPekdGLFlUa0d1RDtFU2pHdkQsV0FBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVRrRXFELEVTakV0RDs7QVB3RUM7RU96R0YsWVRrR3VEO0VTakd2RCxpQkFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVRrRXFELEVTakV0RDs7QVB3RUM7RU96R0YsWVRrR3VEO0VTakd2RCxpQkFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVRrRXFELEVTakV0RDs7QVB3RUM7RU96R0YsWVRrR3VEO0VTakd2RCxhQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVGtFcUQsRVNqRXREOztBUDhFRDtFRy9HQSxpQkR1RVM7RUN0RVQsZ0JEc0VTLEVGeUN1Qzs7QUFEaEQ7RUFJSSxnQkFBZTtFQUNmLGVBQWMsRUFDZjs7QUFHSDtFQUNFLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUVEO0VHN0hBLHdCQUZxQztFQUdyQyx1QkFIcUMsRUhnSW9COztBQUl6RDtFTWpJQSxtQkFBa0I7RUFDbEIsa0JBQWlCLEVOa0loQjtFTXZJRDtJQUNFLFlBQVc7SUFDWCxZQUFXLEVBQ1o7O0FOdUlEOzs7RU01SEYsaUJBQWdCO0VBQ2hCLFlSc0Z5RDtFUXJGekQsZ0JBQWU7RUFDZixlQUFjLEVONkhYOztBakJFQztFaUI3REE7SUl4RkosZ0JDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixlQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGdCRGhCZ0MsRUxnRzNCO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosc0JEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixZQ2VxRCxFTDJFaEQ7RUFnQkQ7SU05RUosdUJEYnFELEVMNkZoRDtFQUtEO0lPekdGLFlUa0d1RDtJU2pHdkQsWUFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRrRXFELEVTakV0RDtFUHdFQztJT3pHRixZVGtHdUQ7SVNqR3ZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUa0VxRCxFU2pFdEQ7RVB3RUM7SU96R0YsWVRrR3VEO0lTakd2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRrRXFELEVTakV0RDtFUHdFQztJT3pHRixZVGtHdUQ7SVNqR3ZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUa0VxRCxFU2pFdEQ7RVB3RUM7SU96R0YsWVRrR3VEO0lTakd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVGtFcUQsRVNqRXREO0VQd0VDO0lPekdGLFlUa0d1RDtJU2pHdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUa0VxRCxFU2pFdEQ7RVB3RUM7SU96R0YsWVRrR3VEO0lTakd2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRrRXFELEVTakV0RDtFUHdFQztJT3pHRixZVGtHdUQ7SVNqR3ZELGFBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUa0VxRCxFU2pFdEQ7RVA4RUQ7SUcvR0EsaUJEdUVTO0lDdEVULGdCRHNFUyxFRnlDdUM7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRzdIQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIZ0lvQjtFQUl6RDtJTWpJQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVOa0loQjtJTXZJRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RU51SUQ7OztJTTVIRixpQkFBZ0I7SUFDaEIsWVJzRnlEO0lRckZ6RCxnQkFBZTtJQUNmLGVBQWMsRU42SFgsRUFBQTs7QWpCRUM7RWlCN0RBO0lJeEZKLGdCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixnQkRoQmdDLEVMZ0czQjtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHNCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosWUNlcUQsRUwyRWhEO0VBZ0JEO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFLRDtJT3pHRixZVGtHdUQ7SVNqR3ZELFlBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUa0VxRCxFU2pFdEQ7RVB3RUM7SU96R0YsWVRrR3VEO0lTakd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVGtFcUQsRVNqRXREO0VQd0VDO0lPekdGLFlUa0d1RDtJU2pHdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUa0VxRCxFU2pFdEQ7RVB3RUM7SU96R0YsWVRrR3VEO0lTakd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVGtFcUQsRVNqRXREO0VQd0VDO0lPekdGLFlUa0d1RDtJU2pHdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRrRXFELEVTakV0RDtFUHdFQztJT3pHRixZVGtHdUQ7SVNqR3ZELGlCQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVGtFcUQsRVNqRXREO0VQd0VDO0lPekdGLFlUa0d1RDtJU2pHdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUa0VxRCxFU2pFdEQ7RVB3RUM7SU96R0YsWVRrR3VEO0lTakd2RCxhQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVGtFcUQsRVNqRXREO0VQOEVEO0lHL0dBLGlCRHVFUztJQ3RFVCxnQkRzRVMsRUZ5Q3VDO0VBRGhEO0lBSUksZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFHSDtJQUNFLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBRUQ7SUc3SEEseUJBRnFDO0lBR3JDLHdCQUhxQyxFSGdJb0I7RUFJekQ7SU1qSUEsbUJBQWtCO0lBQ2xCLGtCQUFpQixFTmtJaEI7SU12SUQ7TUFDRSxZQUFXO01BQ1gsWUFBVyxFQUNaO0VOdUlEOzs7SU01SEYsaUJBQWdCO0lBQ2hCLFlSc0Z5RDtJUXJGekQsZ0JBQWU7SUFDZixlQUFjLEVONkhYLEVBQUE7O0FBSUg7RUcxRkUsdUJEYXFELEVGK0V0RDtFRzFGQztJQUNFLGlCQUFnQixFQUNqQjtFcEJvRkM7SWlCRUo7TUcxRkUsd0JEYXFELEVGK0V0RDtNRzFGQztRQUNFLGlCQUFnQixFQUNqQixFQUFBOztBS2dMSDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEO0VBQ0Usb0JsQjlHMEI7RWtCZ0gxQixtQkFBa0I7RUFDbEIsaUJsQmxIc0I7RWtCbUh0QixtQ2xCakh5QyxFa0JrSDFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsa0JsQjlNcUI7RWtCK01yQixxQkFBb0IsRUFDckI7O0FiZ0RDO0VhNUNBLGVsQnhJaUI7RWtCeUlqQixxQkFBb0IsRUFDckI7O0FBR0Q7Ozs7OztFQU1FLCtFbEJyTzJFO0VrQnNPM0UsbUJsQnBMc0I7RWtCcUx0QixvQmxCbE95QjtFa0JtT3pCLGVsQnBMa0I7RWtCcUxsQixtQ2xCeEpzQyxFa0I4SnZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFjO0lBQ2QsZWxCcFBlLEVrQnFQaEI7O0FBUUc7RUFJSSxrQk52UDZDO0VNbVE3QyxpQmxCak5XO0VrQnlOWCxjQUFhO0VBT2Isc0JsQi9OaUIsRWtCaU9wQjs7QUFqQ0Q7RUFJSSxtQk52UDZDO0VNbVE3QyxpQmxCak5XO0VrQnlOWCxjQUFhO0VBT2Isc0JsQi9OaUIsRWtCaU9wQjs7QUFqQ0Q7RUFJSSxxQk52UDZDO0VNbVE3QyxpQmxCak5XO0VrQnlOWCxjQUFhO0VBT2Isc0JsQi9OaUIsRWtCaU9wQjs7QUFqQ0Q7RUFJSSxvQk52UDZDO0VNbVE3QyxpQmxCak5XO0VrQnlOWCxjQUFhO0VBT2Isc0JsQi9OaUIsRWtCaU9wQjs7QUFqQ0Q7RUFJSSxxQk52UDZDO0VNbVE3QyxpQmxCak5XO0VrQnlOWCxjQUFhO0VBT2Isc0JsQi9OaUIsRWtCaU9wQjs7QUFqQ0Q7RUFJSSxnQk52UDZDO0VNbVE3QyxpQmxCak5XO0VrQnlOWCxjQUFhO0VBT2Isc0JsQi9OaUIsRWtCaU9wQjs7QXpCek1IO0V5QndLRTtJQUlJLG9CTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksbUJOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxvQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLG1CTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksb0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxnQk52UDZDLEVNb1JoRCxFQUFBOztBekJ6TUg7RXlCd0tFO0lBSUksb0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxtQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLG9CTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksbUJOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxvQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLGdCTnZQNkMsRU1vUmhELEVBQUE7O0FibkdMO0VhMEdBLHFCQUFvQjtFQUNwQixZbEJwU1E7RWtCcVNSLHNCbEJoTXlCO0VrQmtNekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlbEJ2TTJELEVrQjJNNUQ7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FidktEO0VhNEtBLFlBQVc7RUFFWCxpQk5sVHFEO0VNbVRyRCxVQUFTO0VBQ1QscUJsQm5OeUI7RWtCcU56QixjQUFhO0VBQ2IsZ0JBQWU7RUFDZixpQ2xCbFVpQjtFa0JtVWpCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JsQjlPMEI7RWtCK08xQiw2QmxCNU55QjtFa0I2TnpCLGlCbEJqUHNCLEVrQmtQdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQmxCdE9zQjtFa0J1T3RCLHNCbEJ6T2tCLEVrQjBPbkI7O0FBR0Q7RUFDRSxxQmxCNU9zQixFa0I2T3ZCOztBQUdEO0VBRUkscUJsQmpQMkI7RWtCa1AzQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQmxCdlB5QixFa0I2UDFCO0VBUEQ7SUFJSSxzQmxCeFA4QjtJa0J5UDlCLGtCbEJoV21CLEVrQmlXcEI7O0FBSUg7RUFDRSxpQmxCdlIwQjtFa0J3UjFCLHVDTjFXcUQ7RU0yV3JELCtCbEJyWGlCLEVrQjJYbEI7RUFURDtJQU1JLGlCbEI3Um9CO0lrQjhScEIsZWxCeFhhLEVrQnlYZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQk50WHFEO0VNdVhyRCxlbEJoWWUsRWtCcVloQjtFQVJEO0lBTUksY2xCMVE2QixFQUFBOztBa0IrUWpDO0VBQ0UsK0JsQnhZUTtFa0J5WVIsYUFBWTtFQUNaLHNCQUFxQixFQUN0Qjs7QWI3UUM7RWFpUkEsVUFBUyxFQUNWOztBQUdEO0VBQ0Usc0NONVlxRDtFTThZckQsMEJsQnhaaUI7RWtCeVpqQiwwQmxCMVpnQjtFa0I0WmhCLDZEbEJqV21FO0VrQmtXbkUsb0JsQmhaeUI7RWtCaVp6QixlbEIvVGdCLEVrQmdVakI7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJOcFpTO0VNc1pULDBCbEJ0YWdCO0VrQndhaEIsNkRsQjdXbUU7RWtCOFduRSxZbEJ0YVEsRWtCMmFUOztBQzVjRDtFQUNFLG1CbkJ3S3lCO0VtQnZLekIsc0JuQndLNEI7RW1CdEs1QixvQm5CdUN5QjtFbUJ0Q3pCLGlCbkJpS3NCO0VtQmhLdEIsZW5CMEJlLEVtQnpCaEI7O0FBR0Q7RUFDRSxnQm5CeUpxQztFbUJ4SnJDLGlCbkJ5SmlCLEVtQnhKbEI7O0FBR0Q7RUFDRSxrQm5CMEptQjtFbUJ6Sm5CLGVBQWMsRUFLZjtFQUhDO0lBQ0Usa0JBQWlCLEVBQ2xCOztBQUdIO0VBR0ksZUFB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O0V1QlkzQixpQnZCakNxQjtFdUJrQ3JCLFl2QnZCVTtFdUIwQlIsNER2QjRWOEQ7RXVCdlU5RCx5QkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCO0VsQzZ2SEQ7O0lrQzl3SEUsY0FBYTtJQUNiLDBCdkJqQ2U7SXVCa0NmLDBCdkJoQ1c7SXVCaUNYLDRCdkJwQ2lCO0l1QnVDZiw0RHZCaVY0RCxFdUIvVS9EOztBbEJxZEM7RWtCeGNBLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZXZCakVlLEV1QmtFaEI7O0FBTEg7O0VBSUksZXZCakVlLEV1QmtFaEI7O0FBTEg7OztFQVVJLDBCdkJ4RWM7RXVCeUVkLG9CdkIrUzZCLEV1QjlTOUI7O0FsQzZ2SEw7O0VrQ3Z2SEkseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixpQnZCbEVhLEV1Qm1FZDs7QUFHRDtFQUNFLHVCQUFzQixFQUN2Qjs7QWxDd3ZISDs7O0VtQ2g1SEksaUJaNEVxRCxFWTNFdEQ7O0FuQ281SEg7O0VtQy80SEksc0JBQXFCO0VBQ3JCLHlCQUF3QjtFQUV4QixvQkFBa0Q7RUFDbEQsbUJaa0VxRDtFWWpFckQsaUJBQWdCLEVBS2pCO0VuQzQ0SEQ7O0ltQzk0SEksZ0JBQWUsRUFDaEI7O0FBSUg7O0VBRUUscUJBQW1ELEVBQ3BEOztBbkM4NEhIO0VtQzE0SEksWUFBVyxFQUNaOztBQ0dEO0VBakJBLGVBQWM7RUFDZCxVQUFTO0VBRVQsb0JiNER1RDtFYTNEdkQsb0J6QjZEMkI7RXlCNUQzQixpQnpCcVowQjtFeUJwWjFCLFl6QmlEVSxFeUJoQ1Q7RUFORDtJQUxBLGlCYm1EdUQ7SWFsRHZELHFCQUE4RCxFQVMzRDs7QUMxQkg7RUFHRSxvQkFGdUM7RUFHdkMscUJkK0RxRDtFYzlEckQsbUIxQmlad0I7RTBCaFp4QixZMUJxRFEsRTBCcERUOztBQ0ZEO0VBQ0UsZUFBd0M7RUFDeEMsWUFBVztFQUNYLG9CZjJEcUQsRWU1Q3REO0VBbEJEO0lBVUksdUIzQndEVyxFMkJ2RFo7RUFYSDtJQWVNLHVCQUFpSCxFQUNsSDs7QUFJTDs7OztFQUNFLFVBQVM7RUFDVCxvQkFBbUI7RUFHakIsb0JBQW1CO0VBQ25CLHVCQUFzQixFQUV6Qjs7QUFFRDtFQUVFLGdCM0JxWHVCO0UyQnBYdkIsMEIzQm1CaUI7RTJCbEJqQixvQjNCaUJnQjtFMkJmaEIsWTNCa0JRO0UyQmpCUixtQkFBa0I7RUFDbEIsb0JBQW1CO0VBUWpCLFVBQVM7RUFDVCxhQUFZLEVBWWY7RUE3QkQ7SUFzQk0sZ0JBQWlDLEVBQ2xDO0VBdkJMO0lBMEJNLGVBQWdDLEVBQ2pDOztBQUlMO0VBRUUsaUJBQWdCO0VBUWQsZUF6RTZDLEVBMkVoRDs7QUFFRDtFQUVFLGVBQWM7RUFDZCxrQkFBaUI7RUFDakIsbUJBQWtCO0VBT2hCLFVBQVM7RUFDVCxhQUFZLEVBb0JmO0VBaENEOzs7O0lBMEJNLGVBdkcyQztJQXlHN0MsZUFBYztJQUNkLGtCQUFpQjtJQUNqQixnQmYzQ21ELEVlNENwRDs7QUFLQztFQUNJLG9CQUFtQixFQUN0Qjs7QXRCNlpIO0V1QmpnQkEsVUFBUztFQUNULFdBQVU7RUFDVixVQUFTLEVBQ1Y7O0F2QjJnQkM7RXVCeGdCQSxnQkFBZTtFQUNmLHNCQUFrQyxFQUNuQzs7QUFFRDtFQXhCQSxtQmhCb0VXO0VnQm5FWCxpQmhCOER1RDtFZ0I3RHZELDBCNUJtRG1CLEU0QjNCbEI7RUF0QkQ7SUFFRSxVQUFTO0lBQ1Qsd0JoQndEcUQ7SWdCdkRyRCxxQmhCdURxRCxFZ0J0RHREOztBcEI2SkQ7RXFCeEtBLGtCQUZzSjtFQUd0SixpQmpCZ0V1RDtFaUIvRHZELGdCN0J5YStCO0U2QnZhL0IseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQiwwQjdCa0RtQjtFNkJqRG5CLGlCN0IrRGU7RTZCOURmLDBCN0JtRGE7RTZCakRiLHFCN0J5WnlCO0U2QnhaekIsZ0JqQnVEdUQ7RWlCdER2RCxvQjdCd0QyQjtFNkJ2RDNCLGlCN0JrQ3FCO0U2QmpDckIsWTdCNENVO0VTc0VWLHlPQUF5TjtFb0I5R3ZOLCtCQUE4QjtFQUM5Qix3Q0FBMEQ7RUFDMUQsNkJBQTRCO0VBQzVCLHlCQUF3QjtFQUV4QixzQkFBdUQ7RUFJdkQsNEQ3QnFaOEQsRTZCbFgvRDtFcEJvRUQ7SUR1Q0E7TUNwQ0ksd1dBQXVXLEVvQnZFMVcsRUFBQTtFQS9CRDtJQUNFLGNBQWE7SUFDYiwwQjdCd0JlO0k2QnZCZiwwQjdCeUJXO0k2QnhCWCw0QjdCcUJpQjtJNkJsQmYsNEQ3QjBZNEQsRTZCeFkvRDtFQUdEO0lBQ0UsMEI3QldnQjtJNkJWaEIsb0I3QmtZK0IsRTZCalloQztFQUdEO0lBQ0UsY0FBYSxFQUNkO0VBRUQ7SUFDRSxhQUFZO0lBQ1osdUJBQXNCLEVBQ3ZCOztBQ2xDRDtFQUNFLHNCOUI4Qlk7RThCN0JaLDBCQUErRCxFQUloRTtFQUhDO0lBQ0UsZTlCMkJVLEU4QjFCWDtFQUZEO0lBQ0UsZTlCMkJVLEU4QjFCWDs7QUF5QkQ7RUFDRSxlOUJBVSxFOEJDWDs7QUFJSDtFQXpCQSxjQUFhO0VBQ2Isb0JBQWdDO0VBQ2hDLG9CbEIrQnVEO0VrQjdCdkQsbUJsQjZCdUQ7RWtCNUJ2RCxrQjlCK0J1QjtFOEI5QnZCLGU5QmNjLEU4QldiO0VBTkQ7SUFJSSxlQUFjLEVBQ2Y7O0FuQzdETCxrQ0FBa0M7QUFDbEMsdUNBQXVDO0FvQ3dCckM7RUFYQSxzQkFBcUI7RUFDckIsaUIvQnNPb0I7RStCck9wQixlL0JvT21CO0UrQmxPbkIsbUJBQWtCO0VBRWxCLGtCL0JrT3NCO0UrQmpPdEIsbUJBQWtCO0VBT2hCLG9CL0JtQmM7RStCbEJkLGUvQjRCVyxFK0JwQlo7RUFaRDtJQVFNLG9CL0JjVTtJK0JiVixlL0J1Qk8sRStCdEJSO0VBVkw7SUFRTSxvQi9CZVk7SStCZFosZS9CdUJPLEUrQnRCUjtFQVZMO0lBUU0sb0IvQmdCVTtJK0JmVixZL0JzQkksRStCckJMO0VBVkw7SUFRTSxvQi9CaUJVO0krQmhCVixZL0JzQkksRStCckJMO0VBVkw7SUFRTSxvQi9Ca0JRO0krQmpCUixlL0J1Qk8sRStCdEJSOztBcENoQ1Asb0NBQW9DO0FxQ3dLbEM7RUEvSkEsb0JoQ3VSdUI7RWdDL1FyQixhQUFZLEVBK01i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ZTtFQ2dCYiw2QkFGeUI7TUFFekIseUJBRnlCO0VDdkJ2Qix3Q0FBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxnQ0FGeUI7TUFFekIsNEJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZ5QjtNQUV6Qix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLGdDQUZ5QjtNQUV6Qiw0QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNkJBRnlCO01BRXpCLHlCQUZ5QjtFQ3ZCdkIsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEsaUNBRnlCO01BRXpCLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGeUI7TUFFekIseUJBRnlCO0VDdkJ2Qix3Q0FBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxpQ0FGeUI7TUFFekIsNkJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGaENrQztFSUFsQyw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0ZoQ3FDLEVEY3BDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0YvQmtDO0VJRGxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRi9CcUMsRURhcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dyQ21DO0VIcUNuQywwQkY1Qm1EO01FNEJuRCxzQkY1Qm1EO0VNR2pELHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dwQ3FDO0VIb0NyQyw0QkYzQnFEO01FMkJyRCx3QkYzQnFEO0VNRW5ELHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw4Q0duQ2lDO0VIbUNqQyw2QkYxQnNEO01FMEJ0RCx5QkYxQnNEO0VNQ3BELHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw4Q0dsQytCO0VIa0MvQiwyQkZ6Qm9EO01FeUJwRCx1QkZ6Qm9EO0VNQWxELHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dyQ21DO0VIcUNuQyw2QkdDZTtNSERmLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dwQ3FDO0VIb0NyQyw2QkdDZTtNSERmLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsMEJGdEJtRDtNRXNCbkQsc0JGdEJtRDtFTUhqRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsNEJGckJxRDtNRXFCckQsd0JGckJxRDtFTUpuRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsNkJGcEJzRDtNRW9CdEQseUJGcEJzRDtFTUxwRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsMkJGbkJvRDtNRW1CcEQsdUJGbkJvRDtFTU5sRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsNkJHQ2U7TUhEZix5QkdDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsNkJHQ2U7TUhEZix5QkdDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwwQkFGeUI7TUFFekIsc0JBRnlCO0VLM0J2Qix3Q0FBdUM7RUFDdkMsV0FBMkIsRVJGNUI7O0FBVUQ7RUdvQkEsd0JBRnlCO01BRXpCLG9CQUZ5QjtFS2hCdkIsV0FBMkIsRVJBNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwwQkFGeUI7TUFFekIsc0JBRnlCO0VLM0J2Qix3Q0FBdUM7RUFDdkMsV0FBMkIsRVJGNUI7O0FBVUQ7RUdvQkEsd0JBRnlCO01BRXpCLG9CQUZ5QjtFS2hCdkIsV0FBMkIs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Q2hDOztBQUVMO0VBQ1Esb0JBQW1CLEVBQ3RCOztBQUVMO0VBQ1EsMEJMbHFGWSxFS21xRmY7O0FBQ0w7RUFDUSwwQkxwcUZrQixFS3FxRnJCIiwiZmlsZSI6ImFwcF8uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyokbHA0Zl9jb2xvcjogI2JiMjcyNztcbiRscDRmX2NvbG9yX2hvdmVyOiAjYmI1NDU0OyovXG4vKiRscDRmX2NvbG9yOiAjZWU4ZDdkO1xuJGxwNGZfY29sb3JfaG92ZXI6ICNkOTRkMmQ7Ki9cbi5jb2xvci5scDRmIHtcbiAgY29sb3I6ICNiMzM2NTc7IH1cblxuLmNvbG9yLnB1MjBrIHtcbiAgY29sb3I6ICNkYjU4Mzg7IH1cblxuLmNvbG9yLnB1NTBrIHtcbiAgY29sb3I6ICMzZjdmOWQ7IH1cblxuLmNvbG9yLnB1OTlrIHtcbiAgY29sb3I6ICM3ZWEzNDc7IH1cblxuLmNvbG9yLnB1MTAwayB7XG4gIGNvbG9yOiAjN2VhMzQ3OyB9XG5cbi5jb2xvci5wYW1wIHtcbiAgY29sb3I6ICNkNGExMWI7IH1cblxuLmNvbG9yLmFyZSB7XG4gIGNvbG9yOiAjZDRhMTFiOyB9XG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qQGltcG9ydCAnc3ByaXRlbWFwX2ljb25zX2ltcCc7Ki9cbi5pY29uLCAuc2t5bGluZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vd3d3Lmxpc3Rwcm9wZXJ0eTRmcmVlLmNvbS9pbWFnZXMvaWNvbnMvZGlzdC9hbGwucG5nP3Y9MTBcIik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24sIC5za3lsaW5lIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vd3d3Lmxpc3Rwcm9wZXJ0eTRmcmVlLmNvbS9pbWFnZXMvaWNvbnMvZGlzdC9hbGxAMngucG5nP3Y9MTBcIik7IH0gfVxuICAuaWNvbiArIHN0cm9uZywgLmljb24gKyBzcGFuLCAuc2t5bGluZSArIHN0cm9uZywgLnNreWxpbmUgKyBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMC45ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmljb24uaGlkZS1mb3Itc21hbGwtb25seSArIHNwYW4sIC5za3lsaW5lLmhpZGUtZm9yLXNtYWxsLW9ubHkgKyBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmljb24tZnJlZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDkxLjcyMDI2JSA2OC4xNDQwNCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjg2NC40NDQ0NCU7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ2cHg7IH1cblxuLmljb24td29ybGQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4NC4xNjM5OSUgNjguMTQ0MDQlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI4NjQuNDQ0NDQlO1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NnB4OyB9XG5cbi5pY29uLXN0cmluZ3Mge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4Ny45NDIxMiUgNjguMTQ0MDQlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI4NjQuNDQ0NDQlO1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NnB4OyB9XG5cbi5pY29uLXB1MjBrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjcuODAwNDklIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLXB1MjBrOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDQuNDgwNzglIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLXB1MjBrLWZ1bGwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3NS41MDMwNiUgMzIuNzQ4NTQlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDg4Mi44NzY3MSU7XG4gIHdpZHRoOiAxNDZweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG5cbi5pY29uLXB1MjBrLWZ1bGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4OC40NTE0NCUgMzIuNzQ4NTQlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDg4Mi44NzY3MSU7XG4gIHdpZHRoOiAxNDZweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG5cbi5pY29uLXB1NTBrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNjYuNzIxMTglIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLXB1NTBrOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjIuMjQwMzklIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLXB1NTBrLWZ1bGwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3Ny42OTAyOSUgNTIuMzM5MTglO1xuICBiYWNrZ3JvdW5kLXNpemU6IDg4Mi44NzY3MSU7XG4gIHdpZHRoOiAxNDZweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG5cbi5pY29uLXB1NTBrLWZ1bGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2Mi41NTQ2OCUgMzIuNzQ4NTQlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDg4Mi44NzY3MSU7XG4gIHdpZHRoOiAxNDZweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG5cbi5pY29uLXB1OTlrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogODMuNDAxNDclIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLXB1OTlrOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzguOTIwNjklIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLXB1OTlrLWZ1bGwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1Mi4zMzkxOCU7XG4gIGJhY2tncm91bmQtc2l6ZTogODgyLjg3NjcxJTtcbiAgd2lkdGg6IDE0NnB4O1xuICBoZWlnaHQ6IDY1cHg7IH1cblxuLmljb24tcHU5OWstZnVsbDpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDM2LjYwMjQ1JSAzMi43NDg1NCU7XG4gIGJhY2tncm91bmQtc2l6ZTogODc2Ljg3MDc1JTtcbiAgd2lkdGg6IDE0N3B4O1xuICBoZWlnaHQ6IDY1cHg7IH1cblxuLmljb24tcHUxMDBrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAuMDQwODglIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLXB1MTAwazpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUuNTYwMSUgOTEuNzg4ODYlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE5NTMuMDMwMyU7XG4gIHdpZHRoOiA2NnB4O1xuICBoZWlnaHQ6IDY2cHg7IH1cblxuLmljb24tcHUxMDBrLWZ1bGwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0OS42MDYzJSAzMi43NDg1NCU7XG4gIGJhY2tncm91bmQtc2l6ZTogODgyLjg3NjcxJTtcbiAgd2lkdGg6IDE0NnB4O1xuICBoZWlnaHQ6IDY1cHg7IH1cblxuLmljb24tcHUxMDBrLWZ1bGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2NC43NDE5MSUgNTIuMzM5MTglO1xuICBiYWNrZ3JvdW5kLXNpemU6IDg4Mi44NzY3MSU7XG4gIHdpZHRoOiAxNDZweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG5cbi5pY29uLXBhbXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMS4xMjAyJSA5MS43ODg4NiU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTk1My4wMzAzJTtcbiAgd2lkdGg6IDY2cHg7XG4gIGhlaWdodDogNjZweDsgfVxuXG4uaWNvbi1wYW1wOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgOTEuNzg4ODYlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE5NTMuMDMwMyU7XG4gIHdpZHRoOiA2NnB4O1xuICBoZWlnaHQ6IDY2cHg7IH1cblxuLmljb24tcGFtcC1mdWxsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjUuODk2NzYlIDUyLjMzOTE4JTtcbiAgYmFja2dyb3VuZC1zaXplOiA4ODIuODc2NzElO1xuICB3aWR0aDogMTQ2cHg7XG4gIGhlaWdodDogNjVweDsgfVxuXG4uaWNvbi1wYW1wLWZ1bGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzOC44NDUxNCUgNTIuMzM5MTglO1xuICBiYWNrZ3JvdW5kLXNpemU6IDg4Mi44NzY3MSU7XG4gIHdpZHRoOiAxNDZweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG5cbi5pY29uLWFyZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDE2LjY4MDI5JSA5MS43ODg4NiU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTk1My4wMzAzJTtcbiAgd2lkdGg6IDY2cHg7XG4gIGhlaWdodDogNjZweDsgfVxuXG4uaWNvbi1hcmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMy4zNjA1OSUgOTEuNzg4ODYlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE5NTMuMDMwMyU7XG4gIHdpZHRoOiA2NnB4O1xuICBoZWlnaHQ6IDY2cHg7IH1cblxuLmljb24tYXJlLWZ1bGwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMi45NDgzOCUgNTIuMzM5MTglO1xuICBiYWNrZ3JvdW5kLXNpemU6IDg4Mi44NzY3MSU7XG4gIHdpZHRoOiAxNDZweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG5cbi5pY29uLWFyZS1mdWxsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTEuNzkzNTMlIDUyLjMzOTE4JTtcbiAgYmFja2dyb3VuZC1zaXplOiA4ODIuODc2NzElO1xuICB3aWR0aDogMTQ2cHg7XG4gIGhlaWdodDogNjVweDsgfVxuXG4uaWNvbi1scDRmIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogODkuMTU2NjMlIDUyLjMzOTE4JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDE0Ljk2MDYzJTtcbiAgd2lkdGg6IDEyN3B4O1xuICBoZWlnaHQ6IDY1cHg7IH1cblxuLmljb24tbHA0Zjpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDk5Ljc0MTgyJSAzMi43NDg1NCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAxNC45NjA2MyU7XG4gIHdpZHRoOiAxMjdweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG5cbi5pY29uLWxwNGYtZnVsbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDMyLjc0ODU0JTtcbiAgYmFja2dyb3VuZC1zaXplOiA2MjIuNzA1MzElO1xuICB3aWR0aDogMjA3cHg7XG4gIGhlaWdodDogNjVweDsgfVxuXG4uaWNvbi1scDRmLWZ1bGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxOS4zMTYwOCUgMzIuNzQ4NTQlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDYyMi43MDUzMSU7XG4gIHdpZHRoOiAyMDdweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG5cbi5pY29uLWxwNGYtc2ltcGxlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNjEuMTYxMDglIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLWxwNGYtc2ltcGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUuNjAwOTglIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLW15YWRzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzcuODQxMzclIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLW15YWRzOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzIuMjgxMjglIDkxLjc4ODg2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTUzLjAzMDMlO1xuICB3aWR0aDogNjZweDtcbiAgaGVpZ2h0OiA2NnB4OyB9XG5cbi5pY29uLWZhY2Vib29rIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc5MnB4IC0yNDZweDtcbiAgd2lkdGg6IDQ5cHg7XG4gIGhlaWdodDogNDlweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tZmFjZWJvb2sge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLWZhY2Vib29rOmhvdmVyIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg0M3B4IC0yNDZweDtcbiAgd2lkdGg6IDQ5cHg7XG4gIGhlaWdodDogNDlweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tZmFjZWJvb2s6aG92ZXIge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLXlvdXR1YmUge1xuICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTsqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzQxcHggLTI0NnB4O1xuICB3aWR0aDogNDlweDtcbiAgaGVpZ2h0OiA0OXB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuaWNvbi15b3V0dWJlIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi15b3V0dWJlOmhvdmVyIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg5NHB4IC0yNDZweDtcbiAgd2lkdGg6IDQ5cHg7XG4gIGhlaWdodDogNDlweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24teW91dHViZTpob3ZlciB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tZ29vZ2xlcGx1cyB7XG4gIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpOyovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjM1cHggLTE3OXB4O1xuICB3aWR0aDogNDlweDtcbiAgaGVpZ2h0OiA0OXB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuaWNvbi1nb29nbGVwbHVzIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1nb29nbGVwbHVzOmhvdmVyIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk5NnB4IC0yNDZweDtcbiAgd2lkdGg6IDQ5cHg7XG4gIGhlaWdodDogNDlweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tZ29vZ2xlcGx1czpob3ZlciB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tdHdpdHRlciB7XG4gIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpOyovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NDVweCAtMjQ2cHg7XG4gIHdpZHRoOiA0OXB4O1xuICBoZWlnaHQ6IDQ5cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLXR3aXR0ZXIge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLXR3aXR0ZXI6aG92ZXIge1xuICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTsqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjkwcHggLTI0NnB4O1xuICB3aWR0aDogNDlweDtcbiAgaGVpZ2h0OiA0OXB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuaWNvbi10d2l0dGVyOmhvdmVyIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1sb2dpbiB7XG4gIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpOyovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NDZweCAtMjQ2cHg7XG4gIHdpZHRoOiA1OXB4O1xuICBoZWlnaHQ6IDU4cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLWxvZ2luIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1sb2dpbjpob3ZlciB7XG4gIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpOyovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02MjlweCAtMjQ2cHg7XG4gIHdpZHRoOiA1OXB4O1xuICBoZWlnaHQ6IDU4cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLWxvZ2luOmhvdmVyIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1mb3Jnb3RfcHcge1xuICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTsqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzBweCAtMjQ2cHg7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY1cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLWZvcmdvdF9wdyB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tZm9yZ290X3B3OmhvdmVyIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzNnB4IC0yNDZweDtcbiAgd2lkdGg6IDY0cHg7XG4gIGhlaWdodDogNjVweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tZm9yZ290X3B3OmhvdmVyIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1uZXdfaGVyZSB7XG4gIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpOyovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjQ2cHg7XG4gIHdpZHRoOiA2OHB4O1xuICBoZWlnaHQ6IDY1cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLW5ld19oZXJlIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1uZXdfaGVyZTpob3ZlciB7XG4gIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpOyovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTY1cHggLTE3OXB4O1xuICB3aWR0aDogNjhweDtcbiAgaGVpZ2h0OiA2NXB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuaWNvbi1uZXdfaGVyZTpob3ZlciB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tZWRpdCB7XG4gIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpOyovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTk3cHggLTM0NHB4O1xuICB3aWR0aDogMjNweDtcbiAgaGVpZ2h0OiAyM3B4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuaWNvbi1lZGl0IHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1lZGl0OmhvdmVyIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExNzJweCAtMzQ0cHg7XG4gIHdpZHRoOiAyM3B4O1xuICBoZWlnaHQ6IDIzcHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLWVkaXQ6aG92ZXIge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLWhpZGUge1xuICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTsqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjFweCAtMzgxcHg7XG4gIHdpZHRoOiAxOXB4O1xuICBoZWlnaHQ6IDI2cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLWhpZGUge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLWhpZGU6aG92ZXIge1xuICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTsqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTM4MXB4O1xuICB3aWR0aDogMTlweDtcbiAgaGVpZ2h0OiAyNnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuaWNvbi1oaWRlOmhvdmVyIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1zaG93IHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwODhweCAtMzEzcHg7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI5cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLXNob3cge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLXNob3c6aG92ZXIge1xuICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTsqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTExNXB4IC0zMTNweDtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjlweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tc2hvdzpob3ZlciB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tZGVsZXRlIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMjRweCAtMzEzcHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE3cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLWRlbGV0ZSB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tZGVsZXRlOmhvdmVyIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMDZweCAtMzEzcHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE3cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLWRlbGV0ZTpob3ZlciB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tcGhvdG9zIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExNzRweCAtMzEzcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDIxcHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLXBob3RvcyB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tcGhvdG9zOmhvdmVyIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExNDJweCAtMzEzcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDIxcHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLXBob3Rvczpob3ZlciB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tcXVlcmllcyB7XG4gIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpOyovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjIycHggLTM0NHB4O1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAyMnB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuaWNvbi1xdWVyaWVzIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1xdWVyaWVzOmhvdmVyIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMzlweCAtMzQ0cHg7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDIycHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLXF1ZXJpZXM6aG92ZXIge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLXByaXZhdGVfc2VsbGVyIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2M3B4IC0yNDZweDtcbiAgd2lkdGg6IDU5cHg7XG4gIGhlaWdodDogNTlweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tcHJpdmF0ZV9zZWxsZXIge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLXByaXZhdGVfc2VsbGVyOmhvdmVyOm5vdCgubm8taG92ZXIpIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMnB4IC0yNDZweDtcbiAgd2lkdGg6IDU5cHg7XG4gIGhlaWdodDogNTlweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tcHJpdmF0ZV9zZWxsZXI6aG92ZXI6bm90KC5uby1ob3Zlcikge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLWVzdGF0ZV9hZ2VudCB7XG4gIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpOyovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjRweCAtMjQ2cHg7XG4gIHdpZHRoOiA1OXB4O1xuICBoZWlnaHQ6IDU5cHg7IH1cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC5pY29uLWVzdGF0ZV9hZ2VudCB7XG4gICAgICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkcmV0aW5hLXNwcml0ZSk7Ki9cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9IH1cblxuLmljb24tZXN0YXRlX2FnZW50OmhvdmVyOm5vdCgubm8taG92ZXIpIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4NXB4IC0yNDZweDtcbiAgd2lkdGg6IDU5cHg7XG4gIGhlaWdodDogNTlweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tZXN0YXRlX2FnZW50OmhvdmVyOm5vdCgubm8taG92ZXIpIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaWNvbi1zb3JyeSwgLmJ1dHRvbiBpLmljb24tc29ycnkge1xuICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTsqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTA3cHggLTI0NnB4O1xuICB3aWR0aDogNTlweDtcbiAgaGVpZ2h0OiA1OHB4OyB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAuaWNvbi1zb3JyeSwgLmJ1dHRvbiBpLmljb24tc29ycnkge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLXNvcnJ5OmhvdmVyOm5vdCgubm8taG92ZXIpIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU2OHB4IC0yNDZweDtcbiAgd2lkdGg6IDU5cHg7XG4gIGhlaWdodDogNThweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tc29ycnk6aG92ZXI6bm90KC5uby1ob3Zlcikge1xuICAgICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODlweCA0MDdweDsgfSB9XG5cbi5pY29uLWVtYWlsX2FsZXJ0X2dyZXkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MC41Nzc5OSUgODkuODE3MjMlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQ5NTcuNjkyMzElO1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNHB4OyB9XG5cbi5pY29uLWVtYWlsX2FsZXJ0X3doaXRlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogODguMzYxMDUlIDg5LjgxNzIzJTtcbiAgYmFja2dyb3VuZC1zaXplOiA0OTU3LjY5MjMxJTtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjRweDsgfVxuXG4uaWNvbi1lbWFpbF9hbGVydF9yZWQge1xuICAvKkBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTsqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4OHB4IC0zNDRweDtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjRweDsgfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgLmljb24tZW1haWxfYWxlcnRfcmVkIHtcbiAgICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjg5cHggNDA3cHg7IH0gfVxuXG4uaGVhZGVyX2NvbnRhaW5lciB1bC5tZW51IHtcbiAgLyptYXJnaW4tbGVmdDogMDsqL1xuICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIHtcbiAgICAvKiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07Ki9cbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgbWF4LXdpZHRoOiA0MDZweDtcbiAgICAvKm1heC13aWR0aDogNDcwcHg7Ki9cbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaSB7XG4gICAgICAvKiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogLW1vei1jZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IC13ZWJraXQtY2VudGVyOyovIH1cbiAgICAgIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpI215YWRzX2xpbmsubHA0ZiB7XG4gICAgICAgIC8qbWF4LXdpZHRoOiAkcHUyMGstd2lkdGggKyAkbWluX3NwYWNlOyovIH1cbiAgICAgIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpI2xpbmtfbHA0ZiB7XG4gICAgICAgIG1heC13aWR0aDogMTMxcHg7IH1cbiAgICAgIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpI2xpbmtfbHA0Zi1zaW1wbGUge1xuICAgICAgICAvKm1heC13aWR0aDogJGxwNGYtc2ltcGxlLXdpZHRoICsgJG1pbl9zcGFjZTsqLyB9XG4gICAgICAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaSBhIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgICAgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkgYSAud3JhcHBlciB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuICAgICAgICAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaSBhIGkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDY2cHg7IH1cbiAgICAgIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpLmxwNGYge1xuICAgICAgICB3aWR0aDogMjAlOyB9XG4gICAgICAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaS5wdTIwaywgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkucHU1MGssIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpLnB1OTlrLCAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaS5wdTEwMGssIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpLmFyZSwgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkucGFtcCB7XG4gICAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAgICAgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkucHUyMGsjbGlua19scDRmLCAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaS5wdTUwayNsaW5rX2xwNGYsIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpLnB1OTlrI2xpbmtfbHA0ZiwgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkucHUxMDBrI2xpbmtfbHA0ZiwgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkuYXJlI2xpbmtfbHA0ZiwgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkucGFtcCNsaW5rX2xwNGYge1xuICAgICAgICAgIHdpZHRoOiAzOC40ODQ4NSU7IH1cbiAgICAgICAgICAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaS5wdTIwayNsaW5rX2xwNGYgYSwgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkucHU1MGsjbGlua19scDRmIGEsIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpLnB1OTlrI2xpbmtfbHA0ZiBhLCAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaS5wdTEwMGsjbGlua19scDRmIGEsIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpLmFyZSNsaW5rX2xwNGYgYSwgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkucGFtcCNsaW5rX2xwNGYgYSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyN3B4OyB9XG4gICAgICAgICAgICAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaS5wdTIwayNsaW5rX2xwNGYgYSBpLCAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaS5wdTUwayNsaW5rX2xwNGYgYSBpLCAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaS5wdTk5ayNsaW5rX2xwNGYgYSBpLCAuaGVhZGVyX2NvbnRhaW5lciAubWVudS5saW5lMSBsaS5wdTEwMGsjbGlua19scDRmIGEgaSwgLmhlYWRlcl9jb250YWluZXIgLm1lbnUubGluZTEgbGkuYXJlI2xpbmtfbHA0ZiBhIGksIC5oZWFkZXJfY29udGFpbmVyIC5tZW51LmxpbmUxIGxpLnBhbXAjbGlua19scDRmIGEgaSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEyN3B4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTEuMTgxMSU7IH0gfVxuXG4uaGVhZGVyX2NvbnRhaW5lciAubWVudSBsaSB7XG4gIG1hcmdpbjogMHB4OyB9XG4gIC5oZWFkZXJfY29udGFpbmVyIC5tZW51IGxpLm15X2FjdGl2ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTsgfVxuICAuaGVhZGVyX2NvbnRhaW5lciAubWVudSBsaSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMC4zMnJlbTsgfVxuICAgIC5oZWFkZXJfY29udGFpbmVyIC5tZW51IGxpIGEgaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5oZWFkZXJfY29udGFpbmVyIC5tZW51IGxpIGEge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmhlYWRlcl9jb250YWluZXIgZGl2I3RlYXNlcl9jb250YWluZXIge1xuICBoZWlnaHQ6IDY2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiA1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaGVhZGVyX2NvbnRhaW5lciBkaXYjdGVhc2VyX2NvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXJfY29udGFpbmVyIGRpdiN0ZWFzZXJfY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweDsgfSB9XG4gIC5oZWFkZXJfY29udGFpbmVyIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVhZGVyX2NvbnRhaW5lciBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjlyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyX2NvbnRhaW5lciBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTFweDsgfSB9XG4gICAgLmhlYWRlcl9jb250YWluZXIgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDAuODRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhlYWRlcl9jb250YWluZXIgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjIycmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5oZWFkZXJfY29udGFpbmVyIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH0gfVxuXG4uaGVhZGVyX2NvbnRhaW5lciAuY2FydC5pY29uLXdpdGgtYmFkZ2Uge1xuICBmb250LXNpemU6IDJlbTsgfVxuXG4ucGFnZSBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyLCAuYmxvZyBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyLCAuc2luZ2xlLXBvc3QgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciwgLmFyY2hpdmUgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciwgLmVycm9yNDA0IGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIge1xuICBmb250LXNpemU6IDIuMDhyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIC8qZm9udC13ZWlnaHQ6IGJvbGQ7Ki9cbiAgLyp0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyovIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZSBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyLCAuYmxvZyBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyLCAuc2luZ2xlLXBvc3QgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciwgLmFyY2hpdmUgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciwgLmVycm9yNDA0IGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIge1xuICAgICAgZm9udC1zaXplOiAzLjA0cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuODsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciwgLmJsb2cgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciwgLnNpbmdsZS1wb3N0IGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIsIC5hcmNoaXZlIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIsIC5lcnJvcjQwNCBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cbiAgLnBhZ2UgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbCwgLmJsb2cgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbCwgLnNpbmdsZS1wb3N0IGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwsIC5hcmNoaXZlIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwsIC5lcnJvcjQwNCBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDEuMzQ0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwsIC5ibG9nIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwsIC5zaW5nbGUtcG9zdCBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLCAuYXJjaGl2ZSBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLCAuZXJyb3I0MDQgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45NTJyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGFnZSBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLCAuYmxvZyBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLCAuc2luZ2xlLXBvc3QgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbCwgLmFyY2hpdmUgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbCwgLmVycm9yNDA0IGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDEuNDRyZW07IH0gfVxuICAgIC5wYWdlIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwuc3ViaGVhZGVyLCAuYmxvZyBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLnN1YmhlYWRlciwgLnNpbmdsZS1wb3N0IGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwuc3ViaGVhZGVyLCAuYXJjaGl2ZSBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLnN1YmhlYWRlciwgLmVycm9yNDA0IGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwuc3ViaGVhZGVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5wYWdlIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwuc3ViaGVhZGVyIGEsIC5ibG9nIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwuc3ViaGVhZGVyIGEsIC5zaW5nbGUtcG9zdCBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLnN1YmhlYWRlciBhLCAuYXJjaGl2ZSBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLnN1YmhlYWRlciBhLCAuZXJyb3I0MDQgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbC5zdWJoZWFkZXIgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAucGFnZSBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLnN1YmhlYWRlciBhOmhvdmVyLCAuYmxvZyBkaXYjdGVhc2VyX2NvbnRhaW5lciAjdGVhc2VyIHNtYWxsLnN1YmhlYWRlciBhOmhvdmVyLCAuc2luZ2xlLXBvc3QgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbC5zdWJoZWFkZXIgYTpob3ZlciwgLmFyY2hpdmUgZGl2I3RlYXNlcl9jb250YWluZXIgI3RlYXNlciBzbWFsbC5zdWJoZWFkZXIgYTpob3ZlciwgLmVycm9yNDA0IGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIgc21hbGwuc3ViaGVhZGVyIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnZlcnRpY2FsX2FsaWduX3dyYXBwZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAudmVydGljYWxfYWxpZ25fd3JhcHBlciAudmVydGljYWxfYWxpZ24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4jZm9vdGVyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDMwMzA7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAubGlua19saXN0IGEge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2Zvb3Rlci1jb250YWluZXIgLmxpbmtfbGlzdCBhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTsgfSB9XG4gICNmb290ZXItY29udGFpbmVyIGE6bm90KC5idXR0b24pIHtcbiAgICBjb2xvcjogI2JkYmRiZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICNmb290ZXItY29udGFpbmVyIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciBwLmRlc2Mge1xuICAgIGNvbG9yOiAjYmRiZGJkO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAubGlua19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgI2Zvb3Rlci1jb250YWluZXIgaDIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNhZWNiZWI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI2Zvb3Rlci1jb250YWluZXIgaHIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjA2MDYwOyB9XG4gICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24ge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gPiBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzYwNjA2MDsgfVxuICAgICAgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiA+IGxpLmdvb2dsZXBsdXNfYWx0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTsgfVxuICAgICAgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiA+IGxpLmZhY2Vib29rX2FsdCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4ycmVtOyB9XG4gICAgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBhIGltZy5uZXdzbGV0dGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuICAgICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBhOmhvdmVyIHNwYW4uYWxlcnRfaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MDBweCAtMjI3cHg7IH1cbiAgICAjZm9vdGVyLWNvbnRhaW5lciB1bC5uYXZpZ2F0aW9uIC5uZXdzbGV0dGVyIC5maS1tYWlsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICBtYXJnaW46IC0wLjRlbSAwLjRlbSAtMC4yZW0gMDsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciBpZnJhbWUge1xuICAgIHZlcnRpY2FsLWFsaWduOiB1bnNldDsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuZ29vZ2xlX2FkLCAjZm9vdGVyLWNvbnRhaW5lciAuZ29vZ2xlX2FkIGlucy5hZHNieWdvb2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMzAzMDsgfVxuXG4uc2t5bGluZV93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgaGVpZ2h0OiAxMDlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2t5bGluZV93cmFwIC5za3lsaW5lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qICAgIGhlaWdodDogMTA0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNwcml0ZW1hcF91cmwpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChyZXRpbmEpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNwcml0ZW1hcF91cmxfcmV0aW5hKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRzcHJpdGVtYXBfdXJsX3JldGluYV9iZ19zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0yNjJweDsqL1xuICAgIC8qJGljb24tc2t5bGluZS1ncm91cDogKCdpY29uLXNreWxpbmUnLCAkc2t5bGluZSwgJHNreWxpbmUtMngpOyovXG4gICAgd2lkdGg6IDEyODdweDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTA5cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTFweCAwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTI4OXB4IDQwN3B4OyB9XG4gICAgLnNreWxpbmVfd3JhcCAuc2t5bGluZTpudGgtY2hpbGQoMikge1xuICAgICAgLypsZWZ0OiAkc2t5bGluZS13aWR0aCAtIDI7Ki8gfVxuXG4jY2hlYXAtaG9tZXMtc29jaWFsLW1lZGlhIC5pY29uIHtcbiAgLypoZWlnaHQ6IDQ5cHg7Ki9cbiAgLyp3aWR0aDogNDlweDsqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAjY2hlYXAtaG9tZXMtc29jaWFsLW1lZGlhIC5pY29uIGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC8qIE1ha2VzIHN1cmUgdGhlIGxpbmsgZG9lc24ndCBnZXQgdW5kZXJsaW5lZCAqL1xuICAgIHotaW5kZXg6IDEwO1xuICAgIC8qIHJhaXNlcyBhbmNob3IgdGFnIGFib3ZlIGV2ZXJ5dGhpbmcgZWxzZSBpbiBkaXYgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAvKndvcmthcm91bmQgdG8gbWFrZSBjbGlja2FibGUgaW4gSUUgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIC8qd29ya2Fyb3VuZCB0byBtYWtlIGNsaWNrYWJsZSBpbiBJRSAqL1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAvKndvcmthcm91bmQgdG8gbWFrZSBjbGlja2FibGUgaW4gSUUgKi8gfVxuXG4jY2hlYXAtaG9tZXMtc29jaWFsLW1lZGlhIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiZGJkO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiAwLjNyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAjY2hlYXAtaG9tZXMtc29jaWFsLW1lZGlhIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5ibG9nICNmb290ZXItY29udGFpbmVyICosIC5wYWdlICNmb290ZXItY29udGFpbmVyICosIC5zaW5nbGUtcG9zdCAjZm9vdGVyLWNvbnRhaW5lciAqLCAuYXJjaGl2ZSAjZm9vdGVyLWNvbnRhaW5lciAqIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmJsb2cgI2Zvb3Rlci1jb250YWluZXIgLmxpbmtfbGlzdCBhLCAucGFnZSAjZm9vdGVyLWNvbnRhaW5lciAubGlua19saXN0IGEsIC5zaW5nbGUtcG9zdCAjZm9vdGVyLWNvbnRhaW5lciAubGlua19saXN0IGEsIC5hcmNoaXZlICNmb290ZXItY29udGFpbmVyIC5saW5rX2xpc3QgYSB7XG4gIHBhZGRpbmctbGVmdDogMS42cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjZyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmxvZyAjZm9vdGVyLWNvbnRhaW5lciAubGlua19saXN0IGEsIC5wYWdlICNmb290ZXItY29udGFpbmVyIC5saW5rX2xpc3QgYSwgLnNpbmdsZS1wb3N0ICNmb290ZXItY29udGFpbmVyIC5saW5rX2xpc3QgYSwgLmFyY2hpdmUgI2Zvb3Rlci1jb250YWluZXIgLmxpbmtfbGlzdCBhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMuMnJlbTsgfSB9XG5cbi5ibG9nICNmb290ZXItY29udGFpbmVyIHAuZGVzYywgLnBhZ2UgI2Zvb3Rlci1jb250YWluZXIgcC5kZXNjLCAuc2luZ2xlLXBvc3QgI2Zvb3Rlci1jb250YWluZXIgcC5kZXNjLCAuYXJjaGl2ZSAjZm9vdGVyLWNvbnRhaW5lciBwLmRlc2Mge1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07IH1cblxuLmJsb2cgI2Zvb3Rlci1jb250YWluZXIgLmxpbmtfbGlzdCwgLnBhZ2UgI2Zvb3Rlci1jb250YWluZXIgLmxpbmtfbGlzdCwgLnNpbmdsZS1wb3N0ICNmb290ZXItY29udGFpbmVyIC5saW5rX2xpc3QsIC5hcmNoaXZlICNmb290ZXItY29udGFpbmVyIC5saW5rX2xpc3Qge1xuICBtYXJnaW4tdG9wOiAwLjhyZW07IH1cblxuLmJsb2cgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBsaS5nb29nbGVwbHVzX2FsdCwgLnBhZ2UgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBsaS5nb29nbGVwbHVzX2FsdCwgLnNpbmdsZS1wb3N0ICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gbGkuZ29vZ2xlcGx1c19hbHQsIC5hcmNoaXZlICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gbGkuZ29vZ2xlcGx1c19hbHQge1xuICBtYXJnaW4tdG9wOiAwLjMycmVtO1xuICBsaW5lLWhlaWdodDogMS42cmVtOyB9XG5cbi5ibG9nICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gbGkuZmFjZWJvb2tfYWx0LCAucGFnZSAjZm9vdGVyLWNvbnRhaW5lciB1bC5uYXZpZ2F0aW9uIGxpLmZhY2Vib29rX2FsdCwgLnNpbmdsZS1wb3N0ICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gbGkuZmFjZWJvb2tfYWx0LCAuYXJjaGl2ZSAjZm9vdGVyLWNvbnRhaW5lciB1bC5uYXZpZ2F0aW9uIGxpLmZhY2Vib29rX2FsdCB7XG4gIGxpbmUtaGVpZ2h0OiAyLjMycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMnJlbTsgfVxuXG4uYmxvZyAjZm9vdGVyLWNvbnRhaW5lciB1bC5uYXZpZ2F0aW9uIGEsIC5wYWdlICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gYSwgLnNpbmdsZS1wb3N0ICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gYSwgLmFyY2hpdmUgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBhIHtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJsb2cgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBhIGltZy5uZXdzbGV0dGVyLCAucGFnZSAjZm9vdGVyLWNvbnRhaW5lciB1bC5uYXZpZ2F0aW9uIGEgaW1nLm5ld3NsZXR0ZXIsIC5zaW5nbGUtcG9zdCAjZm9vdGVyLWNvbnRhaW5lciB1bC5uYXZpZ2F0aW9uIGEgaW1nLm5ld3NsZXR0ZXIsIC5hcmNoaXZlICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gYSBpbWcubmV3c2xldHRlciB7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XG5cbi5ibG9nICNmb290ZXItY29udGFpbmVyIHVsLm5hdmlnYXRpb24gYTpob3ZlciwgLnBhZ2UgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBhOmhvdmVyLCAuc2luZ2xlLXBvc3QgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBhOmhvdmVyLCAuYXJjaGl2ZSAjZm9vdGVyLWNvbnRhaW5lciB1bC5uYXZpZ2F0aW9uIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYmxvZyAjZm9vdGVyLWNvbnRhaW5lciB1bC5uYXZpZ2F0aW9uIGE6aG92ZXIgc3Bhbi5hbGVydF9pY29uLCAucGFnZSAjZm9vdGVyLWNvbnRhaW5lciB1bC5uYXZpZ2F0aW9uIGE6aG92ZXIgc3Bhbi5hbGVydF9pY29uLCAuc2luZ2xlLXBvc3QgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBhOmhvdmVyIHNwYW4uYWxlcnRfaWNvbiwgLmFyY2hpdmUgI2Zvb3Rlci1jb250YWluZXIgdWwubmF2aWdhdGlvbiBhOmhvdmVyIHNwYW4uYWxlcnRfaWNvbiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwMHB4IC0yMjdweDsgfVxuXG4uYmxvZyAjZm9vdGVyLWNvbnRhaW5lciBzdHJvbmcsIC5wYWdlICNmb290ZXItY29udGFpbmVyIHN0cm9uZywgLnNpbmdsZS1wb3N0ICNmb290ZXItY29udGFpbmVyIHN0cm9uZywgLmFyY2hpdmUgI2Zvb3Rlci1jb250YWluZXIgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZVxcIDUgQnJhbmRzO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKC9jc3MvZm9udHMvZmEtYnJhbmRzLTQwMC5lb3QpO1xuICBzcmM6IHVybCgvY3NzL2ZvbnRzL2ZhLWJyYW5kcy00MDAuZW90PyNpZWZpeCkgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybCgvY3NzL2ZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoL2Nzcy9mb250cy9mYS1icmFuZHMtNDAwLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCgvY3NzL2ZvbnRzL2ZhLWJyYW5kcy00MDAudHRmKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKC9jc3MvZm9udHMvZmEtYnJhbmRzLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4jZm9vdGVyLWNvbnRhaW5lciB7XG4gIC8qQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWVcXCA1IEZyZWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgc3JjOiB1cmwoL2Nzcy9mb250cy9mYS1yZWd1bGFyLTQwMC5lb3QpO1xuICAgICAgICBzcmM6IHVybCgvY3NzL2ZvbnRzL2ZhLXJlZ3VsYXItNDAwLmVvdD8jaWVmaXgpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoL2Nzcy9mb250cy9mYS1yZWd1bGFyLTQwMC53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybCgvY3NzL2ZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCgvY3NzL2ZvbnRzL2ZhLXJlZ3VsYXItNDAwLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCgvY3NzL2ZvbnRzL2ZhLXJlZ3VsYXItNDAwLnN2ZyNmb250YXdlc29tZSkgZm9ybWF0KFwic3ZnXCIpXG4gICAgfVxuICAgIFxuICAgIC5mYXIge1xuICAgICAgICBmb250LXdlaWdodDogNDAwXG4gICAgfVxuICAgIFxuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogRm9udCBBd2Vzb21lXFwgNSBGcmVlO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIHNyYzogdXJsKC9jc3MvZm9udHMvZmEtc29saWQtOTAwLmVvdCk7XG4gICAgICAgIHNyYzogdXJsKC9jc3MvZm9udHMvZmEtc29saWQtOTAwLmVvdD8jaWVmaXgpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoL2Nzcy9mb250cy9mYS1zb2xpZC05MDAud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoL2Nzcy9mb250cy9mYS1zb2xpZC05MDAud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC9jc3MvZm9udHMvZmEtc29saWQtOTAwLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCgvY3NzL2ZvbnRzL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdChcInN2Z1wiKVxuICAgIH0qL1xuICAvKi5mYSxcbiAgICAuZmFyLFxuICAgIC5mYXMge1xuICAgICAgICBmb250LWZhbWlseTogRm9udCBBd2Vzb21lXFwgNSBGcmVlXG4gICAgfVxuICAgIFxuICAgIC5mYSxcbiAgICAuZmFzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMFxuICAgIH0qLyB9XG4gICNmb290ZXItY29udGFpbmVyIC5mYWIge1xuICAgIGZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWVcXCA1IEJyYW5kczsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiAuZmEsXG4gICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIC5mYWIsXG4gICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIC5mYWwsXG4gICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIC5mYXIsXG4gICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIC5mYXMge1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiBsaSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiBsaSwgI2Zvb3Rlci1jb250YWluZXIgLnNoYXJpZmYgbGkgLnNoYXJlX2NvdW50LCAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiBsaSAuc2hhcmVfdGV4dCB7XG4gICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgVmVyZGFuYSwgXCJEZWphVnUgU2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiBsaSwgI2Zvb3Rlci1jb250YWluZXIgLnNoYXJpZmYgbGkgYSB7XG4gICAgICAvKmhlaWdodDogMzVweDsqL1xuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogMXB4IDA7IH1cbiAgICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiBsaSAuZmFiLCAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiBsaSAuZmFyLCAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiBsaSAuZmFzIHtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgLypsaW5lLWhlaWdodDogMzBweDsqL1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIGxpIC5zaGFyZV9jb3VudCwgI2Zvb3Rlci1jb250YWluZXIgLnNoYXJpZmYgbGkgLnNoYXJlX3RleHQge1xuICAgICAgLypsaW5lLWhlaWdodDogMzBweDsqL1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiBsaSAuc2hhcmVfY291bnQge1xuICAgICAgaGVpZ2h0OiAyOHB4OyB9XG4gICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiBhIHNwYW4uc2hhcmVfdGV4dCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZjphZnRlciwgI2Zvb3Rlci1jb250YWluZXIgLnNoYXJpZmY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiAuZmFjZWJvb2sgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNTk5ODsgfVxuICAgICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIC5mYWNlYm9vayBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjczYzg7IH1cbiAgI2Zvb3Rlci1jb250YWluZXIgLnNoYXJpZmYgLmZhY2Vib29rIC5mYS1mYWNlYm9vay1mIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiAuZmFjZWJvb2sgLmZhLWZhY2Vib29rLWY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxGMzlFXCI7IH1cbiAgI2Zvb3Rlci1jb250YWluZXIgLnNoYXJpZmYgLmdvb2dsZXBsdXMgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzNDgzNjsgfVxuICAgICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIC5nb29nbGVwbHVzIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NWI0NDsgfVxuICAjZm9vdGVyLWNvbnRhaW5lciAuc2hhcmlmZiAuZ29vZ2xlcGx1cyAuZmEtZ29vZ2xlLXBsdXMtZyB7XG4gICAgZm9udC1zaXplOiAxOXB4OyB9XG4gICAgI2Zvb3Rlci1jb250YWluZXIgLnNoYXJpZmYgLmdvb2dsZXBsdXMgLmZhLWdvb2dsZS1wbHVzLWc6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxGMEQ1XCI7IH1cbiAgI2Zvb3Rlci1jb250YWluZXIgLnNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTcwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2Zvb3Rlci1jb250YWluZXIgLnNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICNmb290ZXItY29udGFpbmVyIC5zaGFyaWZmIC5vcmllbnRhdGlvbi1ob3Jpem9udGFsLmJ1dHRvbi1zdHlsZS1zdGFuZGFyZCBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAtbXMtZmxleDogMSAwIGF1dG87XG4gICAgZmxleDogMSAwIGF1dG87IH1cblxuLmdvb2dsZV9hZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ29vZ2xlX2FkIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLmdvb2dsZV9hZCAuc3RhbmRhcmQtdG9wLCAuZ29vZ2xlX2FkIC5ob21lcGFnZS1tYWluLCAuZ29vZ2xlX2FkIC5zdGFuZGFyZC1ib3QsIC5nb29nbGVfYWQgLmNvbnRhY3QtdG9wLCAuZ29vZ2xlX2FkIC5mb290ZXIge1xuICAgIGhlaWdodDogOTBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZ29vZ2xlX2FkLmxpc3RfdmlldyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2NjYzsgfVxuICAuZ29vZ2xlX2FkIC5ub20tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNpbmdsZS1wb3N0IC5nb29nbGVfYWQsIC5ibG9nIC5nb29nbGVfYWQsIC5hcmNoaXZlIC5nb29nbGVfYWQsIC5lcnJvcjQwNCAuZ29vZ2xlX2FkIHtcbiAgbWFyZ2luLXRvcDogMS42cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjZyZW07IH1cbiAgLnNpbmdsZS1wb3N0IC5nb29nbGVfYWQsIC5zaW5nbGUtcG9zdCAuZ29vZ2xlX2FkIGlucy5hZHNieWdvb2dsZSwgLmJsb2cgLmdvb2dsZV9hZCwgLmJsb2cgLmdvb2dsZV9hZCBpbnMuYWRzYnlnb29nbGUsIC5hcmNoaXZlIC5nb29nbGVfYWQsIC5hcmNoaXZlIC5nb29nbGVfYWQgaW5zLmFkc2J5Z29vZ2xlLCAuZXJyb3I0MDQgLmdvb2dsZV9hZCwgLmVycm9yNDA0IC5nb29nbGVfYWQgaW5zLmFkc2J5Z29vZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG5cbmlucy5hZHNieWdvb2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLyohXG5DaG9zZW4sIGEgU2VsZWN0IEJveCBFbmhhbmNlciBmb3IgalF1ZXJ5IGFuZCBQcm90b3R5cGVcbmJ5IFBhdHJpY2sgRmlsbGVyIGZvciBIYXJ2ZXN0LCBodHRwOi8vZ2V0aGFydmVzdC5jb21cblxuVmVyc2lvbiAxLjguM1xuRnVsbCBzb3VyY2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL2hhcnZlc3RocS9jaG9zZW5cbkNvcHlyaWdodCAoYykgMjAxMS0yMDE4IEhhcnZlc3QgaHR0cDovL2dldGhhcnZlc3QuY29tXG5cbk1JVCBMaWNlbnNlLCBodHRwczovL2dpdGh1Yi5jb20vaGFydmVzdGhxL2Nob3Nlbi9ibG9iL21hc3Rlci9MSUNFTlNFLm1kXG5UaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGJ5IGBncnVudCBidWlsZGAsIGRvIG5vdCBlZGl0IGl0IGJ5IGhhbmQuXG4qL1xuLyogQGdyb3VwIEJhc2UgKi9cbi5jaG9zZW4tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qZm9udC1zaXplOiAxM3B4OyovXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmNob3Nlbi1jb250YWluZXIgKiB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLWRyb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogMTAxMDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qYm9yZGVyOiAxcHggc29saWQgI2FhYTsqL1xuICBib3JkZXItdG9wOiAwO1xuICAvKmJhY2tncm91bmQ6ICNmZmY7Ki9cbiAgLyogIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7Ki9cbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tZHJvcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmNob3Nlbi1jb250YWluZXIgLnNlYXJjaC1jaG9pY2UgLmdyb3VwLW5hbWUsIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tc2luZ2xlIC5ncm91cC1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvKmNvbG9yOiAjOTk5OTk5OyovIH1cblxuLmNob3Nlbi1jb250YWluZXIgLnNlYXJjaC1jaG9pY2UgLmdyb3VwLW5hbWU6YWZ0ZXIsIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tc2luZ2xlIC5ncm91cC1uYW1lOmFmdGVyIHtcbiAgY29udGVudDogXCI6XCI7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBTaW5nbGUgQ2hvc2VuICovXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKnBhZGRpbmc6IDAgMCAwIDhweDsqL1xuICAvKmhlaWdodDogMjVweDsqL1xuICAvKiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDIwJSwgI2ZmZiksIGNvbG9yLXN0b3AoNTAlLCAjZjZmNmY2KSwgY29sb3Itc3RvcCg1MiUsICNlZWUpLCB0bygjZjRmNGY0KSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZmZmIDIwJSwgI2Y2ZjZmNiA1MCUsICNlZWUgNTIlLCAjZjRmNGY0IDEwMCUpOyovXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC8qICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzcHggI2ZmZiBpbnNldCwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgM3B4ICNmZmYgaW5zZXQsIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiAjNDQ0OyovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLypsaW5lLWhlaWdodDogMjRweDsqL1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4OyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLypvcGFjaXR5OiAwOyovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgLypkaXNwbGF5OiBub25lOyovIH1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tZGVmYXVsdCB7XG4gIC8qY29sb3I6ICM5OTk7Ki8gfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKm1hcmdpbi1yaWdodDogMjZweDsqL1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUtd2l0aC1kZXNlbGVjdCBzcGFuIHtcbiAgLyptYXJnaW4tcmlnaHQ6IDM4cHg7Ki8gfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgYWJiciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogIHRvcDogNnB4O1xuICByaWdodDogMjZweDsqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7Ki9cbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2Nob3Nlbi1zcHJpdGUucG5nXCIpIC00MnB4IDFweCBuby1yZXBlYXQ7XG4gIC8qZm9udC1zaXplOiAxcHg7Ki8gfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgYWJicjpob3ZlciB7XG4gIC8qYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTEwcHg7Ki8gfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUuY2hvc2VuLWRpc2FibGVkIC5jaG9zZW4tc2luZ2xlIGFiYnI6aG92ZXIge1xuICAvKmJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4OyovIH1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qd2lkdGg6IDE4cHg7Ki9cbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvY2hvc2VuLXNwcml0ZS5wbmdcIikgbm8tcmVwZWF0IDBweCAycHg7IH1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDEwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMXJlbSAxLjNyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zZWFyY2ggaSB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxLjZyZW07XG4gICAgdG9wOiAwLjAycmVtO1xuICAgIGNvbG9yOiAjNjA2MDYwOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIG1hcmdpbjogMXB4IDA7XG4gIHBhZGRpbmc6IDRweCAyMHB4IDRweCA1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG91dGxpbmU6IDA7XG4gIC8qYm9yZGVyOiAxcHggc29saWQgI2FhYTsqL1xuICAvKmJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9jaG9zZW4tc3ByaXRlLnBuZ1wiKSBuby1yZXBlYXQgMTAwJSAtMjBweDsqL1xuICAvKmZvbnQtc2l6ZTogMWVtOyovXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLWRyb3Age1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICAvKmJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4OyovXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IH1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi1jb250YWluZXItc2luZ2xlLW5vc2VhcmNoIC5jaG9zZW4tc2VhcmNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBSZXN1bHRzICovXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMge1xuICAvKmNvbG9yOiAjNDQ0OyovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvKm1hcmdpbjogMCA0cHggNHB4IDA7Ki9cbiAgLypwYWRkaW5nOiAwIDAgMCA0cHg7Ki9cbiAgbWF4LWhlaWdodDogMjQwcHg7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDA7XG4gIC8qcGFkZGluZzogNXB4IDZweDsqL1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKmxpbmUtaGVpZ2h0OiAxNXB4OyovXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5hY3RpdmUtcmVzdWx0IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmRpc2FibGVkLXJlc3VsdCB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgLypjb2xvcjogI2NjYzsqL1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmhpZ2hsaWdodGVkIHtcbiAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjMzg3NWQ3OyovXG4gIC8qYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgyMCUsICMzODc1ZDcpLCBjb2xvci1zdG9wKDkwJSwgIzJhNjJiYykpOyovXG4gIC8qYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMzODc1ZDcgMjAlLCAjMmE2MmJjIDkwJSk7Ki9cbiAgLypjb2xvcjogI2ZmZjsqLyB9XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5uby1yZXN1bHRzIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMS4zcmVtOyB9XG4gIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5uby1yZXN1bHRzIHNwYW4ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1yZXN1bHQge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmdyb3VwLW9wdGlvbiB7XG4gIC8qcGFkZGluZy1sZWZ0OiAxNXB4OyovIH1cblxuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpIGVtIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBAZW5kICovXG4vKiBAZ3JvdXAgTXVsdGkgQ2hvc2VuICovXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgLypwYWRkaW5nOiAwIDVweDsqL1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAvKmJvcmRlcjogMXB4IHNvbGlkICNhYWE7Ki9cbiAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyovXG4gIC8qYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgxJSwgI2VlZSksIGNvbG9yLXN0b3AoMTUlLCAjZmZmKSk7Ki9cbiAgLypiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2VlZSAxJSwgI2ZmZiAxNSUpOyovXG4gIGN1cnNvcjogdGV4dDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAvKm1hcmdpbjogMXB4IDA7Ki9cbiAgcGFkZGluZzogMDtcbiAgLypoZWlnaHQ6IDI1cHg7Ki9cbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLypjb2xvcjogIzk5OTsqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKndpZHRoOiAyNXB4OyovIH1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qbWFyZ2luOiAzcHggNXB4IDNweCAwOyovXG4gIC8qcGFkZGluZzogM3B4IDIwcHggM3B4IDVweDsqL1xuICAvKmJvcmRlcjogMXB4IHNvbGlkICNhYWE7Ki9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKmJvcmRlci1yYWRpdXM6IDNweDsqL1xuICAvKmJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7Ki9cbiAgLypiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDIwJSwgI2Y0ZjRmNCksIGNvbG9yLXN0b3AoNTAlLCAjZjBmMGYwKSwgY29sb3Itc3RvcCg1MiUsICNlOGU4ZTgpLCB0bygjZWVlKSk7Ki9cbiAgLypiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2Y0ZjRmNCAyMCUsICNmMGYwZjAgNTAlLCAjZThlOGU4IDUyJSwgI2VlZSAxMDAlKTsqL1xuICAvKmJhY2tncm91bmQtc2l6ZTogMTAwJSAxOXB4OyovXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLyotd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggI2ZmZiBpbnNldCwgMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpOyovXG4gIC8qYm94LXNoYWRvdzogMCAwIDJweCAjZmZmIGluc2V0LCAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7Ki9cbiAgLypjb2xvcjogIzMzMzsqL1xuICAvKmxpbmUtaGVpZ2h0OiAxM3B4OyovXG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSBzcGFuIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKnRvcDogNHB4OyovXG4gIC8qcmlnaHQ6IDNweDsqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyp3aWR0aDogMTJweDsqL1xuICAvKmhlaWdodDogMTJweDsqL1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvY2hvc2VuLXNwcml0ZS5wbmdcIikgLTQycHggMXB4IG5vLXJlcGVhdDtcbiAgLypmb250LXNpemU6IDFweDsqLyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTEwcHg7IH1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UtZGlzYWJsZWQge1xuICAvKnBhZGRpbmctcmlnaHQ6IDVweDsqL1xuICAvKmJvcmRlcjogMXB4IHNvbGlkICNjY2M7Ki9cbiAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0OyovXG4gIC8qYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgyMCUsICNmNGY0ZjQpLCBjb2xvci1zdG9wKDUwJSwgI2YwZjBmMCksIGNvbG9yLXN0b3AoNTIlLCAjZThlOGU4KSwgdG8oI2VlZSkpOyovXG4gIC8qYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQgMjAlLCAjZjBmMGYwIDUwJSwgI2U4ZThlOCA1MiUsICNlZWUgMTAwJSk7Ki9cbiAgLypjb2xvcjogIzY2NjsqLyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlLWZvY3VzIHtcbiAgLypiYWNrZ3JvdW5kOiAjZDRkNGQ0OyovIH1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UtZm9jdXMgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMTBweDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLXJlc3VsdHMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1kcm9wIC5yZXN1bHQtc2VsZWN0ZWQge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIC8qY29sb3I6ICNjY2M7Ki9cbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBBY3RpdmUgICovXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUgLmNob3Nlbi1zaW5nbGUge1xuICAvKmJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7Ki9cbiAgLyotd2Via2l0LWJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpOyovXG4gIC8qYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7Ki8gfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSB7XG4gIC8qYm9yZGVyOiAxcHggc29saWQgI2FhYTsqL1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgLypiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDIwJSwgI2VlZSksIGNvbG9yLXN0b3AoODAlLCAjZmZmKSk7Ki9cbiAgLypiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2VlZSAyMCUsICNmZmYgODAlKTsqL1xuICAvKi13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggMCAjZmZmIGluc2V0OyovXG4gIC8qYm94LXNoYWRvdzogMCAxcHggMCAjZmZmIGluc2V0OyovIH1cblxuLmNob3Nlbi1jb250YWluZXItYWN0aXZlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUgZGl2IHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgLypiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMThweCAycHg7Ki8gfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUgLmNob3Nlbi1jaG9pY2VzIHtcbiAgLypib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyovXG4gIC8qLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsqL1xuICAvKmJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpOyovIH1cblxuLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAvKmNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7Ki8gfVxuXG4vKiBAZW5kICovXG4vKiBAZ3JvdXAgRGlzYWJsZWQgU3VwcG9ydCAqL1xuLmNob3Nlbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLXNpbmdsZSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uY2hvc2VuLWRpc2FibGVkIC5jaG9zZW4tY2hvaWNlcyAuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKiBAZW5kICovXG4vKiBAZ3JvdXAgUmlnaHQgdG8gTGVmdCAqL1xuLmNob3Nlbi1ydGwge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKnBhZGRpbmc6IDAgOHB4IDAgMDsqLyB9XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIHNwYW4ge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIC8qbWFyZ2luLWxlZnQ6IDI2cHg7Ki9cbiAgZGlyZWN0aW9uOiBydGw7IH1cblxuLmNob3Nlbi1ydGwgLmNob3Nlbi1zaW5nbGUtd2l0aC1kZXNlbGVjdCBzcGFuIHtcbiAgLyptYXJnaW4tbGVmdDogMzhweDsqLyB9XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIGRpdiB7XG4gIHJpZ2h0OiBhdXRvO1xuICAvKmxlZnQ6IDNweDsqLyB9XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIGFiYnIge1xuICByaWdodDogYXV0bztcbiAgLypsZWZ0OiAyNnB4OyovIH1cblxuLmNob3Nlbi1ydGwgLmNob3Nlbi1jaG9pY2VzIGxpIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSB7XG4gIC8qbWFyZ2luOiAzcHggNXB4IDNweCAwOyovXG4gIC8qcGFkZGluZzogM3B4IDVweCAzcHggMTlweDsqLyB9XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDRweDsgfVxuXG4uY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXJlc3VsdHMge1xuICBtYXJnaW46IDAgMCA0cHggNHB4O1xuICBwYWRkaW5nOiAwIDRweCAwIDA7IH1cblxuLmNob3Nlbi1ydGwgLmNob3Nlbi1yZXN1bHRzIGxpLmdyb3VwLW9wdGlvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiB7XG4gIGJvcmRlci1yaWdodDogbm9uZTsgfVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIHBhZGRpbmc6IDRweCA1cHggNHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9jaG9zZW4tc3ByaXRlLnBuZ1wiKSBuby1yZXBlYXQgLTMwcHggLTIwcHg7XG4gIGRpcmVjdGlvbjogcnRsOyB9XG5cbi5jaG9zZW4tcnRsLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNnB4IDJweDsgfVxuXG4uY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEycHggMnB4OyB9XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBSZXRpbmEgY29tcGF0aWJpbGl0eSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSB7XG4gIC5jaG9zZW4tcnRsIC5jaG9zZW4tc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgYWJicixcbiAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiLFxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyAuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSxcbiAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzLXNjcm9sbC1kb3duIHNwYW4sXG4gIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cy1zY3JvbGwtdXAgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2Nob3Nlbi1zcHJpdGVAMngucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1MnB4IDM3cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBAZW5kICovXG4ubGVhZmxldC1jbHVzdGVyLWFuaW0gLmxlYWZsZXQtbWFya2VyLWljb24sIC5sZWFmbGV0LWNsdXN0ZXItYW5pbSAubGVhZmxldC1tYXJrZXItc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgb3BhY2l0eSAwLjNzIGVhc2UtaW47IH1cblxuLmxlYWZsZXQtY2x1c3Rlci1zcGlkZXItbGVnIHtcbiAgLyogc3Ryb2tlLWRhc2hvZmZzZXQgKGR1cmF0aW9uIGFuZCBmdW5jdGlvbikgc2hvdWxkIG1hdGNoIHdpdGggbGVhZmxldC1tYXJrZXItaWNvbiB0cmFuc2Zvcm0gaW4gb3JkZXIgdG8gdHJhY2sgaXQgZXhhY3RseSAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgLXdlYmtpdC1zdHJva2Utb3BhY2l0eSAwLjNzIGVhc2UtaW47XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei1zdHJva2UtZGFzaG9mZnNldCAwLjNzIGVhc2Utb3V0LCAtbW96LXN0cm9rZS1vcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgLW8tdHJhbnNpdGlvbjogLW8tc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgLW8tc3Ryb2tlLW9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAwLjNzIGVhc2Utb3V0LCBzdHJva2Utb3BhY2l0eSAwLjNzIGVhc2UtaW47IH1cblxuLyogcmVxdWlyZWQgc3R5bGVzICovXG4ubGVhZmxldC1wYW5lLFxuLmxlYWZsZXQtdGlsZSxcbi5sZWFmbGV0LW1hcmtlci1pY29uLFxuLmxlYWZsZXQtbWFya2VyLXNoYWRvdyxcbi5sZWFmbGV0LXRpbGUtY29udGFpbmVyLFxuLmxlYWZsZXQtcGFuZSA+IHN2Zyxcbi5sZWFmbGV0LXBhbmUgPiBjYW52YXMsXG4ubGVhZmxldC16b29tLWJveCxcbi5sZWFmbGV0LWltYWdlLWxheWVyLFxuLmxlYWZsZXQtbGF5ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4ubGVhZmxldC1jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5sZWFmbGV0LXRpbGUsXG4ubGVhZmxldC1tYXJrZXItaWNvbixcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7IH1cblxuLyogU2FmYXJpIHJlbmRlcnMgbm9uLXJldGluYSB0aWxlIG9uIHJldGluYSBiZXR0ZXIgd2l0aCB0aGlzLCBidXQgQ2hyb21lIGlzIHdvcnNlICovXG4ubGVhZmxldC1zYWZhcmkgLmxlYWZsZXQtdGlsZSB7XG4gIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsgfVxuXG4vKiBoYWNrIHRoYXQgcHJldmVudHMgaHcgbGF5ZXJzIFwic3RyZXRjaGluZ1wiIHdoZW4gbG9hZGluZyBuZXcgdGlsZXMgKi9cbi5sZWFmbGV0LXNhZmFyaSAubGVhZmxldC10aWxlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxNjAwcHg7XG4gIGhlaWdodDogMTYwMHB4O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDsgfVxuXG4ubGVhZmxldC1tYXJrZXItaWNvbixcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiAubGVhZmxldC1jb250YWluZXIgc3ZnOiByZXNldCBzdmcgbWF4LXdpZHRoIGRlY2xlcmF0aW9uIHNoaXBwZWQgaW4gSm9vbWxhISAoam9vbWxhLm9yZykgMy54ICovXG4vKiAubGVhZmxldC1jb250YWluZXIgaW1nOiBtYXAgaXMgYnJva2VuIGluIEZGIGlmIHlvdSBoYXZlIG1heC13aWR0aDogMTAwJSBvbiB0aWxlcyAqL1xuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LW92ZXJsYXktcGFuZSBzdmcsXG4ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtbWFya2VyLXBhbmUgaW1nLFxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LXNoYWRvdy1wYW5lIGltZyxcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC10aWxlLXBhbmUgaW1nLFxuLmxlYWZsZXQtY29udGFpbmVyIGltZy5sZWFmbGV0LWltYWdlLWxheWVyIHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubGVhZmxldC1jb250YWluZXIubGVhZmxldC10b3VjaC16b29tIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXggcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXggcGFuLXk7IH1cblxuLmxlYWZsZXQtY29udGFpbmVyLmxlYWZsZXQtdG91Y2gtZHJhZyB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBpbmNoLXpvb207XG4gIC8qIEZhbGxiYWNrIGZvciBGRiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgcGluY2gtem9vbSAqL1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTsgfVxuXG4ubGVhZmxldC1jb250YWluZXIubGVhZmxldC10b3VjaC1kcmFnLmxlYWZsZXQtdG91Y2gtem9vbSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4ubGVhZmxldC1jb250YWluZXIge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBhIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDUxLCAxODEsIDIyOSwgMC40KTsgfVxuXG4ubGVhZmxldC10aWxlIHtcbiAgZmlsdGVyOiBpbmhlcml0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmxlYWZsZXQtdGlsZS1sb2FkZWQge1xuICB2aXNpYmlsaXR5OiBpbmhlcml0OyB9XG5cbi5sZWFmbGV0LXpvb20tYm94IHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiA4MDA7IH1cblxuLyogd29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg4MzE5ICovXG4ubGVhZmxldC1vdmVybGF5LXBhbmUgc3ZnIHtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubGVhZmxldC1wYW5lIHtcbiAgei1pbmRleDogNDAwOyB9XG5cbi5sZWFmbGV0LXRpbGUtcGFuZSB7XG4gIHotaW5kZXg6IDIwMDsgfVxuXG4ubGVhZmxldC1vdmVybGF5LXBhbmUge1xuICB6LWluZGV4OiA0MDA7IH1cblxuLmxlYWZsZXQtc2hhZG93LXBhbmUge1xuICB6LWluZGV4OiA1MDA7IH1cblxuLmxlYWZsZXQtbWFya2VyLXBhbmUge1xuICB6LWluZGV4OiA2MDA7IH1cblxuLmxlYWZsZXQtdG9vbHRpcC1wYW5lIHtcbiAgei1pbmRleDogNjUwOyB9XG5cbi5sZWFmbGV0LXBvcHVwLXBhbmUge1xuICB6LWluZGV4OiA3MDA7IH1cblxuLmxlYWZsZXQtbWFwLXBhbmUgY2FudmFzIHtcbiAgei1pbmRleDogMTAwOyB9XG5cbi5sZWFmbGV0LW1hcC1wYW5lIHN2ZyB7XG4gIHotaW5kZXg6IDIwMDsgfVxuXG4ubGVhZmxldC12bWwtc2hhcGUge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDsgfVxuXG4ubHZtbCB7XG4gIGJlaGF2aW9yOiB1cmwoI2RlZmF1bHQjVk1MKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLyogY29udHJvbCBwb3NpdGlvbmluZyAqL1xuLmxlYWZsZXQtY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogODAwO1xuICBwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7XG4gIC8qIElFIDktMTAgZG9lc24ndCBoYXZlIGF1dG8gKi9cbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLmxlYWZsZXQtdG9wLFxuLmxlYWZsZXQtYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubGVhZmxldC10b3Age1xuICB0b3A6IDA7IH1cblxuLmxlYWZsZXQtcmlnaHQge1xuICByaWdodDogMDsgfVxuXG4ubGVhZmxldC1ib3R0b20ge1xuICBib3R0b206IDA7IH1cblxuLmxlYWZsZXQtbGVmdCB7XG4gIGxlZnQ6IDA7IH1cblxuLmxlYWZsZXQtY29udHJvbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogYm90aDsgfVxuXG4ubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5sZWFmbGV0LXRvcCAubGVhZmxldC1jb250cm9sIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4ubGVhZmxldC1ib3R0b20gLmxlYWZsZXQtY29udHJvbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmxlYWZsZXQtbGVmdCAubGVhZmxldC1jb250cm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4vKiB6b29tIGFuZCBmYWRlIGFuaW1hdGlvbnMgKi9cbi5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC10aWxlIHtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7IH1cblxuLmxlYWZsZXQtZmFkZS1hbmltIC5sZWFmbGV0LXBvcHVwIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7IH1cblxuLmxlYWZsZXQtZmFkZS1hbmltIC5sZWFmbGV0LW1hcC1wYW5lIC5sZWFmbGV0LXBvcHVwIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubGVhZmxldC16b29tLWFuaW1hdGVkIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDsgfVxuXG4ubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cblxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXpvb20tYW5pbWF0ZWQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7IH1cblxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXRpbGUsXG4ubGVhZmxldC1wYW4tYW5pbSAubGVhZmxldC10aWxlIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAtbW96LXRyYW5zaXRpb246IG5vbmU7XG4gIC1vLXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXpvb20taGlkZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBjdXJzb3JzICovXG4ubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubGVhZmxldC1ncmFiIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogLW1vei1ncmFiOyB9XG5cbi5sZWFmbGV0LWNyb3NzaGFpcixcbi5sZWFmbGV0LWNyb3NzaGFpciAubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG4gIGN1cnNvcjogY3Jvc3NoYWlyOyB9XG5cbi5sZWFmbGV0LXBvcHVwLXBhbmUsXG4ubGVhZmxldC1jb250cm9sIHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5sZWFmbGV0LWRyYWdnaW5nIC5sZWFmbGV0LWdyYWIsXG4ubGVhZmxldC1kcmFnZ2luZyAubGVhZmxldC1ncmFiIC5sZWFmbGV0LWludGVyYWN0aXZlLFxuLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtbWFya2VyLWRyYWdnYWJsZSB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IC1tb3otZ3JhYmJpbmc7IH1cblxuLyogbWFya2VyICYgb3ZlcmxheXMgaW50ZXJhY3Rpdml0eSAqL1xuLmxlYWZsZXQtbWFya2VyLWljb24sXG4ubGVhZmxldC1tYXJrZXItc2hhZG93LFxuLmxlYWZsZXQtaW1hZ2UtbGF5ZXIsXG4ubGVhZmxldC1wYW5lID4gc3ZnIHBhdGgsXG4ubGVhZmxldC10aWxlLWNvbnRhaW5lciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5sZWFmbGV0LW1hcmtlci1pY29uLmxlYWZsZXQtaW50ZXJhY3RpdmUsXG4ubGVhZmxldC1pbWFnZS1sYXllci5sZWFmbGV0LWludGVyYWN0aXZlLFxuLmxlYWZsZXQtcGFuZSA+IHN2ZyBwYXRoLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7XG4gIC8qIElFIDktMTAgZG9lc24ndCBoYXZlIGF1dG8gKi9cbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLyogdmlzdWFsIHR3ZWFrcyAqL1xuLmxlYWZsZXQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2RkZDtcbiAgb3V0bGluZTogMDsgfVxuXG4ubGVhZmxldC1jb250YWluZXIgYSB7XG4gIGNvbG9yOiAjMDA3OEE4OyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtYWN0aXZlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIG9yYW5nZTsgfVxuXG4ubGVhZmxldC16b29tLWJveCB7XG4gIGJvcmRlcjogMnB4IGRvdHRlZCAjMzhmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLyogZ2VuZXJhbCB0eXBvZ3JhcGh5ICovXG4vKi5sZWFmbGV0LWNvbnRhaW5lciB7XG5cdGZvbnQ6IDEycHgvMS41IFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcblx0fSovXG4vKiBnZW5lcmFsIHRvb2xiYXIgc3R5bGVzICovXG4ubGVhZmxldC1iYXIge1xuICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjY1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5sZWFmbGV0LWJhciBhLFxuLmxlYWZsZXQtYmFyIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLypjb2xvcjogYmxhY2s7Ki8gfVxuXG4ubGVhZmxldC1iYXIgYSxcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5sZWFmbGV0LWJhciBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgfVxuXG4ubGVhZmxldC1iYXIgYTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgfVxuXG4ubGVhZmxldC1iYXIgYTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5sZWFmbGV0LWJhciBhLmxlYWZsZXQtZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIGNvbG9yOiAjYmJiOyB9XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWJhciBhIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGE6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7IH1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGE6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDsgfVxuXG4vKiB6b29tIGNvbnRyb2wgKi9cbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbixcbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXQge1xuICBmb250OiBib2xkIDE4cHggJ0x1Y2lkYSBDb25zb2xlJywgTW9uYWNvLCBtb25vc3BhY2U7XG4gIHRleHQtaW5kZW50OiAxcHg7IH1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC16b29tLWluLCAubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLXpvb20tb3V0IHtcbiAgZm9udC1zaXplOiAyMnB4OyB9XG5cbi8qIGxheWVycyBjb250cm9sICovXG4ubGVhZmxldC1jb250cm9sLWxheWVycyB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4ubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9sYXllcnMucG5nKTtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDsgfVxuXG4ubGVhZmxldC1yZXRpbmEgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvbGF5ZXJzLTJ4LnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjZweCAyNnB4OyB9XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7IH1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtbGlzdCxcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQge1xuICBwYWRkaW5nOiA2cHggMTBweCA2cHggNnB4O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1zY3JvbGxiYXIge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZy1yaWdodDogNXB4OyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlbGVjdG9yIHtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4OyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VwYXJhdG9yIHtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgbWFyZ2luOiA1cHggLTEwcHggNXB4IC02cHg7IH1cblxuLyogRGVmYXVsdCBpY29uIFVSTHMgKi9cbi5sZWFmbGV0LWRlZmF1bHQtaWNvbi1wYXRoIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvbWFya2VyLWljb24ucG5nKTsgfVxuXG4vKiBhdHRyaWJ1dGlvbiBhbmQgc2NhbGUgY29udHJvbHMgKi9cbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBtYXJnaW46IDA7IH1cblxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbixcbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBjb2xvcjogIzMzMzsgfVxuXG4ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24sXG4ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XG4gIGZvbnQtc2l6ZTogMTFweDsgfVxuXG4ubGVhZmxldC1sZWZ0IC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xuICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5sZWFmbGV0LWJvdHRvbSAubGVhZmxldC1jb250cm9sLXNjYWxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM3Nzc7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIHBhZGRpbmc6IDJweCA1cHggMXB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjNzc3O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZTpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3Nzc7IH1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbixcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLFxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIHtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLWxheWVycyxcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWJhciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfVxuXG4vKiBwb3B1cCAqL1xuLmxlYWZsZXQtcG9wdXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nOiAxcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7IH1cblxuLmxlYWZsZXQtcG9wdXAtY29udGVudCB7XG4gIG1hcmdpbjogMTNweCAxOXB4O1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgcCB7XG4gIG1hcmdpbjogMThweCAwOyB9XG5cbi5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubGVhZmxldC1wb3B1cC10aXAge1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBwYWRkaW5nOiAxcHg7XG4gIG1hcmdpbjogLTEwcHggYXV0byAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlcixcbi5sZWFmbGV0LXBvcHVwLXRpcCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICAvKmNvbG9yOiAjMzMzOyovXG4gIGJveC1zaGFkb3c6IDAgM3B4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiA0cHggNHB4IDAgMDtcbiAgYm9yZGVyOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGZvbnQ6IDE2cHgvMTRweCBUYWhvbWEsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjYzNjM2MzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4ubGVhZmxldC1jb250YWluZXIgYS5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi5sZWFmbGV0LXBvcHVwLXNjcm9sbGVkIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsgfVxuXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIge1xuICB6b29tOiAxOyB9XG5cbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLXRpcCB7XG4gIHdpZHRoOiAyNHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLjcwNzEwNjc4LCBNMTI9MC43MDcxMDY3OCwgTTIxPS0wLjcwNzEwNjc4LCBNMjI9MC43MDcxMDY3OClcIjtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLjcwNzEwNjc4LCBNMTI9MC43MDcxMDY3OCwgTTIxPS0wLjcwNzEwNjc4LCBNMjI9MC43MDcxMDY3OCk7IH1cblxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IC0xcHg7IH1cblxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udHJvbC16b29tLFxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udHJvbC1sYXllcnMsXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIsXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC10aXAge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OyB9XG5cbi8qIGRpdiBpY29uICovXG4ubGVhZmxldC1kaXYtaWNvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7IH1cblxuLyogVG9vbHRpcCAqL1xuLyogQmFzZSBzdHlsZXMgZm9yIHRoZSBlbGVtZW50IHRoYXQgaGFzIGEgdG9vbHRpcCAqL1xuLmxlYWZsZXQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjMjIyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4ubGVhZmxldC10b29sdGlwLmxlYWZsZXQtY2xpY2thYmxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4ubGVhZmxldC10b29sdGlwLXRvcDpiZWZvcmUsXG4ubGVhZmxldC10b29sdGlwLWJvdHRvbTpiZWZvcmUsXG4ubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlLFxuLmxlYWZsZXQtdG9vbHRpcC1yaWdodDpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLyogRGlyZWN0aW9ucyAqL1xuLmxlYWZsZXQtdG9vbHRpcC1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiA2cHg7IH1cblxuLmxlYWZsZXQtdG9vbHRpcC10b3Age1xuICBtYXJnaW4tdG9wOiAtNnB4OyB9XG5cbi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tOmJlZm9yZSxcbi5sZWFmbGV0LXRvb2x0aXAtdG9wOmJlZm9yZSB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC02cHg7IH1cblxuLmxlYWZsZXQtdG9vbHRpcC10b3A6YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAtMTJweDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsgfVxuXG4ubGVhZmxldC10b29sdGlwLWJvdHRvbTpiZWZvcmUge1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IC0xMnB4O1xuICBtYXJnaW4tbGVmdDogLTZweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsgfVxuXG4ubGVhZmxldC10b29sdGlwLWxlZnQge1xuICBtYXJnaW4tbGVmdDogLTZweDsgfVxuXG4ubGVhZmxldC10b29sdGlwLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDZweDsgfVxuXG4ubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlLFxuLmxlYWZsZXQtdG9vbHRpcC1yaWdodDpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTZweDsgfVxuXG4ubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlIHtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi1yaWdodDogLTEycHg7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmOyB9XG5cbi5sZWFmbGV0LXRvb2x0aXAtcmlnaHQ6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7IH1cblxuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBWZXJkYW5hLCBcIkRlamFWdSBTYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNTU1O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1uLCAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuXG4uc21hbGwtY2VudGVyZWQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1jZW50ZXJlZCwgLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11bmNlbnRlcmVkLFxuLnNtYWxsLXB1c2gtMCxcbi5zbWFsbC1wdWxsLTAge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5sYXJnZS1jZW50ZXJlZCwgLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmxhcmdlLXB1c2gtMCxcbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uY29sdW1uLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgVmVyZGFuYSwgXCJEZWphVnUgU2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDIuMTI1cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzU1NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICM0OTQ5NDk7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzU1NTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwYWE7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzU1NTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NDY0NjQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzU1NTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzU1NTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICM1NTU7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICM1NTU7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICM1NTU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzU1NTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDg1LCA4NSwgODUsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNTU1O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjNTU1OyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICM1NTU7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzU1NTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzU1NTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWNlYTsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uOyovXG4vKkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7Ki9cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzU1NTsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzU1NTsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLypAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzOyovXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjpiZWZvcmUsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICM1NTU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjNTU1OyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjNTU1OyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzU1NTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDg1LCA4NSwgODUsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICM1NTU7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjNTU1OyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICBjb2xvcjogIzU1NTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhO1xuICAgIGNvbG9yOiAjNTU1OyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gICAgY29sb3I6ICM1NTU7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2U0ZTE7XG4gICAgY29sb3I6ICM1NTU7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICM1NTU7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51IGxpLCAubWVudS5ob3Jpem9udGFsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZW51LmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51LmV4cGFuZGVkID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUubWVkaXVtLXNpbXBsZSA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkID4gbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LmxhcmdlLXNpbXBsZSA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGltZyxcbiAgLm1lbnUuaWNvbnMgaSxcbiAgLm1lbnUuaWNvbnMgc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm1lbnUuaWNvbnMgaW1nICsgc3BhbixcbiAgICAubWVudS5pY29ucyBpICsgc3BhbixcbiAgICAubWVudS5pY29ucyBzdmcgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lbnUuaWNvbi10b3AgaW1nLFxuICAubWVudS5pY29uLXRvcCBpLFxuICAubWVudS5pY29uLXRvcCBzdmcsIC5tZW51Lmljb24tcmlnaHQgaW1nLFxuICAubWVudS5pY29uLXJpZ2h0IGksXG4gIC5tZW51Lmljb24tcmlnaHQgc3ZnLCAubWVudS5pY29uLWJvdHRvbSBpbWcsXG4gIC5tZW51Lmljb24tYm90dG9tIGksXG4gIC5tZW51Lmljb24tYm90dG9tIHN2ZywgLm1lbnUuaWNvbi1sZWZ0IGltZyxcbiAgLm1lbnUuaWNvbi1sZWZ0IGksXG4gIC5tZW51Lmljb24tbGVmdCBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAubWVudS5pY29uLXRvcCBpbWcgKyBzcGFuLFxuICAgIC5tZW51Lmljb24tdG9wIGkgKyBzcGFuLFxuICAgIC5tZW51Lmljb24tdG9wIHN2ZyArIHNwYW4sIC5tZW51Lmljb24tcmlnaHQgaW1nICsgc3BhbixcbiAgICAubWVudS5pY29uLXJpZ2h0IGkgKyBzcGFuLFxuICAgIC5tZW51Lmljb24tcmlnaHQgc3ZnICsgc3BhbiwgLm1lbnUuaWNvbi1ib3R0b20gaW1nICsgc3BhbixcbiAgICAubWVudS5pY29uLWJvdHRvbSBpICsgc3BhbixcbiAgICAubWVudS5pY29uLWJvdHRvbSBzdmcgKyBzcGFuLCAubWVudS5pY29uLWxlZnQgaW1nICsgc3BhbixcbiAgICAubWVudS5pY29uLWxlZnQgaSArIHNwYW4sXG4gICAgLm1lbnUuaWNvbi1sZWZ0IHN2ZyArIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwLjI1cmVtIGF1dG8gMDsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IC5zdWJtZW51IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWVudS5hbGlnbi1jZW50ZXIgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgLnN1Ym1lbnUgbGkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbi8qQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTsqL1xuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4vKkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTsqL1xuLypAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87Ki9cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjNTU1OyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjNTU1OyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLmJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG4vKkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhczsqL1xuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuODEyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjNTU1OyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC44MTI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC44MTI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC44MTI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjNTU1OyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi8qQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7Ki9cbi8qQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7Ki9cbi8qQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7Ki9cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDg1LCA4NSwgODUsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICM1NTU7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICM1NTU7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzcwNzA3MDsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzY1NjU2NTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjNTU1O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDg1LCA4NSwgODUsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTE4LCAxMTgsIDExOCwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjNTU1O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGl0bGUtYmFyOjpiZWZvcmUsIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhhOGE4YTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNTU1O1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM1NTUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNTU1O1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNTU1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4udG9wLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAudG9wLWJhcjo6YmVmb3JlLCAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cbiAgLnRvcC1iYXItdGl0bGUgLm1lbnUtaWNvbiB7XG4gICAgYm90dG9tOiAycHg7IH1cblxuLnRvcC1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJzsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbmh0bWwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtdmVydGljYWw7IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGEuYnV0dG9uIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICBhLmJ1dHRvbiA+IHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYS5yZXZlcnQtaG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIGEucmV2ZXJ0LWhvdmVyOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGEuZ3Q6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMDBhMFxcMDAzZSc7IH1cblxuYVt0YXJnZXQ9XCJfYmxhbmtcIl06bm90KC5uby1ibGFuay1zeW1ib2wpOjphZnRlciB7XG4gIGNvbnRlbnQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBUUVsRVFWUjQycVhLd1FrQUlBeERVVWR4dE82L1JCUWtRWnZTaThJL3BMNEJvR3cvWFBraDRYaWdQbXNVZ2gwNjI2QWpSc2d4SFRrVVRoc0cyVC9zSWx6ZFRzcDUya1NTMXdBQUFBQkpSVTVFcmtKZ2dnPT0pO1xuICBvcGFjaXR5OiAwLjY7XG4gIG1hcmdpbjogMCAzcHggMCA1cHg7IH1cblxuYTpob3Zlcjpub3QoLmJ1dHRvbiksIGE6YWN0aXZlOm5vdCguYnV0dG9uKSwgYTpmb2N1czpub3QoLmJ1dHRvbikge1xuICAvKnRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyovXG4gIC8qdGV4dC1kZWNvcmF0aW9uOiBub25lOyovXG4gIC8qY29sb3I6ICRwcmltYXJ5X2NvbG9yOyovIH1cblxuc2VsZWN0IHtcbiAgbGluZS1oZWlnaHQ6IDEuNHJlbTsgfVxuXG4uaXRlbS1pbmRlbnQge1xuICBtYXJnaW4tbGVmdDogMC44cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLml0ZW0taW5kZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwM0FcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTAuN3JlbTtcbiAgICB0b3A6IC0wLjJyZW07XG4gICAgZm9udC1zaXplOiAxLjFyZW07IH1cblxuLmNvbHVtbi5leHBhbmRlZCwgLmV4cGFuZGVkLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5ub3BhZGRpbmctbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ubm9wYWRkaW5nLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4ubm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5oMyB7XG4gIG92ZXJmbG93LXdyYXA6IG5vcm1hbDsgfVxuXG5pLmZvbnQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuICBpLmZvbnQtaWNvbjpub3QoLmJvZHktZm9udC1jb2xvcikge1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gIGkuZm9udC1pY29uOmhvdmVyLCBpLmZvbnQtaWNvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjNTU1OyB9XG4gIGkuZm9udC1pY29uLnNvcnQudXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjViMlwiOyB9XG4gIGkuZm9udC1pY29uLnNvcnQuZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyNWJjXCI7IH1cbiAgaS5mb250LWljb24uc29ydC5ib3RoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDI1YjJcXDI1YmNcIjsgfVxuICBpLmZvbnQtaWNvbi50YXJnZXQtYmxhbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyOUM5JzsgfVxuICBpLmZvbnQtaWNvbi5jaXJjbGUtMS0yLWVtIHtcbiAgICBjb2xvcjogIzU1NTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM1NTU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2lkdGg6IDEuMmVtO1xuICAgIGhlaWdodDogMS4yZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4ycmVtOyB9XG4gIGkuZm9udC1pY29uLmFsZXJ0IHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICBpLmZvbnQtaWNvbi53YXJuaW5nIHtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuXG5kaXYubm9iciwgc3Bhbi5ub2JyIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbnVsLmJ1dHRvbi1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgdWwuYnV0dG9uLWxpc3QgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIHVsLmJ1dHRvbi1saXN0IGxpIC5maS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDsgfVxuICAgIHVsLmJ1dHRvbi1saXN0IGxpIGEuYWRkb25zLCB1bC5idXR0b24tbGlzdCBsaSAuZmktaWNvbiB7XG4gICAgICBjb2xvcjogI2Q3NzsgfVxuICAgICAgdWwuYnV0dG9uLWxpc3QgbGkgYS5hZGRvbnM6aG92ZXIsIHVsLmJ1dHRvbi1saXN0IGxpIC5maS1pY29uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNjNTU7IH1cblxuI21hcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI21hcC1jb250YWluZXIgZGl2I2luZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAjbWFwLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDk1dnc7IH0gfVxuXG4jbWFwLWNvbnRhaW5lci5zaGFkb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4jbWFwLWNvbnRhaW5lci5zaGFkb3dzOmJlZm9yZSB7XG4gIHRvcDogLTEwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwcHg7IH1cblxuI21hcC1jb250YWluZXIuc2hhZG93czphZnRlciB7XG4gIHJpZ2h0OiAtMTBweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMHB4OyB9XG5cbiNtYXAtY2FudmFzLnNoYWRvd3M6YmVmb3JlIHtcbiAgYm90dG9tOiAtMTBweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTBweDsgfVxuXG4jbWFwLWNhbnZhcy5zaGFkb3dzOmFmdGVyIHtcbiAgbGVmdDogLTEwcHg7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgI21hcC1jYW52YXMsICNtYXAtY2FudmFzLWxvYWRpbmcge1xuICAgIGhlaWdodDogNDUwcHg7XG4gICAgbWF4LWhlaWdodDogNzV2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNtYXAtY2FudmFzLCAjbWFwLWNhbnZhcy1sb2FkaW5nIHtcbiAgICBoZWlnaHQ6IDQ1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI21hcC1jYW52YXMsICNtYXAtY2FudmFzLWxvYWRpbmcge1xuICAgIGhlaWdodDogNjAwcHg7IH0gfVxuXG5kaXYubWFwX3ZpZXcjbWFwLWNhbnZhcywgZGl2Lm1hcF92aWV3I21hcC1jYW52YXMtbG9hZGluZyB7XG4gIGhlaWdodDogNzV2aDsgfVxuXG4jbWFwLWNhbnZhcy1sb2FkaW5nIHtcbiAgei1pbmRleDogMTAwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgI21hcC1jYW52YXMtbG9hZGluZyBkaXYgZGl2IGRpdi5sb2FkaW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuXG4ubWFwc19vdmVybGF5IHtcbiAgLypwb3NpdGlvbjogcmVsYXRpdmU7Ki9cbiAgdG9wOiAtNDUwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hcHNfb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC00NTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1hcHNfb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC02MDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tYXBzX292ZXJsYXkgPiBkaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG5cbiNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyBzZWxlY3QsICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgLmNob3Nlbi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMi4ycmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgIC8qYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjsqL1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBoZWlnaHQ6IDg0cHg7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgd2lkdGg6IDI0NXB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2NoZWFwLWhvbWUtbG9nb3MvaWNvbnMvYXJyb3ctYm90dG9tLnBuZ1wiKSBuby1yZXBlYXQgOTAlICMzMDMwMzA7XG4gICAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcbiAgICB0ZXh0LW92ZXJmbG93OiBcIlwiO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MDsgfVxuICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjODA4MDgwOyB9XG4gICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMge1xuICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogIzgwODA4MDtcbiAgICBzY3JvbGxiYXItZmFjZS1jb2xvcjogIzMzMztcbiAgICBzY3JvbGxiYXItYXJyb3ctY29sb3I6ICMzMzM7XG4gICAgLypzY3JvbGxiYXItdHJhY2stY29sb3I6IHJlZDsqLyB9XG4gICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyAuY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICAvKiAgICAgICAgKiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfSovIH1cbiAgICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgLmNob3Nlbi1jb250YWluZXIgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcGFkZGluZzogMCAyLjJyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsaW5lLWhlaWdodDogODRweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG4gICAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nICNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLmNvbnRpbmVudCwgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nICNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkuY29udGluZW50IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nICNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLm5vLXJlc3VsdHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nIC5jaG9zZW4tZHJvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYwNjA2MDtcbiAgICAvKiAgICAgICAgJiAqIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIH0qLyB9XG4gICAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nIC5jaG9zZW4tZHJvcCAuY2hvc2VuLXNlYXJjaC1pbnB1dCB7XG4gICAgICBib3JkZXI6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyovXG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAgICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyAuY2hvc2VuLWRyb3AgLmNob3Nlbi1yZXN1bHRzIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgLmNob3Nlbi1kcm9wIC5jaG9zZW4tcmVzdWx0cyBsaS5oaWdobGlnaHRlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5MDkwOTA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjMzMzIDEwJSwgIzQ0NCA4MCUpOyB9XG4gICAgICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgLmNob3Nlbi1kcm9wIC5jaG9zZW4tcmVzdWx0cyBsaS5uby1yZXN1bHRzIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcmVtOyB9XG4gICAgICAgICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyAuY2hvc2VuLWRyb3AgLmNob3Nlbi1yZXN1bHRzIGxpLm5vLXJlc3VsdHMgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICMzMDMwMzA7IH1cbiAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nIHNlbGVjdDpob3ZlciwgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nIC5jaG9zZW4tY29udGFpbmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjA2MDYwOyB9XG4gICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnN1Ym1pdC1ob21lcGFnZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4OyB9XG4gICAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uc3VibWl0LWhvbWVwYWdlLnB1MjBrIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2NoZWFwLWhvbWUtbG9nb3MvaWNvbnMvYXJyb3ctcmlnaHQucG5nXCIpIG5vLXJlcGVhdCA5MCUgI2RiNTgzODsgfVxuICAgICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnN1Ym1pdC1ob21lcGFnZS5wdTUwayB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9jaGVhcC1ob21lLWxvZ29zL2ljb25zL2Fycm93LXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgOTAlICMzZjdmOWQ7IH1cbiAgICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5zdWJtaXQtaG9tZXBhZ2UucHU5OWsge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vY2hlYXAtaG9tZS1sb2dvcy9pY29ucy9hcnJvdy1yaWdodC5wbmdcIikgbm8tcmVwZWF0IDkwJSAjN2VhMzQ3OyB9XG4gICAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uc3VibWl0LWhvbWVwYWdlLnB1MTAwayB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9jaGVhcC1ob21lLWxvZ29zL2ljb25zL2Fycm93LXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgOTAlICM3ZWEzNDc7IH1cbiAgICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5zdWJtaXQtaG9tZXBhZ2UucGFtcCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9jaGVhcC1ob21lLWxvZ29zL2ljb25zL2Fycm93LXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgOTAlICNkNGExMWI7IH1cbiAgICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5zdWJtaXQtaG9tZXBhZ2UuYXJlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2NoZWFwLWhvbWUtbG9nb3MvaWNvbnMvYXJyb3ctcmlnaHQucG5nXCIpIG5vLXJlcGVhdCA5MCUgI2Q0YTExYjsgfVxuICAgICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnN1Ym1pdC1ob21lcGFnZS5scDRmIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2NoZWFwLWhvbWUtbG9nb3MvaWNvbnMvYXJyb3ctcmlnaHQucG5nXCIpIG5vLXJlcGVhdCA5MCUgI2IzMzY1NzsgfVxuICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5zdWJtaXQtaG9tZXBhZ2UucHUyMGs6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMzRmMzM7IH1cbiAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uc3VibWl0LWhvbWVwYWdlLnB1NTBrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg3MjhkOyB9XG4gICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnN1Ym1pdC1ob21lcGFnZS5wdTk5azpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZkOGQzZTsgfVxuICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5zdWJtaXQtaG9tZXBhZ2UucHUxMDBrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ4ZDNlOyB9XG4gICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnN1Ym1pdC1ob21lcGFnZS5wYW1wOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzA5MTE5OyB9XG4gICNwcm9wZXJ0eV9zZWFyY2hfbGFuZGluZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnN1Ym1pdC1ob21lcGFnZS5hcmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMDkxMTk7IH1cbiAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uc3VibWl0LWhvbWVwYWdlLmxwNGY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MzE2Mzc7IH1cbiAgI3Byb3BlcnR5X3NlYXJjaF9sYW5kaW5nICNzZWFyY2hfY291bnRyeSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAjcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcgI3NlYXJjaF9jb3VudHJ5IC5jb250aW5lbnQge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4ub3ZlcmxheS1ib3gge1xuICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLm92ZXJsYXktYm94IHtcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub3ZlcmxheS1ib3gge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuNyk7IH0gfVxuICAub3ZlcmxheS1ib3ggLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMS42ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIC8qaGVpZ2h0OiA2ZW07Ki9cbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9jaGVhcC1ob21lLWxvZ29zL2ljb25zL2Fycm93LXJpZ2h0LnBuZykgbm8tcmVwZWF0IDkwJSAjYjMzNjU3O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9jaGVhcC1ob21lLWxvZ29zL2ljb25zL2Fycm93LXJpZ2h0LnBuZyk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7IH1cbiAgICAub3ZlcmxheS1ib3ggLmJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTMxNjM3OyB9XG4gIC5vdmVybGF5LWJveCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5vdmVybGF5LWJveCAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gIC5vdmVybGF5LWJveCAub3ZlcmxheS1ib3gtaXRlbSwgLm92ZXJsYXktYm94IC5oZWFkbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRBNEE0QTsgfVxuICAub3ZlcmxheS1ib3ggLmhlYWRsaW5lIHtcbiAgICBwYWRkaW5nOiAxZW0gMC41ZW0gMWVtOyB9XG4gIC5vdmVybGF5LWJveCAuaGVhZGxpbmUsIC5vdmVybGF5LWJveCAuc3ViLWhlYWRsaW5lIGgyIHtcbiAgICAvKmZvbnQtd2VpZ2h0OiBib2xkOyovXG4gICAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgLm92ZXJsYXktYm94IC5zdWItaGVhZGxpbmUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgLypjb2xvcjogJGxwNGZfY29sb3I7Ki8gfVxuICAgIC5vdmVybGF5LWJveCAuc3ViLWhlYWRsaW5lIGgyIHtcbiAgICAgIC8qZm9udC1zaXplOiAxNTAlOyovXG4gICAgICBsaW5lLWhlaWdodDogMS4xOyB9XG4gIC5vdmVybGF5LWJveCAuZGVzY3JpcHRpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm92ZXJsYXktYm94IC5vdmVybGF5LWJveC1pdGVtIHtcbiAgICBwYWRkaW5nOiAwLjhlbSAxLjZlbTsgfVxuICAub3ZlcmxheS1ib3gucm93IC5yb3c6Zmlyc3Qtb2YtdHlwZSAub3ZlcmxheS1ib3gtaXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDEuNnJlbTsgfVxuICAub3ZlcmxheS1ib3gucm93IC5yb3c6bnRoLWxhc3QtY2hpbGQoMSkgLm92ZXJsYXktYm94LWl0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjZyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3ZlcmxheS1ib3ggLm92ZXJsYXktYm94LWl0ZW0ge1xuICAgICAgcGFkZGluZzogMC45ZW0gMS43ZW07IH1cbiAgICAub3ZlcmxheS1ib3gucm93IC5yb3c6Zmlyc3Qtb2YtdHlwZSAub3ZlcmxheS1ib3gtaXRlbSB7XG4gICAgICBwYWRkaW5nLXRvcDogMS45cmVtOyB9XG4gICAgLm92ZXJsYXktYm94LnJvdyAucm93Om50aC1sYXN0LWNoaWxkKDEpIC5vdmVybGF5LWJveC1pdGVtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjlyZW07IH0gfVxuICAub3ZlcmxheS1ib3ggLmljb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8qaGVpZ2h0OiA2MHB4OyovXG4gICAgLyp3aWR0aDogNjBweDsqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKmRpc3BsYXk6IGlubGluZS1ibG9jazsqL1xuICAgIG1hcmdpbi1yaWdodDogMWVtOyB9XG5cbiN3aGF0c19uZXdfYm94LCAjYmxvZ19ib3gsICNzcG90bGlnaHRfYm94IHtcbiAgcGFkZGluZzogMzBweCAwIDMwcHg7XG4gIGNvbG9yOiAjZmZmOyB9XG4gICN3aGF0c19uZXdfYm94IC5pbWctd3JhcCwgI2Jsb2dfYm94IC5pbWctd3JhcCwgI3Nwb3RsaWdodF9ib3ggLmltZy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMzAwcHg7IH1cbiAgI3doYXRzX25ld19ib3ggLmltZy13cmFwLXNwb3RsaWdodCwgI2Jsb2dfYm94IC5pbWctd3JhcC1zcG90bGlnaHQsICNzcG90bGlnaHRfYm94IC5pbWctd3JhcC1zcG90bGlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLypoZWlnaHQ6IDI4NHB4OyovXG4gICAgbWFyZ2luLWJvdHRvbTogLTE2cHg7IH1cbiAgICAjd2hhdHNfbmV3X2JveCAuaW1nLXdyYXAtc3BvdGxpZ2h0IGltZywgI2Jsb2dfYm94IC5pbWctd3JhcC1zcG90bGlnaHQgaW1nLCAjc3BvdGxpZ2h0X2JveCAuaW1nLXdyYXAtc3BvdGxpZ2h0IGltZyB7XG4gICAgICBtaW4taGVpZ2h0OiA0cmVtOyB9XG5cbiNzcG90bGlnaHRfYm94IC5hZC1wcmV2aWV3LXNwb3RsaWdodCwgI3doYXRzX25ld19ib3ggLmFkLXByZXZpZXcuaW5mby1ib3gtY29udGFpbmVyIHtcbiAgLypkaXNwbGF5OiBmbGV4OyovXG4gIHdpZHRoOiAzMDBweDtcbiAgLypoZWlnaHQ6IDMwMHB4OyovXG4gIG1heC13aWR0aDogOTglOyB9XG4gICNzcG90bGlnaHRfYm94IC5hZC1wcmV2aWV3LXNwb3RsaWdodCBpbWcsICN3aGF0c19uZXdfYm94IC5hZC1wcmV2aWV3LmluZm8tYm94LWNvbnRhaW5lciBpbWcge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTsqL1xuICAgIC8qaGVpZ2h0OiAzMDBweDsqLyB9XG5cbiNzcG90bGlnaHRfYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYwNjA2MDsgfVxuICAjc3BvdGxpZ2h0X2JveCAuYWQtcHJldmlldy1zcG90bGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAjc3BvdGxpZ2h0X2JveCAuYWQtcHJldmlldy1zcG90bGlnaHQgLmluZm8tYm94LWJvdHRvbSB7XG4gICAgICBoZWlnaHQ6IDIwcmVtO1xuICAgICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTNyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgI3Nwb3RsaWdodF9ib3ggLmFkLXByZXZpZXctc3BvdGxpZ2h0IC5pbmZvLWJveC1ib3R0b20gLnB0eV9wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAjc3BvdGxpZ2h0X2JveCAuYWQtcHJldmlldy1zcG90bGlnaHQgLmluZm8tYm94LWJvdHRvbSAucHR5X25hbWUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICNkYjU4Mzg7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgICAgI3Nwb3RsaWdodF9ib3ggLmFkLXByZXZpZXctc3BvdGxpZ2h0IC5pbmZvLWJveC1ib3R0b20gLnB0eV9kZXRhaWxzIHtcbiAgICAgICAgY29sb3I6ICM1NTU7IH1cbiAgICAgICNzcG90bGlnaHRfYm94IC5hZC1wcmV2aWV3LXNwb3RsaWdodCAuaW5mby1ib3gtYm90dG9tOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzAwMCwgI2ZmZik7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApLCAjZmZmKTsgfVxuICAjc3BvdGxpZ2h0X2JveCAucmVhZC1tb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMXJlbTtcbiAgICB6LWluZGV4OiAyMDsgfVxuICAgICNzcG90bGlnaHRfYm94IC5yZWFkLW1vcmUgYSB7XG4gICAgICBjb2xvcjogI2RiNTgzODtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAjc3BvdGxpZ2h0X2JveCAucmVhZC1tb3JlIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jd2hhdHNfbmV3X2JveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDMwMzA7IH1cbiAgI3doYXRzX25ld19ib3ggcCBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICN3aGF0c19uZXdfYm94IHAgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgI3doYXRzX25ld19ib3ggLmRlc2NyaXB0aW9uLCAjd2hhdHNfbmV3X2JveCAuZGVzY3JpcHRpb24gcCBhIHtcbiAgICBjb2xvcjogI0NDQ0NDQzsgfVxuICAjd2hhdHNfbmV3X2JveCAuc2hvdy1mb3ItbGFyZ2UgLmFkLXByZXZpZXcuZ2FkIHtcbiAgICBoZWlnaHQ6IDMxNXB4OyB9XG5cbiNibG9nX2JveC5scDRmIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMzY1NzsgfVxuXG4jYmxvZ19ib3gucHUyMGsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGI1ODM4OyB9XG5cbiNibG9nX2JveC5wdTUwayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZjdmOWQ7IH1cblxuI2Jsb2dfYm94LnB1OTlrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdlYTM0NzsgfVxuXG4jYmxvZ19ib3gucHUxMDBrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdlYTM0NzsgfVxuXG4jYmxvZ19ib3gucGFtcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGExMWI7IH1cblxuI2Jsb2dfYm94LmFyZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGExMWI7IH1cblxuYnV0dG9uLnNsaWNrLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qLmJ1dHRvbi1yb3cgLmJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IDNyZW07XHJcbn0qL1xuLnJvdyAucm93IHtcbiAgbWF4LXdpZHRoOiA3NXJlbTsgfVxuXG4uYWQtcHJldmlldywgLmJsb2ctcHJldmlldywgLmFkLXByZXZpZXctc3BvdGxpZ2h0IHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWQtcHJldmlldywgLmJsb2ctcHJldmlldywgLmFkLXByZXZpZXctc3BvdGxpZ2h0IHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIC8qaGVpZ2h0OiAzMDBweDsqLyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWQtcHJldmlldywgLmJsb2ctcHJldmlldywgLmFkLXByZXZpZXctc3BvdGxpZ2h0IHtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxuICAuYWQtcHJldmlldy5hdXRvd2lkdGgsIC5ibG9nLXByZXZpZXcuYXV0b3dpZHRoLCAuYWQtcHJldmlldy1zcG90bGlnaHQuYXV0b3dpZHRoIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuYWQtcHJldmlldy5hdXRvaGVpZ2h0LCAuYmxvZy1wcmV2aWV3LmF1dG9oZWlnaHQsIC5hZC1wcmV2aWV3LXNwb3RsaWdodC5hdXRvaGVpZ2h0IHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmFkLXByZXZpZXcud2l0aC1ib3JkZXIsIC5ibG9nLXByZXZpZXcud2l0aC1ib3JkZXIsIC5hZC1wcmV2aWV3LXNwb3RsaWdodC53aXRoLWJvcmRlciB7XG4gICAgLyogICAgICAgIHdpZHRoOiAzMDZweDsqL1xuICAgIC8qbWFyZ2luOiAxMHB4OyovXG4gICAgYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIGJvcmRlci13aWR0aDogMC4zZW07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgLyp0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0OyovIH1cbiAgLmFkLXByZXZpZXcud2l0aC1vdXRsaW5lLCAuYmxvZy1wcmV2aWV3LndpdGgtb3V0bGluZSwgLmFkLXByZXZpZXctc3BvdGxpZ2h0LndpdGgtb3V0bGluZSB7XG4gICAgLyogICAgICAgIHdpZHRoOiAzMDZweDsqL1xuICAgIC8qbWFyZ2luOiAxMHB4OyovXG4gICAgb3V0bGluZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICBvdXRsaW5lLXdpZHRoOiAwLjNlbTtcbiAgICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBvdXRsaW5lLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgIC8qdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLWluLW91dDsqLyB9XG4gIC5hZC1wcmV2aWV3LCAuYWQtcHJldmlldyAuaW5mby1ib3gtY29udGFpbmVyLCAuYWQtcHJldmlldy5pbmZvLWJveC1jb250YWluZXIsIC5hZC1wcmV2aWV3IC5idXR0b25fY29udGFpbmVyLCAuYWQtcHJldmlldy5idXR0b25fY29udGFpbmVyLCAuYmxvZy1wcmV2aWV3LCAuYmxvZy1wcmV2aWV3IC5pbmZvLWJveC1jb250YWluZXIsIC5ibG9nLXByZXZpZXcuaW5mby1ib3gtY29udGFpbmVyLCAuYmxvZy1wcmV2aWV3IC5idXR0b25fY29udGFpbmVyLCAuYmxvZy1wcmV2aWV3LmJ1dHRvbl9jb250YWluZXIsIC5hZC1wcmV2aWV3LXNwb3RsaWdodCwgLmFkLXByZXZpZXctc3BvdGxpZ2h0IC5pbmZvLWJveC1jb250YWluZXIsIC5hZC1wcmV2aWV3LXNwb3RsaWdodC5pbmZvLWJveC1jb250YWluZXIsIC5hZC1wcmV2aWV3LXNwb3RsaWdodCAuYnV0dG9uX2NvbnRhaW5lciwgLmFkLXByZXZpZXctc3BvdGxpZ2h0LmJ1dHRvbl9jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5hZC1wcmV2aWV3IC52ZXJ0aWNhbF9jZW50ZXIsIC5hZC1wcmV2aWV3IC5pbmZvLWJveC1jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlciwgLmFkLXByZXZpZXcuaW5mby1ib3gtY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXIsIC5hZC1wcmV2aWV3IC5idXR0b25fY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXIsIC5hZC1wcmV2aWV3LmJ1dHRvbl9jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlciwgLmJsb2ctcHJldmlldyAudmVydGljYWxfY2VudGVyLCAuYmxvZy1wcmV2aWV3IC5pbmZvLWJveC1jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlciwgLmJsb2ctcHJldmlldy5pbmZvLWJveC1jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlciwgLmJsb2ctcHJldmlldyAuYnV0dG9uX2NvbnRhaW5lciAudmVydGljYWxfY2VudGVyLCAuYmxvZy1wcmV2aWV3LmJ1dHRvbl9jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlciwgLmFkLXByZXZpZXctc3BvdGxpZ2h0IC52ZXJ0aWNhbF9jZW50ZXIsIC5hZC1wcmV2aWV3LXNwb3RsaWdodCAuaW5mby1ib3gtY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXIsIC5hZC1wcmV2aWV3LXNwb3RsaWdodC5pbmZvLWJveC1jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlciwgLmFkLXByZXZpZXctc3BvdGxpZ2h0IC5idXR0b25fY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXIsIC5hZC1wcmV2aWV3LXNwb3RsaWdodC5idXR0b25fY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5hZC1wcmV2aWV3IC52ZXJ0aWNhbF9jZW50ZXJfMWNoOmZpcnN0LWNoaWxkLCAuYWQtcHJldmlldyAuaW5mby1ib3gtY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXJfMWNoOmZpcnN0LWNoaWxkLCAuYWQtcHJldmlldy5pbmZvLWJveC1jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlcl8xY2g6Zmlyc3QtY2hpbGQsIC5hZC1wcmV2aWV3IC5idXR0b25fY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXJfMWNoOmZpcnN0LWNoaWxkLCAuYWQtcHJldmlldy5idXR0b25fY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXJfMWNoOmZpcnN0LWNoaWxkLCAuYmxvZy1wcmV2aWV3IC52ZXJ0aWNhbF9jZW50ZXJfMWNoOmZpcnN0LWNoaWxkLCAuYmxvZy1wcmV2aWV3IC5pbmZvLWJveC1jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlcl8xY2g6Zmlyc3QtY2hpbGQsIC5ibG9nLXByZXZpZXcuaW5mby1ib3gtY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXJfMWNoOmZpcnN0LWNoaWxkLCAuYmxvZy1wcmV2aWV3IC5idXR0b25fY29udGFpbmVyIC52ZXJ0aWNhbF9jZW50ZXJfMWNoOmZpcnN0LWNoaWxkLCAuYmxvZy1wcmV2aWV3LmJ1dHRvbl9jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlcl8xY2g6Zmlyc3QtY2hpbGQsIC5hZC1wcmV2aWV3LXNwb3RsaWdodCAudmVydGljYWxfY2VudGVyXzFjaDpmaXJzdC1jaGlsZCwgLmFkLXByZXZpZXctc3BvdGxpZ2h0IC5pbmZvLWJveC1jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlcl8xY2g6Zmlyc3QtY2hpbGQsIC5hZC1wcmV2aWV3LXNwb3RsaWdodC5pbmZvLWJveC1jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlcl8xY2g6Zmlyc3QtY2hpbGQsIC5hZC1wcmV2aWV3LXNwb3RsaWdodCAuYnV0dG9uX2NvbnRhaW5lciAudmVydGljYWxfY2VudGVyXzFjaDpmaXJzdC1jaGlsZCwgLmFkLXByZXZpZXctc3BvdGxpZ2h0LmJ1dHRvbl9jb250YWluZXIgLnZlcnRpY2FsX2NlbnRlcl8xY2g6Zmlyc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAuYWQtcHJldmlldyAuaW5mby1ib3gsIC5ibG9nLXByZXZpZXcgLmluZm8tYm94LCAuYWQtcHJldmlldy1zcG90bGlnaHQgLmluZm8tYm94IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuICAgIC5hZC1wcmV2aWV3IC5pbmZvLWJveCAuY291bnRyeSwgLmJsb2ctcHJldmlldyAuaW5mby1ib3ggLmNvdW50cnksIC5hZC1wcmV2aWV3LXNwb3RsaWdodCAuaW5mby1ib3ggLmNvdW50cnkge1xuICAgICAgY29sb3I6ICNkYjU4Mzg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5hZC1wcmV2aWV3IC5pbmZvLWJveCAucmVnaW9uLCAuYmxvZy1wcmV2aWV3IC5pbmZvLWJveCAucmVnaW9uLCAuYWQtcHJldmlldy1zcG90bGlnaHQgLmluZm8tYm94IC5yZWdpb24ge1xuICAgICAgY29sb3I6ICM2MDYwNjA7IH1cbiAgICAuYWQtcHJldmlldyAuaW5mby1ib3ggLnByaWNlLCAuYmxvZy1wcmV2aWV3IC5pbmZvLWJveCAucHJpY2UsIC5hZC1wcmV2aWV3LXNwb3RsaWdodCAuaW5mby1ib3ggLnByaWNlIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuYWQtcHJldmlldyAuaW5mby1ib3ggLm5hbWUsIC5ibG9nLXByZXZpZXcgLmluZm8tYm94IC5uYW1lLCAuYWQtcHJldmlldy1zcG90bGlnaHQgLmluZm8tYm94IC5uYW1lIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTsgfVxuICAuYWQtcHJldmlldzpob3ZlciBkaXYubGluayBhLCAuYWQtcHJldmlldyAucmVhZC1tb3JlIGE6aG92ZXIgZGl2LmxpbmsgYSwgLmJsb2ctcHJldmlldzpob3ZlciBkaXYubGluayBhLCAuYmxvZy1wcmV2aWV3IC5yZWFkLW1vcmUgYTpob3ZlciBkaXYubGluayBhLCAuYWQtcHJldmlldy1zcG90bGlnaHQ6aG92ZXIgZGl2LmxpbmsgYSwgLmFkLXByZXZpZXctc3BvdGxpZ2h0IC5yZWFkLW1vcmUgYTpob3ZlciBkaXYubGluayBhIHtcbiAgICBjb2xvcjogIzQ5NDk0OTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYWQtcHJldmlldzpob3ZlciAuYnV0dG9uLmhvdmVyLCAuYWQtcHJldmlldyAucmVhZC1tb3JlIGE6aG92ZXIgLmJ1dHRvbi5ob3ZlciwgLmJsb2ctcHJldmlldzpob3ZlciAuYnV0dG9uLmhvdmVyLCAuYmxvZy1wcmV2aWV3IC5yZWFkLW1vcmUgYTpob3ZlciAuYnV0dG9uLmhvdmVyLCAuYWQtcHJldmlldy1zcG90bGlnaHQ6aG92ZXIgLmJ1dHRvbi5ob3ZlciwgLmFkLXByZXZpZXctc3BvdGxpZ2h0IC5yZWFkLW1vcmUgYTpob3ZlciAuYnV0dG9uLmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5hZC1wcmV2aWV3OmhvdmVyLmxwNGYsIC5hZC1wcmV2aWV3IC5yZWFkLW1vcmUgYTpob3Zlci5scDRmLCAuYmxvZy1wcmV2aWV3OmhvdmVyLmxwNGYsIC5ibG9nLXByZXZpZXcgLnJlYWQtbW9yZSBhOmhvdmVyLmxwNGYsIC5hZC1wcmV2aWV3LW1hcDpob3Zlci5scDRmLCAuYWQtcHJldmlldy1tYXAgLnJlYWQtbW9yZSBhOmhvdmVyLmxwNGYsIC5hZC1wcmV2aWV3LXNwb3RsaWdodDpob3Zlci5scDRmLCAuYWQtcHJldmlldy1zcG90bGlnaHQgLnJlYWQtbW9yZSBhOmhvdmVyLmxwNGYge1xuICBib3JkZXItY29sb3I6ICNiMzM2NTc7XG4gIG91dGxpbmUtY29sb3I6ICNiMzM2NTc7IH1cblxuLmFkLXByZXZpZXc6aG92ZXIucHUyMGssIC5hZC1wcmV2aWV3IC5yZWFkLW1vcmUgYTpob3Zlci5wdTIwaywgLmJsb2ctcHJldmlldzpob3Zlci5wdTIwaywgLmJsb2ctcHJldmlldyAucmVhZC1tb3JlIGE6aG92ZXIucHUyMGssIC5hZC1wcmV2aWV3LW1hcDpob3Zlci5wdTIwaywgLmFkLXByZXZpZXctbWFwIC5yZWFkLW1vcmUgYTpob3Zlci5wdTIwaywgLmFkLXByZXZpZXctc3BvdGxpZ2h0OmhvdmVyLnB1MjBrLCAuYWQtcHJldmlldy1zcG90bGlnaHQgLnJlYWQtbW9yZSBhOmhvdmVyLnB1MjBrIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGI1ODM4O1xuICBvdXRsaW5lLWNvbG9yOiAjZGI1ODM4OyB9XG5cbi5hZC1wcmV2aWV3OmhvdmVyLnB1NTBrLCAuYWQtcHJldmlldyAucmVhZC1tb3JlIGE6aG92ZXIucHU1MGssIC5ibG9nLXByZXZpZXc6aG92ZXIucHU1MGssIC5ibG9nLXByZXZpZXcgLnJlYWQtbW9yZSBhOmhvdmVyLnB1NTBrLCAuYWQtcHJldmlldy1tYXA6aG92ZXIucHU1MGssIC5hZC1wcmV2aWV3LW1hcCAucmVhZC1tb3JlIGE6aG92ZXIucHU1MGssIC5hZC1wcmV2aWV3LXNwb3RsaWdodDpob3Zlci5wdTUwaywgLmFkLXByZXZpZXctc3BvdGxpZ2h0IC5yZWFkLW1vcmUgYTpob3Zlci5wdTUwayB7XG4gIGJvcmRlci1jb2xvcjogIzNmN2Y5ZDtcbiAgb3V0bGluZS1jb2xvcjogIzNmN2Y5ZDsgfVxuXG4uYWQtcHJldmlldzpob3Zlci5wdTk5aywgLmFkLXByZXZpZXcgLnJlYWQtbW9yZSBhOmhvdmVyLnB1OTlrLCAuYmxvZy1wcmV2aWV3OmhvdmVyLnB1OTlrLCAuYmxvZy1wcmV2aWV3IC5yZWFkLW1vcmUgYTpob3Zlci5wdTk5aywgLmFkLXByZXZpZXctbWFwOmhvdmVyLnB1OTlrLCAuYWQtcHJldmlldy1tYXAgLnJlYWQtbW9yZSBhOmhvdmVyLnB1OTlrLCAuYWQtcHJldmlldy1zcG90bGlnaHQ6aG92ZXIucHU5OWssIC5hZC1wcmV2aWV3LXNwb3RsaWdodCAucmVhZC1tb3JlIGE6aG92ZXIucHU5OWsge1xuICBib3JkZXItY29sb3I6ICM3ZWEzNDc7XG4gIG91dGxpbmUtY29sb3I6ICM3ZWEzNDc7IH1cblxuLmFkLXByZXZpZXc6aG92ZXIucHUxMDBrLCAuYWQtcHJldmlldyAucmVhZC1tb3JlIGE6aG92ZXIucHUxMDBrLCAuYmxvZy1wcmV2aWV3OmhvdmVyLnB1MTAwaywgLmJsb2ctcHJldmlldyAucmVhZC1tb3JlIGE6aG92ZXIucHUxMDBrLCAuYWQtcHJldmlldy1tYXA6aG92ZXIucHUxMDBrLCAuYWQtcHJldmlldy1tYXAgLnJlYWQtbW9yZSBhOmhvdmVyLnB1MTAwaywgLmFkLXByZXZpZXctc3BvdGxpZ2h0OmhvdmVyLnB1MTAwaywgLmFkLXByZXZpZXctc3BvdGxpZ2h0IC5yZWFkLW1vcmUgYTpob3Zlci5wdTEwMGsge1xuICBib3JkZXItY29sb3I6ICM3ZWEzNDc7XG4gIG91dGxpbmUtY29sb3I6ICM3ZWEzNDc7IH1cblxuLmFkLXByZXZpZXc6aG92ZXIucGFtcCwgLmFkLXByZXZpZXcgLnJlYWQtbW9yZSBhOmhvdmVyLnBhbXAsIC5ibG9nLXByZXZpZXc6aG92ZXIucGFtcCwgLmJsb2ctcHJldmlldyAucmVhZC1tb3JlIGE6aG92ZXIucGFtcCwgLmFkLXByZXZpZXctbWFwOmhvdmVyLnBhbXAsIC5hZC1wcmV2aWV3LW1hcCAucmVhZC1tb3JlIGE6aG92ZXIucGFtcCwgLmFkLXByZXZpZXctc3BvdGxpZ2h0OmhvdmVyLnBhbXAsIC5hZC1wcmV2aWV3LXNwb3RsaWdodCAucmVhZC1tb3JlIGE6aG92ZXIucGFtcCB7XG4gIGJvcmRlci1jb2xvcjogI2Q0YTExYjtcbiAgb3V0bGluZS1jb2xvcjogI2Q0YTExYjsgfVxuXG4uYWQtcHJldmlldzpob3Zlci5hcmUsIC5hZC1wcmV2aWV3IC5yZWFkLW1vcmUgYTpob3Zlci5hcmUsIC5ibG9nLXByZXZpZXc6aG92ZXIuYXJlLCAuYmxvZy1wcmV2aWV3IC5yZWFkLW1vcmUgYTpob3Zlci5hcmUsIC5hZC1wcmV2aWV3LW1hcDpob3Zlci5hcmUsIC5hZC1wcmV2aWV3LW1hcCAucmVhZC1tb3JlIGE6aG92ZXIuYXJlLCAuYWQtcHJldmlldy1zcG90bGlnaHQ6aG92ZXIuYXJlLCAuYWQtcHJldmlldy1zcG90bGlnaHQgLnJlYWQtbW9yZSBhOmhvdmVyLmFyZSB7XG4gIGJvcmRlci1jb2xvcjogI2Q0YTExYjtcbiAgb3V0bGluZS1jb2xvcjogI2Q0YTExYjsgfVxuXG4uYWQtcHJldmlldy5pbmZvLWJveC1jb250YWluZXIge1xuICAvKiAgICBkaXNwbGF5OiBmbGV4OyovIH1cblxuLmFic0xpbmtQYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuYS5kaXZMaW5rLCBhLmFic0xpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvKiBNYWtlcyBzdXJlIHRoZSBsaW5rIGRvZXNuJ3QgZ2V0IHVuZGVybGluZWQgKi9cbiAgei1pbmRleDogMTA7XG4gIC8qIHJhaXNlcyBhbmNob3IgdGFnIGFib3ZlIGV2ZXJ5dGhpbmcgZWxzZSBpbiBkaXYgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIC8qd29ya2Fyb3VuZCB0byBtYWtlIGNsaWNrYWJsZSBpbiBJRSAqL1xuICBvcGFjaXR5OiAwO1xuICAvKndvcmthcm91bmQgdG8gbWFrZSBjbGlja2FibGUgaW4gSUUgKi9cbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAvKndvcmthcm91bmQgdG8gbWFrZSBjbGlja2FibGUgaW4gSUUgKi8gfVxuXG4uYmxvZy1wcmV2aWV3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMnJlbTtcbiAgY29sb3I6ICMwMDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMC41cmVtO1xuICAvKmhlaWdodDogYXV0bzsqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDMwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmxvZy1wcmV2aWV3IHtcbiAgICAgIGhlaWdodDogNDAwcHg7IH0gfVxuICAuYmxvZy1wcmV2aWV3IGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDsgfVxuICAgIC5ibG9nLXByZXZpZXcgaW1nLndwLXBvc3QtaW1hZ2Uge1xuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzNXB4O1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAzNXB4O1xuICAgICAgLW1zLWJvcmRlci1yYWRpdXM6IDM1cHg7XG4gICAgICAtby1ib3JkZXItcmFkaXVzOiAzNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMzVweDsgfVxuICAuYmxvZy1wcmV2aWV3IGhlYWRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYmxvZy1wcmV2aWV3IGhlYWRlciB7XG4gICAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAgIC5ibG9nLXByZXZpZXcgaGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIC8qICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHB1MjBrX2NvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9Ki8gfVxuICAgIC5ibG9nLXByZXZpZXcgaGVhZGVyIHRpbWUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAvKmZvbnQtc2l6ZTogMC45cmVtOyovXG4gICAgICBjb2xvcjogIzY2NjsgfVxuICAuYmxvZy1wcmV2aWV3IC5lbnRyeS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmJsb2ctcHJldmlldyAuZW50cnktY29udGVudCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZy10b3A6IDAuOHJlbTsgfVxuICAgIC5ibG9nLXByZXZpZXcgLmVudHJ5LWNvbnRlbnQgaDIsIC5ibG9nLXByZXZpZXcgLmVudHJ5LWNvbnRlbnQgaDMsIC5ibG9nLXByZXZpZXcgLmVudHJ5LWNvbnRlbnQgaDQge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5ibG9nLXByZXZpZXc6bm90KC5idXR0b25fY29udGFpbmVyKTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzAwMCwgI2ZmZik7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMCksICNmZmYpOyB9XG4gIC5ibG9nLXByZXZpZXcuYnV0dG9uX2NvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuYmxvZy1wcmV2aWV3IC5yZWFkLW1vcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDAuNXJlbTtcbiAgICByaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICB6LWluZGV4OiAxNTtcbiAgICBib3gtc2hhZG93OiAwIDAgNHJlbSAycmVtIHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICAgLmJsb2ctcHJldmlldyAucmVhZC1tb3JlIGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmJsb2ctcHJldmlldyAucmVhZC1tb3JlIGE6aG92ZXIge1xuICAgICAgICBmb250LXNpemU6IDEuMWVtOyB9XG4gICAgLmJsb2ctcHJldmlldyAucmVhZC1tb3JlOmhvdmVyIGEge1xuICAgICAgZm9udC1zaXplOiAxLjFlbTsgfVxuICAuYmxvZy1wcmV2aWV3IC5kaXZMaW5rOmhvdmVyIHtcbiAgICAvKm9wYWNpdHk6IDAuMzsqLyB9XG4gICAgLmJsb2ctcHJldmlldyAuZGl2TGluazpob3ZlciB+IC5yZWFkLW1vcmUgYSB7XG4gICAgICBmb250LXNpemU6IDEuMWVtOyB9XG5cbi5idXR0b24ubHA0ZiB7XG4gIGJhY2tncm91bmQ6ICNiMzM2NTc7IH1cbiAgLmJ1dHRvbi5scDRmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTMxNjM3OyB9XG5cbi5idXR0b24ucHUyMGsge1xuICBiYWNrZ3JvdW5kOiAjZGI1ODM4OyB9XG4gIC5idXR0b24ucHUyMGs6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjMzRmMzM7IH1cblxuLmJ1dHRvbi5wdTUwayB7XG4gIGJhY2tncm91bmQ6ICMzZjdmOWQ7IH1cbiAgLmJ1dHRvbi5wdTUwazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzM4NzI4ZDsgfVxuXG4uYnV0dG9uLnB1OTlrIHtcbiAgYmFja2dyb3VuZDogIzdlYTM0NzsgfVxuICAuYnV0dG9uLnB1OTlrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNmQ4ZDNlOyB9XG5cbi5idXR0b24ucHUxMDBrIHtcbiAgYmFja2dyb3VuZDogIzdlYTM0NzsgfVxuICAuYnV0dG9uLnB1MTAwazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzZkOGQzZTsgfVxuXG4uYnV0dG9uLnBhbXAge1xuICBiYWNrZ3JvdW5kOiAjZDRhMTFiOyB9XG4gIC5idXR0b24ucGFtcDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2MwOTExOTsgfVxuXG4uYnV0dG9uLmFyZSB7XG4gIGJhY2tncm91bmQ6ICNkNGExMWI7IH1cbiAgLmJ1dHRvbi5hcmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjMDkxMTk7IH1cblxuLmJ1dHRvbi5uby1iZy1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzc2NzY3NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5idXR0b24ubm8tYmctY29sb3I6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgLyp0ZXh0LWRlY29yYXRpb246IG5vbmU7Ki8gfVxuXG4uYnV0dG9uLmJpZ2dlci1mb250IHtcbiAgZm9udC1zaXplOiAxLjJlbTsgfVxuXG4uYnV0dG9uLmFkZC1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5idXR0b24ubWVkaXVtLWFkZC1tYXJnaW4tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfSB9XG5cbi5hZC1wcmV2aWV3IC5idXR0b24ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYmxvZy1wcmV2aWV3IC5idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYmxvZy1wcmV2aWV3IC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNiZGJkYmQ7IH1cblxudWwuc2xpY2stZG90cyB7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7IH1cbiAgdWwuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlLCB1bC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgdWwuc2xpY2stZG90cyBsaSwgdWwuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmgxX3JvdyAuYnV0dG9uLCAuaDFfcm93IC5idXR0b24tZ3JvdXAge1xuICBvdXRsaW5lOiB3aGl0ZSBzb2xpZCA1cHg7XG4gIG1hcmdpbjogMCAwIDAgNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaDFfcm93IGEuYnV0dG9uIH4gaDEucGFnZS10aXRsZS12MSwgLmgxX3JvdyBkaXYuYnV0dG9uLWdyb3VwIH4gaDEucGFnZS10aXRsZS12MSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9IH1cblxuaDEucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2NjY7XG4gIC8qY29sb3I6ICM2NjY7Ki8gfVxuICBoMS5wYWdlLXRpdGxlLmhhcy1zdWIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBoMS5wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuXG5oMS5wYWdlLXRpdGxlLXYxIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmgxX3Jvdy5uby1zdWIgaDEucGFnZS10aXRsZS12MSArIGRpdi5ob3Jpem9udGFsLWxpbmUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuaDEucGFnZS10aXRsZS12MSArIGRpdi5ob3Jpem9udGFsLWxpbmUge1xuICBjbGVhcjogYm90aDsgfVxuXG4ucGFnZS10aXRsZS1jb250YWluZXIuaGFzLWljb24ge1xuICBtYXJnaW4tdG9wOiAxLjRyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZS10aXRsZS1jb250YWluZXIuaGFzLWljb24gPiBpIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMC42cmVtO1xuICAgIGxlZnQ6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtdGl0bGUtY29udGFpbmVyLmhhcy1pY29uID4gaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45NXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAucGFnZS10aXRsZS1jb250YWluZXIuaGFzLWljb24gaDEsIC5wYWdlLXRpdGxlLWNvbnRhaW5lci5oYXMtaWNvbiBkaXYuc3ViIHtcbiAgICAvKnBhZGRpbmctbGVmdDogNC41cmVtOyovIH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtdGl0bGUtY29udGFpbmVyLmhhcy1pY29uIGgxLCAucGFnZS10aXRsZS1jb250YWluZXIuaGFzLWljb24gZGl2LnN1YiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXJlbTsgfSB9XG5cbmRpdi5zZWFyY2gtY3J1bWIsIC5wYWdlLXRpdGxlLWNvbnRhaW5lciBkaXYuc3ViIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbmRpdi5ob3Jpem9udGFsLWxpbmUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzY2NjtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2FwdGNoYSBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLmNhcHRjaGEgaW1nLmNhcHRjaGEtaW1hZ2Uge1xuICAgIC8qaGVpZ2h0OiAxMDAlOyovXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuY2FwdGNoYSBpbWcucmVmcmVzaCB7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gICAgLmNhcHRjaGEgaW1nLnJlZnJlc2g6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uY2FwdGNoYSAuZm9ybS1lcnJvciB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG5cbi5jYXB0Y2hhIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uY2FwdGNoYSBkaXYge1xuICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsgfVxuICAuY2FwdGNoYSBkaXYgZGl2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmJ1dHRvbiBpIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi50YWJzLXRpdGxlID4gYSB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTsgfVxuXG4udGFicy10aXRsZSBpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uY2FsbG91dCB7XG4gIC8qbWluLWhlaWdodDogNXJlbTsqLyB9XG4gIC5jYWxsb3V0IGkge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICBsaW5lLWhlaWdodDogMnJlbTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIGkge1xuICAgIGNvbG9yOiBncmVlbjsgfVxuXG4uYnV0dG9uLCAuYnV0dG9uLnNlY29uZGFyeSwgLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg5cmVtOyB9XG5cbi52aWV3LW1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnZpZXctbWVudSBsaSBhIHtcbiAgICBwYWRkaW5nOiAwLjk1cmVtIDAuNXJlbSAwLjVyZW0gMC41cmVtO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnZpZXctbWVudSBsaSBhLmlkIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnZpZXctbWVudSBsaSBhIGkge1xuICAgICAgZm9udC1zaXplOiAxLjdyZW07IH1cbiAgICAudmlldy1tZW51IGxpIGE6aG92ZXIsIC52aWV3LW1lbnUgbGkgYS5hY3RpdmUge1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNlYXJjaC1jb250YWluZXIgLnRvcC1saW5lLCAubXktcHJvcGVydGllcy1zb3J0IC50b3AtbGluZSwgLm15LXNlYXJjaC1hbGVydHMgLnRvcC1saW5lLCAuaGVhZGVyLWxpbmUgLnRvcC1saW5lLCAucGFnaW5hdGlvbiAudG9wLWxpbmUge1xuICBwYWRkaW5nLXRvcDogMHJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWFyY2gtY29udGFpbmVyIC50b3AtbGluZSwgLm15LXByb3BlcnRpZXMtc29ydCAudG9wLWxpbmUsIC5teS1zZWFyY2gtYWxlcnRzIC50b3AtbGluZSwgLmhlYWRlci1saW5lIC50b3AtbGluZSwgLnBhZ2luYXRpb24gLnRvcC1saW5lIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjA1cmVtOyB9IH1cblxuLm15LWFkZG9ucy1zb3J0IC50b3AtbGluZSB7XG4gIHBhZGRpbmctdG9wOiAxLjA1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4wNXJlbTsgfVxuXG4uc2VhcmNoLWNvbnRhaW5lciwgLm15LXByb3BlcnRpZXMtc29ydCwgLm15LWFkZG9ucy1zb3J0LCAubXktc2VhcmNoLWFsZXJ0cywgLmhlYWRlci1saW5lLCAucGFnaW5hdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkYxRjE7IH1cbiAgLnNlYXJjaC1jb250YWluZXIgc2VsZWN0LCAuc2VhcmNoLWNvbnRhaW5lciB0ZXh0YXJlYSwgLm15LXByb3BlcnRpZXMtc29ydCBzZWxlY3QsIC5teS1wcm9wZXJ0aWVzLXNvcnQgdGV4dGFyZWEsIC5teS1hZGRvbnMtc29ydCBzZWxlY3QsIC5teS1hZGRvbnMtc29ydCB0ZXh0YXJlYSwgLm15LXNlYXJjaC1hbGVydHMgc2VsZWN0LCAubXktc2VhcmNoLWFsZXJ0cyB0ZXh0YXJlYSwgLmhlYWRlci1saW5lIHNlbGVjdCwgLmhlYWRlci1saW5lIHRleHRhcmVhLCAucGFnaW5hdGlvbiBzZWxlY3QsIC5wYWdpbmF0aW9uIHRleHRhcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VhcmNoLWNvbnRhaW5lciAuYm90dG9tLWxpbmUsIC5teS1wcm9wZXJ0aWVzLXNvcnQgLmJvdHRvbS1saW5lLCAubXktYWRkb25zLXNvcnQgLmJvdHRvbS1saW5lLCAubXktc2VhcmNoLWFsZXJ0cyAuYm90dG9tLWxpbmUsIC5oZWFkZXItbGluZSAuYm90dG9tLWxpbmUsIC5wYWdpbmF0aW9uIC5ib3R0b20tbGluZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4wNXJlbTsgfSB9XG4gIC5zZWFyY2gtY29udGFpbmVyIC52aWV3LWhlYWRlciBzZWxlY3QsIC5zZWFyY2gtY29udGFpbmVyLnZpZXctaGVhZGVyIHNlbGVjdCwgLm15LXByb3BlcnRpZXMtc29ydCAudmlldy1oZWFkZXIgc2VsZWN0LCAubXktcHJvcGVydGllcy1zb3J0LnZpZXctaGVhZGVyIHNlbGVjdCwgLm15LWFkZG9ucy1zb3J0IC52aWV3LWhlYWRlciBzZWxlY3QsIC5teS1hZGRvbnMtc29ydC52aWV3LWhlYWRlciBzZWxlY3QsIC5teS1zZWFyY2gtYWxlcnRzIC52aWV3LWhlYWRlciBzZWxlY3QsIC5teS1zZWFyY2gtYWxlcnRzLnZpZXctaGVhZGVyIHNlbGVjdCwgLmhlYWRlci1saW5lIC52aWV3LWhlYWRlciBzZWxlY3QsIC5oZWFkZXItbGluZS52aWV3LWhlYWRlciBzZWxlY3QsIC5wYWdpbmF0aW9uIC52aWV3LWhlYWRlciBzZWxlY3QsIC5wYWdpbmF0aW9uLnZpZXctaGVhZGVyIHNlbGVjdCB7XG4gICAgbWFyZ2luLXRvcDogMC42cmVtOyB9XG5cbi5zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtbGFiZWwsIC5teS1wcm9wZXJ0aWVzLXNvcnQgLnNlYXJjaC1sYWJlbCwgLm15LXNlYXJjaC1hbGVydHMgLnNlYXJjaC1sYWJlbCwgLmhlYWRlci1saW5lIC5zZWFyY2gtbGFiZWwsIC5wYWdpbmF0aW9uIC5zZWFyY2gtbGFiZWwge1xuICAvKnBhZGRpbmctbGVmdDogMXJlbTsqL1xuICBwYWRkaW5nLXJpZ2h0OiAwLjJyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuM3JlbTsgfVxuXG4uc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIC5teS1wcm9wZXJ0aWVzLXNvcnQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCAubXktc2VhcmNoLWFsZXJ0cyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIC5oZWFkZXItbGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIC5wYWdpbmF0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uc2VhcmNoLWNvbnRhaW5lciAuc2VjdGlvbiwgLm15LXByb3BlcnRpZXMtc29ydCAuc2VjdGlvbiwgLm15LXNlYXJjaC1hbGVydHMgLnNlY3Rpb24sIC5oZWFkZXItbGluZSAuc2VjdGlvbiwgLnBhZ2luYXRpb24gLnNlY3Rpb24ge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2NjYzsgfVxuXG4uc2VhcmNoLWNvbnRhaW5lciAuaW5wdXQtZ3JleS1maXJzdC1saW5lIG9wdGlvbiwgLnNlYXJjaC1jb250YWluZXIgLmlucHV0LWdyZXktZmlyc3QtbGluZSBvcHRncm91cCwgLm15LXByb3BlcnRpZXMtc29ydCAuaW5wdXQtZ3JleS1maXJzdC1saW5lIG9wdGlvbiwgLm15LXByb3BlcnRpZXMtc29ydCAuaW5wdXQtZ3JleS1maXJzdC1saW5lIG9wdGdyb3VwLCAubXktc2VhcmNoLWFsZXJ0cyAuaW5wdXQtZ3JleS1maXJzdC1saW5lIG9wdGlvbiwgLm15LXNlYXJjaC1hbGVydHMgLmlucHV0LWdyZXktZmlyc3QtbGluZSBvcHRncm91cCwgLmhlYWRlci1saW5lIC5pbnB1dC1ncmV5LWZpcnN0LWxpbmUgb3B0aW9uLCAuaGVhZGVyLWxpbmUgLmlucHV0LWdyZXktZmlyc3QtbGluZSBvcHRncm91cCwgLnBhZ2luYXRpb24gLmlucHV0LWdyZXktZmlyc3QtbGluZSBvcHRpb24sIC5wYWdpbmF0aW9uIC5pbnB1dC1ncmV5LWZpcnN0LWxpbmUgb3B0Z3JvdXAge1xuICBjb2xvcjogIzAwMDsgfVxuXG4uc2VhcmNoLWNvbnRhaW5lciAubm9sYWJlbCwgLm15LXByb3BlcnRpZXMtc29ydCAubm9sYWJlbCwgLm15LXNlYXJjaC1hbGVydHMgLm5vbGFiZWwsIC5oZWFkZXItbGluZSAubm9sYWJlbCwgLnBhZ2luYXRpb24gLm5vbGFiZWwge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG5cbi5zZWFyY2gtY29udGFpbmVyIC50b3AsIC5teS1wcm9wZXJ0aWVzLXNvcnQgLnRvcCwgLm15LXNlYXJjaC1hbGVydHMgLnRvcCwgLmhlYWRlci1saW5lIC50b3AsIC5wYWdpbmF0aW9uIC50b3Age1xuICBwYWRkaW5nLXRvcDogMC43cmVtOyB9XG5cbi5zZWFyY2gtY29udGFpbmVyIC5lbXB0eSwgLm15LXByb3BlcnRpZXMtc29ydCAuZW1wdHksIC5teS1zZWFyY2gtYWxlcnRzIC5lbXB0eSwgLmhlYWRlci1saW5lIC5lbXB0eSwgLnBhZ2luYXRpb24gLmVtcHR5IHtcbiAgY29sb3I6ICNjY2M7IH1cblxuLnNlYXJjaC1jb250YWluZXIgLmNob3Nlbi1jb250YWluZXIsIC5teS1wcm9wZXJ0aWVzLXNvcnQgLmNob3Nlbi1jb250YWluZXIsIC5teS1zZWFyY2gtYWxlcnRzIC5jaG9zZW4tY29udGFpbmVyLCAuaGVhZGVyLWxpbmUgLmNob3Nlbi1jb250YWluZXIsIC5wYWdpbmF0aW9uIC5jaG9zZW4tY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgLnNlYXJjaC1jb250YWluZXIgLmNob3Nlbi1jb250YWluZXIsIC5teS1wcm9wZXJ0aWVzLXNvcnQgLmNob3Nlbi1jb250YWluZXIsIC5teS1zZWFyY2gtYWxlcnRzIC5jaG9zZW4tY29udGFpbmVyLCAuaGVhZGVyLWxpbmUgLmNob3Nlbi1jb250YWluZXIsIC5wYWdpbmF0aW9uIC5jaG9zZW4tY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICAuc2VhcmNoLWNvbnRhaW5lciAuY2hvc2VuLWNvbnRhaW5lcjpkaXNhYmxlZCwgLm15LXByb3BlcnRpZXMtc29ydCAuY2hvc2VuLWNvbnRhaW5lcjpkaXNhYmxlZCwgLm15LXNlYXJjaC1hbGVydHMgLmNob3Nlbi1jb250YWluZXI6ZGlzYWJsZWQsIC5oZWFkZXItbGluZSAuY2hvc2VuLWNvbnRhaW5lcjpkaXNhYmxlZCwgLnBhZ2luYXRpb24gLmNob3Nlbi1jb250YWluZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuc2VhcmNoLWNvbnRhaW5lciAuY2hvc2VuLWNvbnRhaW5lcjo6LW1zLWV4cGFuZCwgLm15LXByb3BlcnRpZXMtc29ydCAuY2hvc2VuLWNvbnRhaW5lcjo6LW1zLWV4cGFuZCwgLm15LXNlYXJjaC1hbGVydHMgLmNob3Nlbi1jb250YWluZXI6Oi1tcy1leHBhbmQsIC5oZWFkZXItbGluZSAuY2hvc2VuLWNvbnRhaW5lcjo6LW1zLWV4cGFuZCwgLnBhZ2luYXRpb24gLmNob3Nlbi1jb250YWluZXI6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlYXJjaC1jb250YWluZXIgLmNob3Nlbi1jb250YWluZXJbbXVsdGlwbGVdLCAubXktcHJvcGVydGllcy1zb3J0IC5jaG9zZW4tY29udGFpbmVyW211bHRpcGxlXSwgLm15LXNlYXJjaC1hbGVydHMgLmNob3Nlbi1jb250YWluZXJbbXVsdGlwbGVdLCAuaGVhZGVyLWxpbmUgLmNob3Nlbi1jb250YWluZXJbbXVsdGlwbGVdLCAucGFnaW5hdGlvbiAuY2hvc2VuLWNvbnRhaW5lclttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIC5zZWFyY2gtY29udGFpbmVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCwgLm15LXByb3BlcnRpZXMtc29ydCAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLWRyb3AsIC5teS1zZWFyY2gtYWxlcnRzIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCwgLmhlYWRlci1saW5lIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCwgLnBhZ2luYXRpb24gLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1kcm9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLnNlYXJjaC1jb250YWluZXIgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaSwgLm15LXByb3BlcnRpZXMtc29ydCAuY2hvc2VuLWNvbnRhaW5lciNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLCAubXktc2VhcmNoLWFsZXJ0cyAuY2hvc2VuLWNvbnRhaW5lciNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLCAuaGVhZGVyLWxpbmUgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaSwgLnBhZ2luYXRpb24gLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAuc2VhcmNoLWNvbnRhaW5lciAuY2hvc2VuLWNvbnRhaW5lciNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLmNvbnRpbmVudCwgLnNlYXJjaC1jb250YWluZXIgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaTpmaXJzdC1vZi10eXBlLCAubXktcHJvcGVydGllcy1zb3J0IC5jaG9zZW4tY29udGFpbmVyI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkuY29udGluZW50LCAubXktcHJvcGVydGllcy1zb3J0IC5jaG9zZW4tY29udGFpbmVyI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGk6Zmlyc3Qtb2YtdHlwZSwgLm15LXNlYXJjaC1hbGVydHMgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaS5jb250aW5lbnQsIC5teS1zZWFyY2gtYWxlcnRzIC5jaG9zZW4tY29udGFpbmVyI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGk6Zmlyc3Qtb2YtdHlwZSwgLmhlYWRlci1saW5lIC5jaG9zZW4tY29udGFpbmVyI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkuY29udGluZW50LCAuaGVhZGVyLWxpbmUgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaTpmaXJzdC1vZi10eXBlLCAucGFnaW5hdGlvbiAuY2hvc2VuLWNvbnRhaW5lciNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLmNvbnRpbmVudCwgLnBhZ2luYXRpb24gLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaTpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcmVtOyB9XG4gICAgLnNlYXJjaC1jb250YWluZXIgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaS5jb250aW5lbnQsIC5teS1wcm9wZXJ0aWVzLXNvcnQgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaS5jb250aW5lbnQsIC5teS1zZWFyY2gtYWxlcnRzIC5jaG9zZW4tY29udGFpbmVyI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkuY29udGluZW50LCAuaGVhZGVyLWxpbmUgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaS5jb250aW5lbnQsIC5wYWdpbmF0aW9uIC5jaG9zZW4tY29udGFpbmVyI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkuY29udGluZW50IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnNlYXJjaC1jb250YWluZXIgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaS5uby1yZXN1bHRzLCAubXktcHJvcGVydGllcy1zb3J0IC5jaG9zZW4tY29udGFpbmVyI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkubm8tcmVzdWx0cywgLm15LXNlYXJjaC1hbGVydHMgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaS5uby1yZXN1bHRzLCAuaGVhZGVyLWxpbmUgLmNob3Nlbi1jb250YWluZXIjc2VhcmNoX2NvdW50cnlfY2hvc2VuIC5jaG9zZW4tcmVzdWx0cyBsaS5uby1yZXN1bHRzLCAucGFnaW5hdGlvbiAuY2hvc2VuLWNvbnRhaW5lciNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLm5vLXJlc3VsdHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuc2VhcmNoLWNvbnRhaW5lciAuY2hvc2VuLWNvbnRhaW5lciNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLmhpZ2hsaWdodGVkLCAubXktcHJvcGVydGllcy1zb3J0IC5jaG9zZW4tY29udGFpbmVyI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkuaGlnaGxpZ2h0ZWQsIC5teS1zZWFyY2gtYWxlcnRzIC5jaG9zZW4tY29udGFpbmVyI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkuaGlnaGxpZ2h0ZWQsIC5oZWFkZXItbGluZSAuY2hvc2VuLWNvbnRhaW5lciNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLmhpZ2hsaWdodGVkLCAucGFnaW5hdGlvbiAuY2hvc2VuLWNvbnRhaW5lciNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpLmhpZ2hsaWdodGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5MDkwOTA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2NjYyAxMCUsICNkZGQgODAlKTsgfVxuXG4uaW5wdXQtZ3JleS1maXJzdC1saW5lIG9wdGlvbiwgLmlucHV0LWdyZXktZmlyc3QtbGluZSBvcHRncm91cCB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5pbnB1dC1ncmV5LWZpcnN0LWxpbmUuZW1wdHkge1xuICBjb2xvcjogI2NjYzsgfVxuXG4uYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5yb3VuZGVkLWxhYmVsIHtcbiAgcGFkZGluZzogMC4xcmVtIDAuOHJlbSAwLjFyZW0gMC44cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5nYWxsZXJ5X3ZpZXcgLmFkZG9uLXNwb3RsaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGYwYmU7IH1cbiAgLmdhbGxlcnlfdmlldyAuYWRkb24tc3BvdGxpZ2h0IC5hZC1wcmV2aWV3IC5pbmZvLWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTMsIDI0MCwgMTkwLCAwLjkpOyB9XG5cbi5nYWxsZXJ5X3ZpZXcgLnRpbGUge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBib3JkZXI6IHdoaXRlO1xuICBib3JkZXItd2lkdGg6IDAuM2VtO1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG5cbi5wcm9wZXJ0eS1saXN0LWVsZW1lbnQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB9XG4gIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQ6bm90KDpmaXJzdC1jaGlsZCkgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjY2NjOyB9XG4gIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIC8qcGFkZGluZy1ib3R0b206IDFyZW07Ki9cbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCA+IGRpdjpmaXJzdC1jaGlsZCAuZmktYXJyb3ctcmlnaHQge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgLyptYXJnaW4tdG9wOiAzcmVtOyovXG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCA+IGRpdjpmaXJzdC1jaGlsZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG4gICAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCA+IGRpdjpmaXJzdC1jaGlsZC5hZGRvbi1zcG90bGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZjBiZTsgfVxuICAgICAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCA+IGRpdjpmaXJzdC1jaGlsZC5hZGRvbi1zcG90bGlnaHQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlYTlmOyB9XG4gIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLnN1Yi1pbmZvIHtcbiAgICBib3JkZXItbGVmdDogc29saWQgMnB4ICNjY2M7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLnN1Yi1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCAuc3ViLWluZm8ge1xuICAgICAgICAvKm1hcmdpbi1sZWZ0OiAtMC4zcmVtOyovIH0gfVxuICAgIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLnN1Yi1pbmZvIGRpdi5sb2NhbGl0eSB7XG4gICAgICBtYXgtaGVpZ2h0OiAzLjJyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAucHJvcGVydHktbGlzdC1lbGVtZW50IGgzLnN1YnRpdGxlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgY29sb3I6ICNkYjU4Mzg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCBoMiB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLnByaWNlIHtcbiAgICAvKmNvbG9yOiAkcHUyMGtfY29sb3I7Ki8gfVxuICAucHJvcGVydHktbGlzdC1lbGVtZW50IC5wcm9wZXJ0eS1uYW1lLXN1YnRpdGxlLWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMi41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLnByb3BlcnR5LW5hbWUtc3VidGl0bGUtY29udGFpbmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLnByb3BlcnR5LW5hbWUtc3VidGl0bGUtY29udGFpbmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNy4zcmVtOyB9IH1cbiAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCAuSGlkZGVuLCAucHJvcGVydHktbGlzdC1lbGVtZW50IC5JbmFjdGl2ZSwgLnByb3BlcnR5LWxpc3QtZWxlbWVudCAuVW52ZXJpZmllZCB7XG4gICAgY29sb3I6IHJlZDsgfVxuICAucHJvcGVydHktbGlzdC1lbGVtZW50IC5BY3RpdmUge1xuICAgIGNvbG9yOiBncmVlbjsgfVxuICAucHJvcGVydHktbGlzdC1lbGVtZW50IC5hY3Rpb24tYnV0dG9ucyBsaSA+IGEgPiBkaXYge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjlweDsgfVxuICAgIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLmFjdGlvbi1idXR0b25zIGxpID4gYSA+IGRpdiBkaXYge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCAuYWN0aW9uLWJ1dHRvbnMgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLmFjdGlvbi1idXR0b25zIHVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCAuYWN0aW9uLWJ1dHRvbnMgdWwgbGkge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDU1cHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLmFjdGlvbi1idXR0b25zIHVsIGxpIHtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICAucHJvcGVydHktbGlzdC1lbGVtZW50IC5yb3cgLnJvdy5jb2xsYXBzZS50aHVtYm5haWwtc21hbGwtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjJyZW07XG4gICAgbWFyZ2luLXRvcDogMC4xcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTsgfVxuICAgIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLnJvdyAucm93LmNvbGxhcHNlLnRodW1ibmFpbC1zbWFsbC1jb250YWluZXIgaW1nLnRodW1ibmFpbC1zbWFsbCB7XG4gICAgICAvKm1hcmdpbi1ib3R0b206IDFyZW07Ki9cbiAgICAgIC8qICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4ycmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC4ycmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyovXG4gICAgICBwYWRkaW5nOiAwLjJyZW07IH1cbiAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCAuYWRkb25fYnV0dG9uX2NvbnRhaW5lciBpLmZpLXNob3BwaW5nLWNhcnQuYmFkZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCAuYWRkb25fYnV0dG9uX2NvbnRhaW5lci5pbl9jYXJ0IGkuZmktc2hvcHBpbmctY2FydC5iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjNyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuM3JlbTtcbiAgICBvcGFjaXR5OiAwLjk7IH1cbiAgLnByb3BlcnR5LWxpc3QtZWxlbWVudCAuc3VidGl0bGVfbWlzc2luZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5wcm9wZXJ0eS1saXN0LWVsZW1lbnQgLnN1YnRpdGxlX21pc3NpbmcgYSB7XG4gICAgICBjb2xvcjogI2RiNTgzODsgfVxuICAucHJvcGVydHktbGlzdC1lbGVtZW50IC50aHVtYi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAucHJvcGVydHktbGlzdC1lbGVtZW50IC50aHVtYi1jb250YWluZXIgLmJhZGdlLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHJpZ2h0OiAtMC40cmVtO1xuICAgICAgdG9wOiAtMC40cmVtOyB9XG5cbi5wYWdpbmF0aW9uIC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY1ZjVmOyB9XG5cbi5wYWdpbmF0aW9uIGEsIC5wYWdpbmF0aW9uIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnBhZ2luYXRpb24gc2VsZWN0IHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgLyptYXJnaW46ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzsqL1xuICBwYWRkaW5nOiAwLjFyZW0gMC45cmVtIDAuMXJlbSAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0wLjZyZW0gY2VudGVyO1xuICBtYXJnaW46IDAgMC41cmVtIDAgLTAuNXJlbTsgfVxuXG4ucGFnaW5hdGlvbiBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAuNjI1cmVtIDAuODEyNXJlbTsgfVxuXG4ucGFnaW5hdGlvbi5pdGVtc19wZXJfcGFnZSB7XG4gIG1hcmdpbi10b3A6IC0xLjVyZW07IH1cblxuLm1vZGFsX3RpdGxlLCAubW9kYWxfdGl0bGUgaDIsICNzZXRfYWxlcnRfZGlhbG9nLCAjc2V0X2FsZXJ0X2RpYWxvZyBoMiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG4gIG1hcmdpbi1ib3R0b206IDAuNGVtOyB9XG5cbiNzZXRfYWxlcnRfZGlhbG9nIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiNzZXRfYWxlcnRfZGlhbG9nIC5ibG9jayB7XG4gIG1hcmdpbjogNXB4IDVweDsgfVxuXG4jc2V0X2FsZXJ0X2RpYWxvZyAuZmYtbGluZXMge1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cblxuI3NldF9hbGVydF9kaWFsb2cgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jc2V0X2FsZXJ0X2RpYWxvZyAuZGlzYWJsZWQsICNzZXRfYWxlcnRfZGlhbG9nIC5kaXNhYmxlZCBsYWJlbCwgI3NldF9hbGVydF9kaWFsb2cgLmRpc2FibGVkIGlucHV0LCAjc2V0X2FsZXJ0X2RpYWxvZyAuZGlzYWJsZWQgc2VsZWN0IHtcbiAgY29sb3I6ICM5OTk5OTk7IH1cblxuI3NldF9hbGVydF9kaWFsb2cgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAuOGVtIDAuMmVtIDAgMC4yZW07XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjY2NjYzsgfVxuICAjc2V0X2FsZXJ0X2RpYWxvZyB1bCBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyNzEzXFwwMDIwXCI7XG4gICAgY29sb3I6ICMwMDg4MDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgI3NldF9hbGVydF9kaWFsb2cgdWwgbGkge1xuICAgIHRleHQtaW5kZW50OiAtMS4yZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjJlbTsgfVxuXG4jc2VhcmNoX2Zvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICNzZWFyY2hfZm9ybSAuYnV0dG9uX3JvdyAuYnV0dG9uLWdyb3VwIGEge1xuICAgIG1heC1oZWlnaHQ6IDNyZW07IH1cbiAgI3NlYXJjaF9mb3JtICNteV9hbGVydHMgaS5pY29uLWVtYWlsX2FsZXJ0X2dyZXkge1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMjJweDsgfVxuICAjc2VhcmNoX2Zvcm0gLmRyb3Bkb3duLXBhbmUge1xuICAgIHotaW5kZXg6IDEwMTA7IH1cblxubGFiZWwgc2VsZWN0LCBsYWJlbCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgbGFiZWwgPiBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5sYWJlbCA+IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgbGFiZWwgKyAuaW5wdXQtZ3JvdXAsXG5sYWJlbCA+IHRleHRhcmVhLCBsYWJlbCA+IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5sYWJlbCA+IGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4jc2VhcmNoX2Zvcm0gLmNob3Nlbi1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAtNXB4OyB9XG5cbi50aHVtYnMtc2xpY2stY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAxLjVyZW0gMCAxLjVyZW07IH1cbiAgLnRodW1icy1zbGljay1jb250YWluZXIgLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnRodW1icy1zbGljay1jb250YWluZXIgLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC50aHVtYnMtc2xpY2stY29udGFpbmVyIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7IH1cbiAgICAgIC50aHVtYnMtc2xpY2stY29udGFpbmVyIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC50aHVtYnMtc2xpY2stY29udGFpbmVyIGltZy50aHVtYm5haWxfdjIge1xuICAgIG1hcmdpbjogMC4xMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aHVtYnMtc2xpY2stY29udGFpbmVyICN0aHVtYnMtc2xpY2sge1xuICAgICAgbWluLWhlaWdodDogNDAwcHg7IH0gfVxuICAudGh1bWJzLXNsaWNrLWNvbnRhaW5lciAjdGh1bWJzLXNsaWNrIC50aHVtYm5haWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAudGh1bWJzLXNsaWNrLWNvbnRhaW5lciAjdGh1bWJzLXNsaWNrIC5zbGlkZS1mcmFtZSB7XG4gICAgLypwYWRkaW5nOiAycHggMXJlbTsqLyB9XG4gICAgLnRodW1icy1zbGljay1jb250YWluZXIgI3RodW1icy1zbGljayAuc2xpZGUtZnJhbWUgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDc1dnc7IH1cbiAgICAudGh1bWJzLXNsaWNrLWNvbnRhaW5lciAjdGh1bWJzLXNsaWNrIC5zbGlkZS1mcmFtZSAuaW1hZ2UtbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC50aHVtYnMtc2xpY2stY29udGFpbmVyICN0aHVtYnMtc2xpY2sgLnNsaWNrLW5leHQsIC50aHVtYnMtc2xpY2stY29udGFpbmVyICN0aHVtYnMtc2xpY2sgLnNsaWNrLXByZXYge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnRodW1icy1zbGljay1jb250YWluZXIgI3RodW1icy1zbGljayAuc2xpY2stbmV4dDpiZWZvcmUsIC50aHVtYnMtc2xpY2stY29udGFpbmVyICN0aHVtYnMtc2xpY2sgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgY29sb3I6ICNiMzM2NTc7IH1cbiAgLnRodW1icy1zbGljay1jb250YWluZXIgI3RodW1icy1zbGljayAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IDBweDsgfVxuICAgIC50aHVtYnMtc2xpY2stY29udGFpbmVyICN0aHVtYnMtc2xpY2sgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwM0EnOyB9XG4gIC50aHVtYnMtc2xpY2stY29udGFpbmVyICN0aHVtYnMtc2xpY2sgLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDBweDsgfVxuICAgIC50aHVtYnMtc2xpY2stY29udGFpbmVyICN0aHVtYnMtc2xpY2sgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMzknOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRodW1icy1zbGljay1jb250YWluZXIgLnBob3RvLWxpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLyptYXJnaW4tdG9wOiAtNzNweDsqL1xuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICBib3R0b206IDE1cHg7IH1cbiAgICAgIC50aHVtYnMtc2xpY2stY29udGFpbmVyIC5waG90by1saW5rOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxuICAgICAgICAudGh1bWJzLXNsaWNrLWNvbnRhaW5lciAucGhvdG8tbGluazpub3QoOmhvdmVyKSBzcGFuIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnRodW1icy1zbGljay1jb250YWluZXIgLnBob3RvLWxpbms6aG92ZXIgc3BhbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG5cbi5oZWFkbGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNWE1YTU7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5oZWFkbGluZSBoMiwgLmhlYWRsaW5lIGgzLCAuaGVhZGxpbmUgaDQge1xuICAgIG1hcmdpbjogMC41cmVtOyB9XG5cbi5wcmljZV9ldXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgLyptYXJnaW4tdG9wOiAxcmVtOyovXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjYjMzNjU3OyB9XG5cbi5mb3Itc2FsZS1jb250YWluZXIge1xuICAvKi5tYXBzLWJveCwqLyB9XG4gIC5mb3Itc2FsZS1jb250YWluZXIgLmFkZHRoaXMtYnV0dG9uIHtcbiAgICAvKm1hcmdpbi10b3A6IDFyZW07Ki9cbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDE5MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmZvci1zYWxlLWNvbnRhaW5lciAuYWRkdGhpcy1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8qICAgICAgICAgICAgYm90dG9tOiAwcHg7Ki9cbiAgICAgICAgdG9wOiAyNjRweDsgfSB9XG4gICAgLmZvci1zYWxlLWNvbnRhaW5lciAuYWRkdGhpcy1idXR0b24gLm9yaWVudGF0aW9uLWhvcml6b250YWwge1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mb3Itc2FsZS1jb250YWluZXIgLnByaWNlLWJveCB7XG4gICAgaGVpZ2h0OiA5NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9yLXNhbGUtY29udGFpbmVyICNtYXAtY2FudmFzIHtcbiAgICBoZWlnaHQ6IDI4M3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9yLXNhbGUtY29udGFpbmVyIC5tYXBzLWJveCB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICAvKiAgICAgICAgQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBnbS1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSovIH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvci1zYWxlLWNvbnRhaW5lciAubWFwcy1ib3gge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZm9yLXNhbGUtY29udGFpbmVyIC5tYXBzLWJveCAuZ20tbGluay13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC01MCU7IH1cbiAgICAgIC5mb3Itc2FsZS1jb250YWluZXIgLm1hcHMtYm94IC5nbS1saW5rLXdyYXBwZXIgLmdtLWxpbmsge1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IC01cHggNXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAtNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIGJveC1zaGFkb3c6IC01cHggNXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvKnJpZ2h0OjA7Ki9cbiAgICAgICAgbGVmdDogLTUwJTtcbiAgICAgICAgcGFkZGluZzogMC4ycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyB9XG4gICAgICAgIC5mb3Itc2FsZS1jb250YWluZXIgLm1hcHMtYm94IC5nbS1saW5rLXdyYXBwZXIgLmdtLWxpbmsgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXNwYWNlci1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfSB9XG5cbiN0aHVtYnMtc2xpY2ssICN3aGF0cy1uZXctc2xpY2ssICNibG9nLXNsaWNrLCAjc3BvdGxpZ2h0LXNsaWNrIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lOyB9XG4gICN0aHVtYnMtc2xpY2suc2xpY2staW5pdGlhbGl6ZWQsICN3aGF0cy1uZXctc2xpY2suc2xpY2staW5pdGlhbGl6ZWQsICNibG9nLXNsaWNrLnNsaWNrLWluaXRpYWxpemVkLCAjc3BvdGxpZ2h0LXNsaWNrLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNkZXRhaWwtYXJlYSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLnBydHktZmFjdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRlZGVkO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wcnR5LWZhY3RzICoge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLnBydHktZmFjdHMgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAucHJ0eS1mYWN0cyBoNCB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucHJ0eS1mYWN0cyBkbCB7XG4gICAgbWFyZ2luLXRvcDogMC4zcmVtOyB9XG4gIC5wcnR5LWZhY3RzIGRkIHtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB9XG4gIC5wcnR5LWZhY3RzIC5wcm9wcyBkdCwgLnBydHktZmFjdHMgLnByb3BzIGR0IHtcbiAgICAvKm1hcmdpbi10b3A6IDAuM3JlbTsqLyB9XG4gIC5wcnR5LWZhY3RzIC5wcm9wcyBkdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDQwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5wcnR5LWZhY3RzIC5wcm9wcyBkZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1NSU7IH1cblxuLnBob3RvLWdhbGxlcnkgZmlndXJlIC50aHVtYi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnBob3RvLWdhbGxlcnkgZmlndXJlIC5mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5waG90by1nYWxsZXJ5IGZpZ3VyZSAudGh1bWJuYWlsX3BpYyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5waG90by1nYWxsZXJ5IGZpZ3VyZSwgLnBob3RvLWdhbGxlcnkgaW1nIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5waG90by1nYWxsZXJ5IGZpZ2NhcHRpb24ge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmNvdW50cnktbGlzdCAqIHtcbiAgbGluZS1oZWlnaHQ6IDEuNHJlbTsgfVxuXG4uY291bnRyeS1saXN0IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNTU1OyB9XG4gIC5jb3VudHJ5LWxpc3QgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNvdW50cnktbGlzdCBoMiwgLmNvdW50cnktbGlzdCBoMyB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY291bnRyeS1saXN0IGgyIHtcbiAgZm9udC1zaXplOiAxLjJyZW07IH1cblxuLmNvdW50cnktbGlzdCBoMyB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG5cbi5jb3VudHJ5LWxpc3QgLmNvbnRpbmVudCAqIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmNvdW50cnktbGlzdCAuY291bnQge1xuICBjb2xvcjogZ3JheTsgfVxuXG4jcmVnaXN0ZXIgLmljb24ge1xuICBoZWlnaHQ6IDYwcHg7XG4gIHdpZHRoOiA2MHB4OyB9XG5cbiNyZWdpc3RlciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIG1hcmdpbi10b3A6IDEuM3JlbTsgfVxuXG4jcmVnaXN0ZXIgLmF1Y3RfdHlwZV9zZWxlY3Qge1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG4gICNyZWdpc3RlciAuYXVjdF90eXBlX3NlbGVjdCBpbnB1dCArIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgI3JlZ2lzdGVyIC5hdWN0X3R5cGVfc2VsZWN0IGlucHV0ICsgbGFiZWw6aG92ZXIsICNyZWdpc3RlciAuYXVjdF90eXBlX3NlbGVjdCBpbnB1dDpjaGVja2VkICsgbGFiZWwsICNyZWdpc3RlciAuYXVjdF90eXBlX3NlbGVjdCAuaWNvbi5wcml2X3NlbGw6aG92ZXIsICNyZWdpc3RlciAuYXVjdF90eXBlX3NlbGVjdCAuaWNvbi5lc3RhdGVfYWdlbnQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgI3JlZ2lzdGVyIC5hdWN0X3R5cGVfc2VsZWN0IGlucHV0ICsgbGFiZWw6aG92ZXIgLmljb24ucHJpdl9zZWxsLCAjcmVnaXN0ZXIgLmF1Y3RfdHlwZV9zZWxlY3QgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIC5pY29uLnByaXZfc2VsbCwgI3JlZ2lzdGVyIC5hdWN0X3R5cGVfc2VsZWN0IC5pY29uLnByaXZfc2VsbDpob3ZlciAuaWNvbi5wcml2X3NlbGwsICNyZWdpc3RlciAuYXVjdF90eXBlX3NlbGVjdCAuaWNvbi5lc3RhdGVfYWdlbnQ6aG92ZXIgLmljb24ucHJpdl9zZWxsIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDdweCAwO1xuICAgICAgLypib3gtc2hhZG93OiBub25lOyovIH1cbiAgICAjcmVnaXN0ZXIgLmF1Y3RfdHlwZV9zZWxlY3QgaW5wdXQgKyBsYWJlbDpob3ZlciAuaWNvbi5lc3RhdGVfYWdlbnQsICNyZWdpc3RlciAuYXVjdF90eXBlX3NlbGVjdCBpbnB1dDpjaGVja2VkICsgbGFiZWwgLmljb24uZXN0YXRlX2FnZW50LCAjcmVnaXN0ZXIgLmF1Y3RfdHlwZV9zZWxlY3QgLmljb24ucHJpdl9zZWxsOmhvdmVyIC5pY29uLmVzdGF0ZV9hZ2VudCwgI3JlZ2lzdGVyIC5hdWN0X3R5cGVfc2VsZWN0IC5pY29uLmVzdGF0ZV9hZ2VudDpob3ZlciAuaWNvbi5lc3RhdGVfYWdlbnQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU2N3B4IDA7IH1cbiAgI3JlZ2lzdGVyIC5hdWN0X3R5cGVfc2VsZWN0IGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI3JlZ2lzdGVyICN0ZXJtcyB7XG4gICAgbWFyZ2luLXRvcDogMS4zcmVtOyB9IH1cblxuLnJlZ2lzdGVyLWludHJvLCAucmVnaXN0ZXItaW50cm8gaDIge1xuICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4jbG9naW4tZm9ybSB7XG4gIC8qICAgIGJ1dHRvbjpob3ZlciwgYTpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICBzcGFuLmljb24ubG9naW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGljb25fbG9naW5fYmdfaHY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Bhbi5pY29uLm5ldyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbl9uZXdfYmdfaHY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Bhbi5pY29uLmZvcmdvdCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbl9mb3Jnb3RfYmdfaHY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9Ki8gfVxuICAjbG9naW4tZm9ybSAuaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgI2xvZ2luLWZvcm0gLmljb24uaWNvbi1sb2dpbiB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHg7IH1cbiAgI2xvZ2luLWZvcm0gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICNsb2dpbi1mb3JtIHVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgI2xvZ2luLWZvcm0gdWwgbGkge1xuICAgICAgd2lkdGg6IDEwMHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAjbG9naW4tZm9ybSB1bCBsaSB7XG4gICAgICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuI3Byb2ZpbGVfZGF0YSB0ciB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgI3Byb2ZpbGVfZGF0YSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDE1cmVtOyB9XG5cbi8qI2RlbGV0ZV9wcm9maWxlIHtcclxuICAgIGJ1dHRvbjpob3ZlciB7XHJcbiAgICAgICAgc3Bhbi5pY29uLnNhZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRpY29uX3NhZF9iZ19odjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0qL1xuLmFkZC1zZWFyY2hlcyBoMiB7XG4gIGZvbnQtc2l6ZTogMS4yZW07IH1cblxuI3NlYXJjaF9hbGVydHNfdGFibGUgdGQuY291bnQge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgd2lkdGg6IDRyZW07IH1cblxuI3NlYXJjaF9hbGVydHNfdGFibGUgdGQuYnV0dG9uX2NvbnRhaW5lciB7XG4gIC8qZm9udC1zaXplOiAxcmVtOyovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDdyZW07IH1cbiAgI3NlYXJjaF9hbGVydHNfdGFibGUgdGQuYnV0dG9uX2NvbnRhaW5lciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAjc2VhcmNoX2FsZXJ0c190YWJsZSB0ZC5idXR0b25fY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cblxudGFibGUucXVlcnktbGlzdCB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgdGFibGUucXVlcnktbGlzdCB0ci5pcy1tYXJrZWQtc3BhbSB0ZCBhIHtcbiAgICBjb2xvcjogI2JiYmJiYjsgfVxuICB0YWJsZS5xdWVyeS1saXN0IHRoLm5hbWUge1xuICAgIHdpZHRoOiAxMnJlbTsgfVxuICB0YWJsZS5xdWVyeS1saXN0IHRoLmRhdGUge1xuICAgIHdpZHRoOiAxMXJlbTsgfVxuICB0YWJsZS5xdWVyeS1saXN0IHRoLmFjdGlvbl9idXR0b25zIHtcbiAgICB3aWR0aDogNXJlbTsgfVxuICB0YWJsZS5xdWVyeS1saXN0IHRkLm1lc3NhZ2UsIHRhYmxlLnF1ZXJ5LWxpc3QgdGQubmFtZSB7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICB0YWJsZS5xdWVyeS1saXN0IHRkLmFjdGlvbl9idXR0b25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgICB0YWJsZS5xdWVyeS1saXN0IHRkLmFjdGlvbl9idXR0b25zIGkge1xuICAgICAgY29sb3I6ICM1NTU7IH1cbiAgICAgIHRhYmxlLnF1ZXJ5LWxpc3QgdGQuYWN0aW9uX2J1dHRvbnMgaS5pbmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gICAgICB0YWJsZS5xdWVyeS1saXN0IHRkLmFjdGlvbl9idXR0b25zIGkuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgdGFibGUucXVlcnktbGlzdCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICB0YWJsZS5xdWVyeS1saXN0IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrc21hbGwgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2tzbWFsbCB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFja3NtYWxsIHRyLFxuICB0YWJsZS5zdGFja3NtYWxsIHRoLFxuICB0YWJsZS5zdGFja3NtYWxsIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFja3NtYWxsIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxuQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKnRvcDogNTAlOyovXG4gIC8qbGVmdDogNTAlOyovXG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIC8qbWFyZ2luLXRvcDogLTEwcHg7Ki9cbiAgLyptYXJnaW4tbGVmdDogLTEwcHg7Ki9cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMzMzO1xuICBhbmltYXRpb246IHNwaW5uZXIgLjZzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG4ucGF5X3Byb2Nlc3Npbmcge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAucGF5X3Byb2Nlc3NpbmcgLnNwaW5uZXJfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBheV9wcm9jZXNzaW5nIC5zcGlubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIHdpZHRoOiA0cmVtOyB9XG4gIC5wYXlfcHJvY2Vzc2luZyAuc3Bpbm5lcjpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIGhlaWdodDogNHJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTJyZW07IH1cbiAgLnBheV9wcm9jZXNzaW5nIC5sb2NrIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG4gICAgLnBheV9wcm9jZXNzaW5nIC5sb2NrIGRpdiB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgaGVpZ2h0OiAzLjhyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZm9udC1zaXplOiAxLjlyZW07IH1cbiAgLnBheV9wcm9jZXNzaW5nIGkuZmktc2hvcHBpbmctY2FydCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTJyZW07XG4gICAgbGVmdDogLTJyZW07XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIC5wYXlfcHJvY2Vzc2luZyAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMzM2NTc7IH1cblxuLnYtY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbiNhZGRfcHJ0X3RhYnMgYSwgI2FkZF9wcnRfdGFicyBzcGFuIHtcbiAgY29sb3I6ICM3Njc2NzY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGxhYmVsID4gaW5wdXQgKyBzcGFuLmNudCwgbGFiZWwgPiB0ZXh0YXJlYSArIHNwYW4uY250IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICBoZWlnaHQ6IDBweDsgfVxuXG4uaW5wdXQtZ3JvdXAtZXJyb3Ige1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cblxuLmlucHV0LWdyb3VwLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbi5pbnB1dC1ncm91cC1lcnJvciAuZm9ybS1lcnJvciB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG4jYWRkX3BydHkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiAwOyB9XG5cbiNhZGRfcHJ0eSAuc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4jYWRkX3BydHkgbGFiZWwgc2VsZWN0LCAjYWRkX3BydHkgbGFiZWwgPiBpbnB1dFt0eXBlPVwidGV4dFwiXSwgI2FkZF9wcnR5IGxhYmVsID4gaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNhZGRfcHJ0eSAjcGFuZWwyIGgzIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAjYWRkX3BydHkgI3BhbmVsMiBoNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuXG4jYWRkX3BydHkgLmVkaXRhZCBhI3BhbmVsNS1sYWJlbCB7XG4gIGNvbG9yOiAjZDc3OyB9XG5cbiNhZGRfcHJ0eSAuZXh0cmFzLWxpc3Qge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5pbnB1dC1ncm91cCBidXR0b24uY29udGFpbnMtaWNvbiB7XG4gIHBhZGRpbmctdG9wOiAwLjU1ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjU1ZW07IH1cblxuI2FkZF9wcnR5ICNtYXAtY2FudmFzIHtcbiAgbWF4LWhlaWdodDogNzV2aDsgfVxuXG4udXNlci1pcy10b3VjaGluZyAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3IgLmR6LWVycm9yLW1lc3NhZ2Uge1xuICBvcGFjaXR5OiAxO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEpXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xKTsgfVxuXG4uZHJvcHpvbmU6bm90KC5kei1zdGFydGVkKSAuYWRkLWltYWdlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcHpvbmUgLmR6LWRldGFpbHMsIC5kcm9wem9uZSAuZHotZGV0YWlscyBpbWcge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLmRyb3B6b25lIC5hZGQtaW1hZ2Uge1xuICB3aWR0aDogMjc0cHg7XG4gIHBhZGRpbmc6IDZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FjYWNhYztcbiAgbWFyZ2luOiAycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDFweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cbiAgLmRyb3B6b25lIC5hZGQtaW1hZ2UgZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMyOHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgLypib3JkZXItcmFkaXVzOiA1cHg7Ki9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRyb3B6b25lIC5hZGQtaW1hZ2UgZGl2IGkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5jbG9zYWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jYWR2ZXJ0aXNlciAjY29udGFjdF9kYXRhIHtcbiAgbWFyZ2luLXRvcDogMS4zcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNhZHZlcnRpc2VyICNjb250YWN0X2RhdGEgI2NvbnRhY3RfY29tcGFueSwgI2FkdmVydGlzZXIgI2NvbnRhY3RfZGF0YSAjcHJpdmF0ZV9zZWxsZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICNhZHZlcnRpc2VyICNjb250YWN0X2RhdGEgLmNvbnRhY3RfbmFtZSB7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgI2FkdmVydGlzZXIgI2NvbnRhY3RfZGF0YSAuY29udGFjdF9uYW1lIGEge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICNhZHZlcnRpc2VyICNjb250YWN0X2RhdGEgLmNvbXBfcGljIHtcbiAgICBtYXgtd2lkdGg6IDMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgICAjYWR2ZXJ0aXNlciAjY29udGFjdF9kYXRhIC5jb21wX3BpYyBpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogLTEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTsgfVxuICAgICNhZHZlcnRpc2VyICNjb250YWN0X2RhdGEgLmNvbXBfcGljIGltZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5yYWRpdXMxIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwYWRkaW5nOiAwLjI3ZW0gMC4zNWVtIDAuMjdlbSAwLjQ2ZW07IH1cblxuLmljb24ge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgLmljb24ubXktYXJyb3ctcmlnaHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IDNyZW07IH1cbiAgICAuaWNvbi5teS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDIwM0FcIjtcbiAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4xNXJlbTsgfVxuICAuaWNvbi5ub3JtYWwge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG5cbi5zdGF0aWMtcGFnZSB7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247IH1cbiAgLnN0YXRpYy1wYWdlIGgyLnNwYy1hZnRlciwgLnN0YXRpYy1wYWdlIGgzLnNwYy1hZnRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5zdGF0aWMtcGFnZSBoMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAuc3RhdGljLXBhZ2UgcCArIGg0LCAuc3RhdGljLXBhZ2UgcCArIHAge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgLnN0YXRpYy1wYWdlIGRpdi5pbmRlbnQsIC5zdGF0aWMtcGFnZSBwLmluZGVudCwgLnN0YXRpYy1wYWdlIHAuY2hpbGRfaW5kZW50IHNwYW4ge1xuICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdGF0aWMtcGFnZSAuc2VjdGlvbiB7XG4gICAgY291bnRlci1yZXNldDogc3Vic2VjdGlvbjsgfVxuICAgIC5zdGF0aWMtcGFnZSAuc2VjdGlvbjo6YmVmb3JlIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICAgICAgY29udGVudDogY291bnRlcihzZWN0aW9uKSBcIiBcIjsgfVxuICAuc3RhdGljLXBhZ2UgLnN1YnNlY3Rpb24ge1xuICAgIGNvdW50ZXItcmVzZXQ6IHN1YnN1YnNlY3Rpb247IH1cbiAgICAuc3RhdGljLXBhZ2UgLnN1YnNlY3Rpb246OmJlZm9yZSB7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogc3Vic2VjdGlvbjtcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoc2VjdGlvbikgXCIuXCIgY291bnRlcihzdWJzZWN0aW9uKSBcIiBcIjsgfVxuICAuc3RhdGljLXBhZ2UgLnN1YnN1YnNlY3Rpb246OmJlZm9yZSB7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IHN1YnN1YnNlY3Rpb247XG4gICAgY29udGVudDogY291bnRlcihzZWN0aW9uKSBcIi5cIiBjb3VudGVyKHN1YnNlY3Rpb24pIFwiLlwiIGNvdW50ZXIoc3Vic3Vic2VjdGlvbikgXCIgXCI7IH1cbiAgLnN0YXRpYy1wYWdlLnByaWNpbmdfYWZ0ZXIgaDIsIC5zdGF0aWMtcGFnZS5wcmljaW5nX2FmdGVyIGgzIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5sYWJlbC5sb25nLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBsYWJlbC5sb25nLWxhYmVsIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBsYWJlbC5sb25nLWxhYmVsIHNwYW4uZm9ybS1lcnJvciB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbi5zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiBhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5hZC1wcmV2aWV3LW1hcCB7XG4gIHdpZHRoOiAxOTlweDtcbiAgLyogICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMnJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnJlbTsqLyB9XG4gIC5hZC1wcmV2aWV3LW1hcCBpbWcge1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWhlaWdodDogMjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWQtcHJldmlldy1tYXAge1xuICAgICAgd2lkdGg6IDI5OXB4OyB9XG4gICAgICAuYWQtcHJldmlldy1tYXAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyMjVweDtcbiAgICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgLmFkLXByZXZpZXctbWFwIC5pbmZvLWJveCB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAuYWQtcHJldmlldy1tYXAgLmluZm8tYm94IC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWhlaWdodDogMjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmFkLXByZXZpZXctbWFwIC5pbmZvLWJveCAubmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4ge1xuICAgICAgICAuYWQtcHJldmlldy1tYXAgLmluZm8tYm94IC5uYW1lIHtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgIC5hZC1wcmV2aWV3LW1hcCAuaW5mby1ib3ggLnByaWNlIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGNvbG9yOiAjZGI1ODM4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IDI0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5hZC1wcmV2aWV3LW1hcCAuaW5mby1ib3ggLnByaWNlIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsgfSB9XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmxlYWZsZXQtY29udGFpbmVyIGEubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICBtYXJnaW46IDlweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICB3aWR0aDogMThweDtcbiAgcGFkZGluZzogMnB4O1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB6LWluZGV4OiAxMDAwOyB9XG4gIC5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLmxlYWZsZXQtbWFya2VyLWljb24uY2x1c3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEyLCAxNjEsIDI3LCAwLjUpOyB9XG4gIC5sZWFmbGV0LW1hcmtlci1pY29uLmNsdXN0ZXIgZGl2IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTIsIDE2MSwgMjcsIDAuOSk7IH1cbiAgLmxlYWZsZXQtbWFya2VyLWljb24uY2x1c3RlciBzcGFuIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuODVyZW07IH1cbiAgLmxlYWZsZXQtbWFya2VyLWljb24uY2x1c3Rlci5jbHVzdGVyLXNpemUtMCB7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9XG4gICAgLmxlYWZsZXQtbWFya2VyLWljb24uY2x1c3Rlci5jbHVzdGVyLXNpemUtMCBkaXYge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsgfVxuICAgIC5sZWFmbGV0LW1hcmtlci1pY29uLmNsdXN0ZXIuY2x1c3Rlci1zaXplLTAgc3BhbiB7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAubGVhZmxldC1tYXJrZXItaWNvbi5jbHVzdGVyLmNsdXN0ZXItc2l6ZS0xIHtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7IH1cbiAgICAubGVhZmxldC1tYXJrZXItaWNvbi5jbHVzdGVyLmNsdXN0ZXItc2l6ZS0xIGRpdiB7XG4gICAgICB3aWR0aDogMzRweDtcbiAgICAgIGhlaWdodDogMzRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxN3B4OyB9XG4gICAgLmxlYWZsZXQtbWFya2VyLWljb24uY2x1c3Rlci5jbHVzdGVyLXNpemUtMSBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9XG4gIC5sZWFmbGV0LW1hcmtlci1pY29uLmNsdXN0ZXIuY2x1c3Rlci1zaXplLTIge1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDsgfVxuICAgIC5sZWFmbGV0LW1hcmtlci1pY29uLmNsdXN0ZXIuY2x1c3Rlci1zaXplLTIgZGl2IHtcbiAgICAgIHdpZHRoOiAzOHB4O1xuICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTlweDsgfVxuICAgIC5sZWFmbGV0LW1hcmtlci1pY29uLmNsdXN0ZXIuY2x1c3Rlci1zaXplLTIgc3BhbiB7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDsgfVxuICAubGVhZmxldC1tYXJrZXItaWNvbi5jbHVzdGVyLmNsdXN0ZXItc2l6ZS0zIHtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7IH1cbiAgICAubGVhZmxldC1tYXJrZXItaWNvbi5jbHVzdGVyLmNsdXN0ZXItc2l6ZS0zIGRpdiB7XG4gICAgICB3aWR0aDogNDJweDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIxcHg7IH1cbiAgICAubGVhZmxldC1tYXJrZXItaWNvbi5jbHVzdGVyLmNsdXN0ZXItc2l6ZS0zIHNwYW4ge1xuICAgICAgbGluZS1oZWlnaHQ6IDQycHg7IH1cblxuLmRyb3Bkb3duLWJ1dHRvbnMtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcm9wZG93bi1idXR0b25zLXBhcmVudCAuZHJvcGRvd24tcGFuZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLWJ1dHRvbnMtcGFyZW50IC5kcm9wZG93bi1wYW5lIGlucHV0IHtcbiAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLnRodW1ibmFpbC13aXRoLWJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnRodW1ibmFpbC13aXRoLWJhZGdlIC5iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICByaWdodDogLTVweDsgfVxuXG50YWJsZS5zaG9wcGluZ2NhcnQgdHIudG90YWwgdGQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG50YWJsZS5zaG9wcGluZ2NhcnQgLm1lZGlhLW9iamVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxudGFibGUuc2hvcHBpbmdjYXJ0IC5pY29uX3RodW1iX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7IH1cbiAgdGFibGUuc2hvcHBpbmdjYXJ0IC5pY29uX3RodW1iX2NvbnRhaW5lciAuaWNvbl90aHVtYiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICB0YWJsZS5zaG9wcGluZ2NhcnQgLmljb25fdGh1bWJfY29udGFpbmVyIC5pY29uX3RodW1iIGkge1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4OyB9XG5cbi8qLmhlYWRlcl9jb250YWluZXIge1xyXG4gICAgLmNhcnQuaWNvbi13aXRoLWJhZGdlIHtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICB9XHJcbn0qL1xuLnBheW1lbnRfY29udGFpbmVyICNzdWJtaXQtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnN0YWNrLWZvci1zbWFsbC1vbmx5IHRoIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zdGFjay1mb3Itc21hbGwtb25seSB0ciwgLnN0YWNrLWZvci1zbWFsbC1vbmx5IHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5wc2V1ZG8tdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucHNldWRvLXRhYmxlLmV4cGFuZGVkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucHNldWRvLXRhYmxlIC5wdC1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAucHNldWRvLXRhYmxlIC5wdC1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbi5hZGRvbl9tb2RhbCBpIHtcbiAgY29sb3I6ICM4ODg7IH1cblxuLmFkZG9uX21vZGFsIC5tb2RhbF90aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmFkZG9uX21vZGFsIC5wcm9kdWN0X25hbWUge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cblxuLmFkZG9uX21vZGFsIC5wcm9kdWN0X2Rlc2Mge1xuICBtYXJnaW4tdG9wOiAtMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5idXR0b25fd2l0aF9iYWRnZV9jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJ1dHRvbl93aXRoX2JhZGdlX2NvbnRhaW5lciBpLmJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMC45cmVtO1xuICAgIHJpZ2h0OiAtMC45cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uYWRkb25fcm93IC5idXR0b25fd2l0aF9iYWRnZV9jb250YWluZXIgaS5iYWRnZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFkZG9uX3Jvdy5pbl9jYXJ0IC5idXR0b25fd2l0aF9iYWRnZV9jb250YWluZXIgaS5iYWRnZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pY29uLXdpdGgtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaWNvbi13aXRoLWJhZGdlIC5iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4ycmVtO1xuICAgIHJpZ2h0OiAtMC44cmVtOyB9XG5cbi5wcmljZWxpc3QgLnByaWNlX21vZGVsIHtcbiAgd2lkdGg6IDE1JTsgfVxuXG4ucmV2ZWFsLndpdGgtaWNvbiwgLnJldmVhbC53aXRoLWljb246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4ucmV2ZWFsLndpdGgtaWNvbiAuaWNvbi04MCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLndpdGgtaWNvbiAuaWNvbi04MCB7XG4gICAgICB0b3A6IC0xMnB4O1xuICAgICAgbGVmdDogLTE1cHg7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAucmV2ZWFsLndpdGgtaWNvbiAuaWNvbi04MCArIGgzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7IH0gfVxuXG4uaGVhZGxpbmUtcHJpbnQge1xuICBmb250LXNpemU6IDJyZW07IH1cblxuLmN1cnNvci1wb2ludGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi50b29sdGlwIGEge1xuICBjb2xvcjogd2hpdGU7IH1cblxubGFiZWwgaS5maS1pbmZvLmhhcy10aXAge1xuICBtYXJnaW46IC01cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmxhYmVsLmhhcy10aXAuZGlzYWJsZWQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogI2FhYTsgfVxuXG4ucHR5LXZpZXcgaDIuc3VidGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiAjZGI1ODM4OyB9XG5cbi5hZGRvbnNfdmlldyAuYWRkb25fbGlzdCAuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTsgfVxuXG4uYWRkb25zX3ZpZXcgdGQgYnV0dG9uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hZGRvbnNfdmlldyB0ZCBzcGFuICsgLmJ1dHRvbl93aXRoX2JhZGdlX2NvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmFkZG9uc192aWV3IHRkLnRodW1iX2NvbCB7XG4gIG1heC13aWR0aDogMTAwcHg7IH1cblxuLmFkZG9uc192aWV3IC5zaG93LWZvci1zbWFsbC1vbmx5IHRkIHtcbiAgcGFkZGluZzogMC4ycmVtOyB9XG5cbi5hZGRvbnNfdmlldyB0ci5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XG5cbi5hZGRvbnNfdmlldyAud2l0aF9hYnNfaW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hZGRvbnNfdmlldyAud2l0aF9hYnNfaW1nIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfVxuXG4uc25pcHBldC1jb250YWluZXIgYSBpbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAzJTsgfVxuXG4uc25pcHBldC1jb250YWluZXIgYTpudGgtY2hpbGQoMW4rMikgaW1nIHtcbiAgbWFyZ2luLXRvcDogLTEwJTsgfVxuXG4uc25pcHBldC1jb250YWluZXIgYTpudGgtY2hpbGQoMm4rMikgaW1nIHtcbiAgbWFyZ2luLWxlZnQ6IDUlOyB9XG5cbi5zaG93LWZvci1scDRmLW9ubHksIC5zaG93LWZvci1wdTIway1vbmx5LCAuc2hvdy1mb3ItcHU1MGstb25seSxcbi5zaG93LWZvci1wdTEwMGstb25seSwgLnNob3ctZm9yLWFyZS1vbmx5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubHA0ZiAuc2hvdy1mb3ItbHA0Zi1vbmx5IHtcbiAgZGlzcGxheTogaW5pdGlhbDsgfVxuXG4ucHUyMGsgLnNob3ctZm9yLXB1MjBrLW9ubHkge1xuICBkaXNwbGF5OiBpbml0aWFsOyB9XG5cbi5wdTUwayAuc2hvdy1mb3ItcHU1MGstb25seSB7XG4gIGRpc3BsYXk6IGluaXRpYWw7IH1cblxuLnB1MTAwayAuc2hvdy1mb3ItcHUxMDBrLW9ubHkge1xuICBkaXNwbGF5OiBpbml0aWFsOyB9XG5cbi5hcmUgLnNob3ctZm9yLWFyZS1vbmx5IHtcbiAgZGlzcGxheTogaW5pdGlhbDsgfVxuXG5kaXYucWMtY21wMi1jb250YWluZXIgZGl2LmxvZ28tY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuZm9ybSNjb250YWN0LWZvcm0gI2NhcHRjaGEge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmZvcm0jdW5zdWJzY3JpYmUgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMzY1NzsgfVxuXG5mb3JtI3Vuc3Vic2NyaWJlIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MzE2Mzc7IH1cbiIsIiRzcHJpdGVtYXBfdXJsOiBpZihnbG9iYWwtdmFyaWFibGUtZXhpc3RzKHNwcml0ZW1hcF91cmwpLCAkc3ByaXRlbWFwX3VybCwgJy4uLy4uL2ltYWdlcy9wcm9wZXJ0eV9zcHJpdGVtYXAucG5nJyk7XG4kc3ByaXRlbWFwX3VybF9yZXRpbmE6IGlmKGdsb2JhbC12YXJpYWJsZS1leGlzdHMoc3ByaXRlbWFwX3VybF9yZXRpbmEpLCAkc3ByaXRlbWFwX3VybF9yZXRpbmEsICcuLi8uLi9pbWFnZXMvcHJvcGVydHlfc3ByaXRlbWFweDIucG5nJyk7XG4kc3ByaXRlbWFwX3VybF9zc206IGlmKGdsb2JhbC12YXJpYWJsZS1leGlzdHMoc3ByaXRlbWFwX3VybF9zc20pLCAkc3ByaXRlbWFwX3VybF9zc20sICcuLi8uLi9pbWFnZXMvaWNvbnMvZGlzdC9hbGwucG5nJyk7XG4kc3ByaXRlbWFwX3VybF9yZXRpbmFfc3NtOiBpZihnbG9iYWwtdmFyaWFibGUtZXhpc3RzKHNwcml0ZW1hcF91cmxfcmV0aW5hX3NzbSksICRzcHJpdGVtYXBfdXJsX3JldGluYV9zc20sICcuLi8uLi9pbWFnZXMvaWNvbnMvZGlzdC9hbGxAMngucG5nJyk7XG5cbiRzcHJpdGVtYXBfdXJsX3JldGluYV9iZ19zaXplOiAxMjg5cHggMzY2cHg7XG5cbiRwdTIwa19jb2xvcjogI2RiNTgzODtcbiRwdTIwa19jb2xvcl9ob3ZlcjogI2MzNGYzMztcbiRwdTUwa19jb2xvcjogIzNmN2Y5ZDtcbiRwdTUwa19jb2xvcl9ob3ZlcjogIzM4NzI4ZDtcbiRwdTk5a19jb2xvcjogIzdlYTM0NztcbiRwdTk5a19jb2xvcl9ob3ZlcjogIzZkOGQzZTtcbiRwdTEwMGtfY29sb3I6ICM3ZWEzNDc7XG4kcHUxMDBrX2NvbG9yX2hvdmVyOiAjNmQ4ZDNlO1xuJHBhbXBfY29sb3I6ICNkNGExMWI7XG4kcGFtcF9jb2xvcl9ob3ZlcjogI2MwOTExOTtcbiRhcmVfY29sb3I6ICNkNGExMWI7XG4kYXJlX2NvbG9yX2hvdmVyOiAjYzA5MTE5O1xuLyokbHA0Zl9jb2xvcjogI2JiMjcyNztcbiRscDRmX2NvbG9yX2hvdmVyOiAjYmI1NDU0OyovXG4vKiRscDRmX2NvbG9yOiAjZWU4ZDdkO1xuJGxwNGZfY29sb3JfaG92ZXI6ICNkOTRkMmQ7Ki9cbiRscDRmX2NvbG9yOiAjYjMzNjU3O1xuJGxwNGZfY29sb3JfaG92ZXI6ICM5MzE2Mzc7XG5cbiRzcG90bGlnaHRfYmFja2dyb3VuZDogI2ZkZjBiZTtcblxuJHh5LWdyaWQ6IGZhbHNlO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTsiLCIuY29sb3Ige1xuICAgICYubHA0ZiB7XG4gICAgICAgIGNvbG9yOiAkbHA0Zl9jb2xvcjtcbiAgICB9XG4gICAgJi5wdTIwayB7XG4gICAgICAgIGNvbG9yOiAkcHUyMGtfY29sb3I7XG4gICAgfVxuICAgICYucHU1MGsge1xuICAgICAgICBjb2xvcjogJHB1NTBrX2NvbG9yO1xuICAgIH1cbiAgICAmLnB1OTlrIHtcbiAgICAgICAgY29sb3I6ICRwdTk5a19jb2xvcjtcbiAgICB9XG4gICAgJi5wdTEwMGsge1xuICAgICAgICBjb2xvcjogJHB1MTAwa19jb2xvcjtcbiAgICB9XG4gICAgJi5wYW1wIHtcbiAgICAgICAgY29sb3I6ICRwYW1wX2NvbG9yO1xuICAgIH1cbiAgICAmLmFyZSB7XG4gICAgICAgIGNvbG9yOiAkYXJlX2NvbG9yO1xuICAgIH1cbn0iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XHJcblxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcbkBpbXBvcnQgJ3NldHRpbmdzX2N1c3RvbSc7XHJcbkBpbXBvcnQgJ2JyZWFrcG9pbnRfY3VzdG9tJztcclxuQGltcG9ydCAnYmFzZV9jdXN0b20nO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcclxuQGltcG9ydCAnbW90aW9uLXVpJztcclxuLypAaW1wb3J0ICdzcHJpdGVtYXBfaWNvbnNfaW1wJzsqL1xyXG5AaW1wb3J0ICdzcHJpdGVtYXBfaWNvbnNfc3NtX2ltcCc7XHJcbkBpbXBvcnQgJ2hlYWRlcl9yZXNwX2ltcCc7XHJcbkBpbXBvcnQgJ2Zvb3Rlcl9yZXNwX2ltcCc7XHJcbkBpbXBvcnQgJ2dvb2dsZV9hZHNfaW1wJztcclxuQGltcG9ydCAnY2hvc2VuX2ltcCc7XHJcbkBpbXBvcnQgJ21hcmtlcmNsdXN0ZXJfaW1wJztcclxuQGltcG9ydCAnbGVhZmxldF9pbXAnO1xyXG5cclxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XHJcbi8qQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247Ki9cclxuLypAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51OyovXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbi8qQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1iczsqL1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xyXG4vKkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xyXG4vKkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7Ki9cclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcclxuLypAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7Ki9cclxuLypAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87Ki9cclxuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XHJcbi8qQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzOyovXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuLypAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjsqL1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWV0ZXItZWxlbWVudDtcclxuLypAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjsqL1xyXG4vKkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5OyovXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5cclxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcclxuXHJcbmh0bWwge1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3c6IC1tb3otc2Nyb2xsYmFycy12ZXJ0aWNhbDtcclxufVxyXG5cclxuYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICYuYnV0dG9uIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmLnJldmVydC1ob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmd0OjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXDAwYTBcXDAwM2UnO1xyXG4gICAgfVxyXG59XHJcblxyXG5hW3RhcmdldD1cIl9ibGFua1wiXTpub3QoLm5vLWJsYW5rLXN5bWJvbCk6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBUUVsRVFWUjQycVhLd1FrQUlBeERVVWR4dE82L1JCUWtRWnZTaThJL3BMNEJvR3cvWFBraDRYaWdQbXNVZ2gwNjI2QWpSc2d4SFRrVVRoc0cyVC9zSWx6ZFRzcDUya1NTMXdBQUFBQkpSVTVFcmtKZ2dnPT0pO1xyXG4gICAgb3BhY2l0eTogMC42O1xyXG4gICAgbWFyZ2luOiAwIDNweCAwIDVweDtcclxufVxyXG5cclxuYTpob3ZlciwgYTphY3RpdmUsIGE6Zm9jdXMge1xyXG4gICAgJjpub3QoLmJ1dHRvbil7XHJcbiAgICAgICAgLyp0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsqL1xyXG4gICAgICAgIC8qdGV4dC1kZWNvcmF0aW9uOiBub25lOyovXHJcbiAgICAgICAgLypjb2xvcjogJHByaW1hcnlfY29sb3I7Ki9cclxuICAgIH1cclxufVxyXG5cclxuc2VsZWN0IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XHJcbn1cclxuXHJcbi5pdGVtLWluZGVudCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMC44cmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMDNBXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IC0wLjdyZW07XHJcbiAgICAgICAgdG9wOiAtMC4ycmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtXHJcbiAgICB9ICAgXHJcbn1cclxuXHJcbi5jb2x1bW4uZXhwYW5kZWQge1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxufVxyXG5cclxuLnVwcGVyY2FzZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4udW5kZXJsaW5lIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4ubm9wYWRkaW5nLWxlZnQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG59XHJcblxyXG4ubm9wYWRkaW5nLXJpZ2h0IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5ub3dyYXAge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuaDMge1xyXG4gICAgb3ZlcmZsb3ctd3JhcDogbm9ybWFsO1xyXG59XHJcblxyXG5pIHtcclxuICAgICYuZm9udC1pY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgJjpub3QoLmJvZHktZm9udC1jb2xvcikge1xyXG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkYm9keS1mb250LWNvbG9yLCAyNSUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAmOmhvdmVyLCAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zb3J0IHtcclxuICAgICAgICAgICAgJi51cDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDI1YjJcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmRvd246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyNWJjXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5ib3RoOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjViMlxcMjViY1wiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudGFyZ2V0LWJsYW5rOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDI5QzknO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNpcmNsZS0xLTItZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEuMmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEuMmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuNWVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmRpdiwgc3BhbiB7XHJcbiAgICAmLm5vYnIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG59XHJcblxyXG51bC5idXR0b24tbGlzdCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC5maS1pY29uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhLmFkZG9ucywgLmZpLWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogI2Q3NztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2M1NTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI21hcC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpdiNpbmZvIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDk1dnc7XHJcbiAgICB9XHJcbn1cclxuI21hcC1jb250YWluZXIuc2hhZG93czpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxufVxyXG4jbWFwLWNvbnRhaW5lci5zaGFkb3dzOmJlZm9yZSB7IHRvcDogLTEwcHg7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBoZWlnaHQ6IDEwcHg7IH1cclxuI21hcC1jb250YWluZXIuc2hhZG93czphZnRlciB7IHJpZ2h0OiAtMTBweDsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiAxMHB4OyB9XHJcbiNtYXAtY2FudmFzLnNoYWRvd3M6YmVmb3JlIHsgYm90dG9tOiAtMTBweDsgbGVmdDogMDsgcmlnaHQ6IDA7IGhlaWdodDogMTBweDsgfVxyXG4jbWFwLWNhbnZhcy5zaGFkb3dzOmFmdGVyIHsgbGVmdDogLTEwcHg7IHRvcDogMDsgYm90dG9tOiAwOyB3aWR0aDogMTBweDsgfVxyXG5cclxuI21hcC1jYW52YXMsICNtYXAtY2FudmFzLWxvYWRpbmcge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgaGVpZ2h0OiA0NTBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA3NXZoO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGhlaWdodDogNjAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbmRpdi5tYXBfdmlldyNtYXAtY2FudmFzLCBkaXYubWFwX3ZpZXcjbWFwLWNhbnZhcy1sb2FkaW5nIHtcclxuICAgIGhlaWdodDogNzV2aDtcclxufVxyXG5cclxuI21hcC1jYW52YXMtbG9hZGluZyB7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIGRpdiBkaXYgZGl2LmxvYWRpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjBweCAwcHggcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjBweCAwcHggcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tYXBzX292ZXJsYXkge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgIC8qcG9zaXRpb246IHJlbGF0aXZlOyovXHJcbiAgICAgICAgdG9wOiAtNDUwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC00NTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtNjAwcHg7XHJcbiAgICB9XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5tYXBzX292ZXJsYXk+ZGl2IHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvcGVydHlfc2VhcmNoX2xhbmRpbmcge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcbiAgICBzZWxlY3QsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5jaG9zZW4tY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDIuMnJlbTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IDBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcclxuICAgICAgICAvKmJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7Ki8gXHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyBcclxuICAgICAgICBoZWlnaHQ6IDg0cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgd2lkdGg6IDI0NXB4OyBcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9jaGVhcC1ob21lLWxvZ29zL2ljb25zL2Fycm93LWJvdHRvbS5wbmdcIikgbm8tcmVwZWF0IDkwJSAjMzAzMDMwO1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAwLjAxcHg7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogXCJcIjtcclxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4MDgwO1xyXG4gICAgfVxyXG4gICAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjODA4MDgwO1xyXG4gICAgfVxyXG4gICAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIHtcclxuICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6ICM4MDgwODA7XHJcbiAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICMzMzM7XHJcbiAgICAgICAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiAjMzMzO1xyXG4gICAgICAgIC8qc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiByZWQ7Ki9cclxuICAgIH1cclxuICAgIC5jaG9zZW4tY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIuMnJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogODRweDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qICAgICAgICAqIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9Ki9cclxuICAgIH1cclxuICAgICNzZWFyY2hfY291bnRyeV9jaG9zZW4gLmNob3Nlbi1yZXN1bHRzIGxpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcclxuICAgICAgICAmLmNvbnRpbmVudCwgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29udGluZW50IHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubm8tcmVzdWx0cyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jaG9zZW4tZHJvcCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYwNjA2MDtcclxuICAgICAgICAvKiAgICAgICAgJiAqIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgIC5jaG9zZW4tc2VhcmNoLWlucHV0IHtcclxuICAgICAgICAgICAgYm9yZGVyOiAjZmZmO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAvKmJhY2tncm91bmQtY29sb3I6ICNmZmY7Ki8gICAgICAgICBcclxuICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNob3Nlbi1yZXN1bHRzIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgICAmLmhpZ2hsaWdodGVkIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA5MDkwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjMzMzIDEwJSwgIzQ0NCA4MCUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5uby1yZXN1bHRzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHJlbTtcclxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMDMwMzA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc2VsZWN0OmhvdmVyLCAuY2hvc2VuLWNvbnRhaW5lcjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYwNjA2MDtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uc3VibWl0LWhvbWVwYWdlIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7XHJcbiAgICAgICAgJi5wdTIwayB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2NoZWFwLWhvbWUtbG9nb3MvaWNvbnMvYXJyb3ctcmlnaHQucG5nXCIpIG5vLXJlcGVhdCA5MCUgJHB1MjBrX2NvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnB1NTBrIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vY2hlYXAtaG9tZS1sb2dvcy9pY29ucy9hcnJvdy1yaWdodC5wbmdcIikgbm8tcmVwZWF0IDkwJSAkcHU1MGtfY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHU5OWsge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9jaGVhcC1ob21lLWxvZ29zL2ljb25zL2Fycm93LXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgOTAlICRwdTk5a19jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wdTEwMGsge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9jaGVhcC1ob21lLWxvZ29zL2ljb25zL2Fycm93LXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgOTAlICRwdTEwMGtfY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGFtcCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2NoZWFwLWhvbWUtbG9nb3MvaWNvbnMvYXJyb3ctcmlnaHQucG5nXCIpIG5vLXJlcGVhdCA5MCUgJHBhbXBfY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYXJlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vY2hlYXAtaG9tZS1sb2dvcy9pY29ucy9hcnJvdy1yaWdodC5wbmdcIikgbm8tcmVwZWF0IDkwJSAkYXJlX2NvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxwNGYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9jaGVhcC1ob21lLWxvZ29zL2ljb25zL2Fycm93LXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgOTAlICRscDRmX2NvbG9yO1xyXG4gICAgICAgIH0gIFxyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5zdWJtaXQtaG9tZXBhZ2Uge1xyXG4gICAgICAgICYucHUyMGs6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHUyMGtfY29sb3JfaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHU1MGs6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHU1MGtfY29sb3JfaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHU5OWs6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHU5OWtfY29sb3JfaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHUxMDBrOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1MTAwa19jb2xvcl9ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYW1wOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbXBfY29sb3JfaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYXJlOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFyZV9jb2xvcl9ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5scDRmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxwNGZfY29sb3JfaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI3NlYXJjaF9jb3VudHJ5IHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAuY29udGluZW50IHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm92ZXJsYXktYm94IHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcbiAgICB9XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIC5idXR0b24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEuNmVtO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAvKmhlaWdodDogNmVtOyovXHJcbiAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vY2hlYXAtaG9tZS1sb2dvcy9pY29ucy9hcnJvdy1yaWdodC5wbmcpIG5vLXJlcGVhdCA5MCUgJGxwNGZfY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2NoZWFwLWhvbWUtbG9nb3MvaWNvbnMvYXJyb3ctcmlnaHQucG5nKTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxwNGZfY29sb3JfaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5vdmVybGF5LWJveC1pdGVtLCAuaGVhZGxpbmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0QTRBNEE7XHJcbiAgICB9XHJcbiAgICAuaGVhZGxpbmUge1xyXG4gICAgICAgIHBhZGRpbmc6IDFlbSAwLjVlbSAxZW07XHJcbiAgICB9XHJcbiAgICAuaGVhZGxpbmUsIC5zdWItaGVhZGxpbmUgaDIge1xyXG4gICAgICAgIC8qZm9udC13ZWlnaHQ6IGJvbGQ7Ki9cclxuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgIH1cclxuICAgIC5zdWItaGVhZGxpbmUge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgLypjb2xvcjogJGxwNGZfY29sb3I7Ki9cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIC8qZm9udC1zaXplOiAxNTAlOyovXHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLm92ZXJsYXktYm94LWl0ZW0geyAgXHJcbiAgICAgICAgcGFkZGluZzogMC44ZW0gMS42ZW07XHJcbiAgICB9XHJcbiAgICAmLnJvdyAucm93OmZpcnN0LW9mLXR5cGUgLm92ZXJsYXktYm94LWl0ZW0geyAgXHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNnJlbTtcclxuICAgIH1cclxuICAgICYucm93IC5yb3c6bnRoLWxhc3QtY2hpbGQoMSkgLm92ZXJsYXktYm94LWl0ZW0geyAgXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNnJlbTsgIFxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC5vdmVybGF5LWJveC1pdGVtIHsgIFxyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjllbSAxLjdlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yb3cgLnJvdzpmaXJzdC1vZi10eXBlIC5vdmVybGF5LWJveC1pdGVtIHsgIFxyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS45cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJvdyAucm93Om50aC1sYXN0LWNoaWxkKDEpIC5vdmVybGF5LWJveC1pdGVtIHsgIFxyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS45cmVtOyAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmljb24ge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIC8qaGVpZ2h0OiA2MHB4OyovXHJcbiAgICAgICAgLyp3aWR0aDogNjBweDsqL1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvKmRpc3BsYXk6IGlubGluZS1ibG9jazsqL1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4jd2hhdHNfbmV3X2JveCwgI2Jsb2dfYm94LCAjc3BvdGxpZ2h0X2JveCB7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDAgMzBweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgLmltZy13cmFwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgIH1cclxuICAgIC5pbWctd3JhcC1zcG90bGlnaHQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvKmhlaWdodDogMjg0cHg7Ki9cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTE2cHg7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNzcG90bGlnaHRfYm94IC5hZC1wcmV2aWV3LXNwb3RsaWdodCwgI3doYXRzX25ld19ib3ggLmFkLXByZXZpZXcuaW5mby1ib3gtY29udGFpbmVyIHtcclxuICAgICAgICAvKmRpc3BsYXk6IGZsZXg7Ki9cclxuICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgLypoZWlnaHQ6IDMwMHB4OyovXHJcbiAgICAgICAgbWF4LXdpZHRoOiA5OCU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTsqL1xyXG4gICAgICAgICAgICAvKmhlaWdodDogMzAwcHg7Ki9cclxuICAgICAgICB9XHJcbn1cclxuXHJcbiNzcG90bGlnaHRfYm94IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MDYwNjA7XHJcbiAgICAuYWQtcHJldmlldy1zcG90bGlnaHQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgLmluZm8tYm94LWJvdHRvbSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjByZW07XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAtM3JlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIC5wdHlfcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnB0eV9uYW1lIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwdTIway1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnB0eV9kZXRhaWxzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDBweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDoxcmVtO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCMwMDAsICNmZmYpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCksICNmZmYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IDFyZW07XHJcbiAgICAgICAgei1pbmRleDogMjA7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHUyMGstY29sb3I7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiN3aGF0c19uZXdfYm94IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDMwMzA7XHJcbiAgICBwIGEge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLCAuZGVzY3JpcHRpb24gcCBhIHtcclxuICAgICAgICBjb2xvcjogI0NDQ0NDQztcclxuICAgIH1cclxuICAgIC5zaG93LWZvci1sYXJnZSB7XHJcbiAgICAgICAgLmFkLXByZXZpZXcuZ2FkIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMTVweDsgXHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcbn1cclxuXHJcbiNibG9nX2JveCB7XHJcbiAgICAmLmxwNGYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRscDRmX2NvbG9yO1xyXG4gICAgfVxyXG4gICAgJi5wdTIwayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1MjBrX2NvbG9yO1xyXG4gICAgfVxyXG4gICAgJi5wdTUwayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1NTBrX2NvbG9yO1xyXG4gICAgfVxyXG4gICAgJi5wdTk5ayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1OTlrX2NvbG9yO1xyXG4gICAgfVxyXG4gICAgJi5wdTEwMGsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwdTEwMGtfY29sb3I7XHJcbiAgICB9XHJcbiAgICAmLnBhbXAge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW1wX2NvbG9yO1xyXG4gICAgfVxyXG4gICAgJi5hcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW1wX2NvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG5idXR0b24uc2xpY2stZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4vKi5idXR0b24tcm93IC5idXR0b24ge1xyXG4gICAgaGVpZ2h0OiAzcmVtO1xyXG59Ki9cclxuXHJcbi8vIEF1cyBWZXJzaW9uIDYuMi4wIFwiZ2VyZXR0ZXRcIlxyXG4ucm93IC5yb3cge1xyXG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG59XHJcblxyXG4uYWQtcHJldmlldywgLmJsb2ctcHJldmlldywgLmFkLXByZXZpZXctc3BvdGxpZ2h0IHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgIC8qaGVpZ2h0OiAzMDBweDsqL1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgfVxyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAmLmF1dG93aWR0aCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgICAmLmF1dG9oZWlnaHQge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICAgICYud2l0aC1ib3JkZXJ7XHJcbiAgICAgICAgLyogICAgICAgIHdpZHRoOiAzMDZweDsqL1xyXG4gICAgICAgIC8qbWFyZ2luOiAxMHB4OyovXHJcbiAgICAgICAgYm9yZGVyOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMC4zZW07XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgLyp0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0OyovXHJcbiAgICB9XHJcbiAgICAmLndpdGgtb3V0bGluZXtcclxuICAgICAgICAvKiAgICAgICAgd2lkdGg6IDMwNnB4OyovXHJcbiAgICAgICAgLyptYXJnaW46IDEwcHg7Ki9cclxuICAgICAgICBvdXRsaW5lOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xyXG4gICAgICAgIG91dGxpbmUtd2lkdGg6IDAuM2VtO1xyXG4gICAgICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG91dGxpbmUtY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgLyp0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0OyovXHJcbiAgICB9XHJcbiAgICAmLCAuaW5mby1ib3gtY29udGFpbmVyLCAmLmluZm8tYm94LWNvbnRhaW5lciwgLmJ1dHRvbl9jb250YWluZXIsICYuYnV0dG9uX2NvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC52ZXJ0aWNhbF9jZW50ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudmVydGljYWxfY2VudGVyXzFjaDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmluZm8tYm94IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuICAgICAgICAuY291bnRyeSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHUyMGtfY29sb3I7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmVnaW9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICM2MDYwNjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hbWUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyLCAucmVhZC1tb3JlIGE6aG92ZXIge1xyXG4gICAgICAgIGRpdi5saW5rIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idXR0b24uaG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYWQtcHJldmlldywgLmJsb2ctcHJldmlldywgLmFkLXByZXZpZXctbWFwLCAuYWQtcHJldmlldy1zcG90bGlnaHQge1xyXG4gICAgJjpob3ZlciwgLnJlYWQtbW9yZSBhOmhvdmVyIHtcclxuICAgICAgICAmLmxwNGYgeyBcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbHA0Zl9jb2xvcjtcclxuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJGxwNGZfY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHUyMGsgeyBcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHUyMGtfY29sb3I7XHJcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6ICRwdTIwa19jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wdTUwayB7IFxyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwdTUwa19jb2xvcjtcclxuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJHB1NTBrX2NvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnB1OTlrIHsgXHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHB1OTlrX2NvbG9yO1xyXG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAkcHU5OWtfY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHUxMDBrIHsgXHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHB1MTAwa19jb2xvcjtcclxuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJHB1MTAwa19jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYW1wIHsgXHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHBhbXBfY29sb3I7XHJcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6ICRwYW1wX2NvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFyZSB7IFxyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRhcmVfY29sb3I7XHJcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6ICRhcmVfY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWQtcHJldmlldy5pbmZvLWJveC1jb250YWluZXIge1xyXG4vKiAgICBkaXNwbGF5OiBmbGV4OyovXHJcbn1cclxuXHJcbi5hYnNMaW5rUGFyZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuYS5kaXZMaW5rLCBhLmFic0xpbmsge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLyogTWFrZXMgc3VyZSB0aGUgbGluayBkb2Vzbid0IGdldCB1bmRlcmxpbmVkICovXHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIC8qIHJhaXNlcyBhbmNob3IgdGFnIGFib3ZlIGV2ZXJ5dGhpbmcgZWxzZSBpbiBkaXYgKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgLyp3b3JrYXJvdW5kIHRvIG1ha2UgY2xpY2thYmxlIGluIElFICovXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLyp3b3JrYXJvdW5kIHRvIG1ha2UgY2xpY2thYmxlIGluIElFICovXHJcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XHJcbiAgICAvKndvcmthcm91bmQgdG8gbWFrZSBjbGlja2FibGUgaW4gSUUgKi9cclxufVxyXG5cclxuLmJsb2ctcHJldmlldyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMnJlbTtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtYXJnaW46IDAuNXJlbTtcclxuICAgIC8qaGVpZ2h0OiBhdXRvOyovXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiAzMDBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICAmLndwLXBvc3QtaW1hZ2Uge1xyXG4gICAgICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDM1cHg7XHJcbiAgICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMzVweDtcclxuICAgICAgICAgICAgLW1zLWJvcmRlci1yYWRpdXM6IDM1cHg7XHJcbiAgICAgICAgICAgIC1vLWJvcmRlci1yYWRpdXM6IDM1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaGVhZGVyIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIC8qICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHB1MjBrX2NvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9Ki9cclxuICAgICAgICB9XHJcbiAgICAgICAgdGltZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAvKmZvbnQtc2l6ZTogMC45cmVtOyovXHJcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5lbnRyeS10aXRsZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4gICAgfVxyXG4gICAgLmVudHJ5LWNvbnRlbnQge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XHJcbiAgICAgICAgaDIsIGgzLCBoNCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpub3QoLmJ1dHRvbl9jb250YWluZXIpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgICAgaGVpZ2h0OjNyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCMwMDAsICNmZmYpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwwKSwgI2ZmZik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5idXR0b25fY29udGFpbmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMC41cmVtO1xyXG4gICAgICAgIHJpZ2h0OiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgICAgIHotaW5kZXg6IDE1O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA0cmVtIDJyZW0gd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1cztcclxuICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kaXZMaW5rOmhvdmVyIHtcclxuICAgICAgICAvKm9wYWNpdHk6IDAuMzsqL1xyXG4gICAgICAgICYgfiAucmVhZC1tb3JlIGF7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYnV0dG9uIHtcclxuICAgICYubHA0ZiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxwNGZfY29sb3I7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRscDRmX2NvbG9yX2hvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHUyMGsge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwdTIwa19jb2xvcjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1MjBrX2NvbG9yX2hvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHU1MGsge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwdTUwa19jb2xvcjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1NTBrX2NvbG9yX2hvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHU5OWsge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwdTk5a19jb2xvcjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1OTlrX2NvbG9yX2hvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHUxMDBrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHUxMDBrX2NvbG9yO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHUxMDBrX2NvbG9yX2hvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGFtcCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHBhbXBfY29sb3I7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwYW1wX2NvbG9yX2hvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYXJlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYXJlX2NvbG9yO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYXJlX2NvbG9yX2hvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubm8tYmctY29sb3Ige1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgICAgICAgICAvKnRleHQtZGVjb3JhdGlvbjogbm9uZTsqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmlnZ2VyLWZvbnQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICB9XHJcbiAgICAmLmFkZC1tYXJnaW4tdG9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xyXG4gICAgICAgICYubWVkaXVtLWFkZC1tYXJnaW4tcmlnaHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWQtcHJldmlldyAuYnV0dG9uIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5ibG9nLXByZXZpZXcgLmJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjYmRiZGJkO1xyXG4gICAgfVxyXG59XHJcblxyXG51bC5zbGljay1kb3RzIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICBsaSwgbGkuc2xpY2stYWN0aXZlIHtcclxuICAgICAgICBidXR0b246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmgxX3JvdyB7XHJcbiAgICAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwIHtcclxuICAgICAgICBvdXRsaW5lOiB3aGl0ZSBzb2xpZCA1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBhLmJ1dHRvbiB+IGgxLnBhZ2UtdGl0bGUtdjEsIGRpdi5idXR0b24tZ3JvdXAgfiBoMS5wYWdlLXRpdGxlLXYxIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuaDEucGFnZS10aXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAmLmhhcy1zdWIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICB9XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzY2NjtcclxuICAgIC8qY29sb3I6ICM2NjY7Ki9cclxufVxyXG5oMS5wYWdlLXRpdGxlLXYxIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuLmgxX3Jvdy5uby1zdWIgaDEucGFnZS10aXRsZS12MSArIGRpdi5ob3Jpem9udGFsLWxpbmUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG59XHJcbmgxLnBhZ2UtdGl0bGUtdjEgKyBkaXYuaG9yaXpvbnRhbC1saW5lIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG4ucGFnZS10aXRsZS1jb250YWluZXIuaGFzLWljb24ge1xyXG4gICAgbWFyZ2luLXRvcDogMS40cmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJiA+IGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjk1cmVtO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0wLjZyZW07XHJcbiAgICAgICAgbGVmdDogMXJlbTtcclxuICAgIH1cclxuICAgIGgxLCBkaXYuc3ViIHtcclxuICAgICAgICAvKnBhZGRpbmctbGVmdDogNC41cmVtOyovXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZGl2LnNlYXJjaC1jcnVtYiwgLnBhZ2UtdGl0bGUtY29udGFpbmVyIGRpdi5zdWIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG59XHJcblxyXG5kaXYuaG9yaXpvbnRhbC1saW5lIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjY2O1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jYXB0Y2hhIHtcclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICYuY2FwdGNoYS1pbWFnZSB7XHJcbiAgICAgICAgICAgIC8qaGVpZ2h0OiAxMDAlOyovXHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG4gICAgICAgICAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlZnJlc2gge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcclxuICAgIH1cclxuICAgIC5pbnB1dC1ncm91cC1sYWJlbCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIH0gXHJcbiAgICBkaXYge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XHJcbiAgICAgICAgY2FwdGlvbi1zaWRlOiBib3R0b207XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ1dHRvbiB7XHJcbiAgICBpIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEuNHJlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4udGFicy10aXRsZSB7XHJcbiAgICAmID4gYSB7XHJcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xyXG4gICAgfVxyXG4gICAgaSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYWxsb3V0IHtcclxuICAgIC8qbWluLWhlaWdodDogNXJlbTsqL1xyXG4gICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG4gICAgfVxyXG4gICAgJi5zdWNjZXNzIGkge1xyXG4gICAgICAgIGNvbG9yOiBncmVlbjtcclxuICAgIH1cclxufVxyXG5cclxuLmJ1dHRvbiwgLmJ1dHRvbi5zZWNvbmRhcnksIC5zZWNvbmRhcnkgLmJ1dHRvbiB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1zaXplOiAwLjg5cmVtO1xyXG59XHJcblxyXG4udmlldy1tZW51IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBsaSBhIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjk1cmVtIDAuNXJlbSAwLjVyZW0gMC41cmVtO1xyXG4gICAgICAgIGNvbG9yOiAjODg4OyAgICBcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAmLmlkIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VhcmNoLWNvbnRhaW5lciwgLm15LXByb3BlcnRpZXMtc29ydCwgLm15LXNlYXJjaC1hbGVydHMsIC5oZWFkZXItbGluZSwgLnBhZ2luYXRpb24ge1xyXG4gICAgLnRvcC1saW5lIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMHJlbTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS4wNXJlbTtcclxuICAgICAgICB9ICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5teS1hZGRvbnMtc29ydCB7XHJcbiAgICAudG9wLWxpbmUgeyAgICBcclxuICAgICAgICBwYWRkaW5nLXRvcDogMS4wNXJlbTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4wNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnNlYXJjaC1jb250YWluZXIsIC5teS1wcm9wZXJ0aWVzLXNvcnQsIC5teS1hZGRvbnMtc29ydCwgLm15LXNlYXJjaC1hbGVydHMsIC5oZWFkZXItbGluZSwgLnBhZ2luYXRpb24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjFGMTtcclxuICAgIHNlbGVjdCwgdGV4dGFyZWEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcclxuICAgIH1cclxuICAgIC5ib3R0b20tbGluZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMDVyZW07XHJcbiAgICAgICAgfSAgIFxyXG4gICAgfVxyXG4gICAgLnZpZXctaGVhZGVyIHNlbGVjdCwgJi52aWV3LWhlYWRlciBzZWxlY3QsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjZyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWFyY2gtY29udGFpbmVyLCAubXktcHJvcGVydGllcy1zb3J0LCAubXktc2VhcmNoLWFsZXJ0cywgLmhlYWRlci1saW5lLCAucGFnaW5hdGlvbiB7XHJcbiAgICAuc2VhcmNoLWxhYmVsIHtcclxuICAgICAgICAvKnBhZGRpbmctbGVmdDogMXJlbTsqL1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMnJlbTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogMC4zcmVtO1xyXG5cclxuICAgIH0gXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgIH1cclxuICAgIC5zZWN0aW9uIHtcclxuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2NjYztcclxuICAgIH1cclxuICAgIC5pbnB1dC1ncmV5LWZpcnN0LWxpbmUgb3B0aW9uLCAuaW5wdXQtZ3JleS1maXJzdC1saW5lIG9wdGdyb3VwIHtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgIH1cclxuICAgIC5ub2xhYmVsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAudG9wIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMC43cmVtO1xyXG4gICAgfVxyXG4gICAgLmVtcHR5IHtcclxuICAgICAgICBjb2xvcjogI2NjYyA7XHJcbiAgICB9XHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XHJcblxyXG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgICAgICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xyXG4gICAgICAgIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcclxuICAgICAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcclxuICAgICAgICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XHJcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuXHJcbiAgICAgICAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxyXG4gICAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcclxuICAgICAgICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcclxuICAgICAgICAmOjotbXMtZXhwYW5kIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbbXVsdGlwbGVdIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2hvc2VuLWRyb3Age1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmI3NlYXJjaF9jb3VudHJ5X2Nob3NlbiAuY2hvc2VuLXJlc3VsdHMgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgJi5jb250aW5lbnQsICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmNvbnRpbmVudCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLm5vLXJlc3VsdHMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5oaWdobGlnaHRlZCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA5MDkwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNjY2MgMTAlLCAjZGRkIDgwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnB1dC1ncmV5LWZpcnN0LWxpbmUge1xyXG4gICAgb3B0aW9uLCBvcHRncm91cCB7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICB9XHJcbiAgICAmLmVtcHR5IHtcclxuICAgICAgICBjb2xvcjogI2NjYztcclxuICAgIH1cclxufVxyXG5cclxuLmJvbGQge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5yb3VuZGVkLWxhYmVsIHtcclxuICAgIHBhZGRpbmc6IDAuMXJlbSAwLjhyZW0gMC4xcmVtIDAuOHJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmdhbGxlcnlfdmlldyB7XHJcbiAgICAgLmFkZG9uLXNwb3RsaWdodCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzcG90bGlnaHRfYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgLmFkLXByZXZpZXcgLmluZm8tYm94IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNwb3RsaWdodF9iYWNrZ3JvdW5kLDAuOSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICB9XHJcbiAgICAgLnRpbGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcclxuICAgICAgICBib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjNlbTtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgIH1cclxufVxyXG5cclxuLnByb3BlcnR5LWxpc3QtZWxlbWVudCB7XHJcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgPiBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2NjYztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgLypwYWRkaW5nLWJvdHRvbTogMXJlbTsqL1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgLmZpLWFycm93LXJpZ2h0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgICAgICAvKm1hcmdpbi10b3A6IDNyZW07Ki9cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWRkb24tc3BvdGxpZ2h0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNwb3RsaWdodF9iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGVhOWY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3ViLWluZm8ge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggI2NjYztcclxuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0ycmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgLyptYXJnaW4tbGVmdDogLTAuM3JlbTsqLyAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMC43cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGl2LmxvY2FsaXR5IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMy4ycmVtO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICYuc3VidGl0bGUge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6ICRwdTIwa19jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlIHtcclxuICAgICAgICAvKmNvbG9yOiAkcHUyMGtfY29sb3I7Ki9cclxuICAgIH1cclxuICAgIC5wcm9wZXJ0eS1uYW1lLXN1YnRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMi41cmVtO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNy4zcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5IaWRkZW4sIC5JbmFjdGl2ZSwgLlVudmVyaWZpZWQge1xyXG4gICAgICAgIGNvbG9yOiByZWQ7XHJcbiAgICB9XHJcbiAgICAuQWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogZ3JlZW47XHJcbiAgICB9XHJcbiAgICAuYWN0aW9uLWJ1dHRvbnMge1xyXG4gICAgICAgIGxpID4gYSA+IGRpdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkc2hvdy1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwOyAgIFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNTVweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJvdyAucm93LmNvbGxhcHNlLnRodW1ibmFpbC1zbWFsbC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4ycmVtO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuMnJlbTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjFyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xyXG4gICAgICAgIGltZy50aHVtYm5haWwtc21hbGwge1xyXG4gICAgICAgICAgICAvKm1hcmdpbi1ib3R0b206IDFyZW07Ki9cclxuLyogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjJyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjJyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07Ki9cclxuICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWRkb25fYnV0dG9uX2NvbnRhaW5lciB7XHJcbiAgICAgICAgaS5maS1zaG9wcGluZy1jYXJ0LmJhZGdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbl9jYXJ0IHtcclxuICAgICAgICAgICAgaS5maS1zaG9wcGluZy1jYXJ0LmJhZGdle1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuM3JlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjNyZW07XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VidGl0bGVfbWlzc2luZyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwdTIwa19jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGh1bWItY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIC5iYWRnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICByaWdodDogLTAuNHJlbTtcclxuICAgICAgICAgICAgdG9wOiAtMC40cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2luYXRpb24ge1xyXG4gICAgLnNlY29uZGFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVmNWY1ZjtcclxuICAgIH1cclxuXHJcbiAgICBhLCBhOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgLyptYXJnaW46ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzsqL1xyXG4gICAgICAgIHBhZGRpbmc6IDAuMXJlbSAwLjlyZW0gMC4xcmVtIDAuMXJlbTtcclxuICAgICAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMC42cmVtIGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDAgMC41cmVtIDAgLTAuNXJlbTtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcclxuICAgIH1cclxuICAgICYuaXRlbXNfcGVyX3BhZ2Uge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xLjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2RhbF90aXRsZSwgI3NldF9hbGVydF9kaWFsb2cge1xyXG4gICAgJiwgaDIge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjJlbTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjRlbTtcclxuICAgIH1cclxufVxyXG5cclxuI3NldF9hbGVydF9kaWFsb2cge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XHJcbiAgICB9XHJcbiAgICAuYmxvY2sge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDVweDtcclxuICAgIH1cclxuICAgIC5mZi1saW5lcyB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5kaXNhYmxlZCwgLmRpc2FibGVkIGxhYmVsLCAuZGlzYWJsZWQgaW5wdXQsIC5kaXNhYmxlZCBzZWxlY3Qge1xyXG4gICAgICAgIGNvbG9yOiAjOTk5OTk5O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwLjhlbSAwLjJlbSAwIDAuMmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xyXG4gICAgICAgIGxpOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyNzEzXFwwMDIwXCI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDA4ODAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB0ZXh0LWluZGVudDogLTEuMmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3NlYXJjaF9mb3JtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAuYnV0dG9uX3JvdyB7XHJcbiAgICAgICAgLmJ1dHRvbi1ncm91cCB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogM3JlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNteV9hbGVydHMge1xyXG4gICAgICAgIGkuaWNvbi1lbWFpbF9hbGVydF9ncmV5IHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZHJvcGRvd24tcGFuZSB7XHJcbiAgICAgICAgei1pbmRleDogMTAxMDtcclxuICAgIH1cclxufVxyXG5sYWJlbCBzZWxlY3QsIGxhYmVsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBsYWJlbCA+IGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgXHJcbmxhYmVsID4gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBsYWJlbCArIC5pbnB1dC1ncm91cCwgXHJcbmxhYmVsID4gdGV4dGFyZWEsIGxhYmVsID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcclxubGFiZWwgPiBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG4jc2VhcmNoX2Zvcm0gLmNob3Nlbi1jb250YWluZXJcclxue1xyXG4gICAgbWFyZ2luLXRvcDogLTVweDtcclxufVxyXG5cclxuLnRodW1icy1zbGljay1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMCAxLjVyZW0gMCAxLjVyZW07XHJcbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICAgIC5zbGljay1zbGlkZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgLnNsaWNrLXNsaWRlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC4yNTtcclxuICAgICAgICAgICAgJi5zbGljay1jdXJyZW50IHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbWcudGh1bWJuYWlsX3YyIHtcclxuICAgICAgICBtYXJnaW46IDAuMTFyZW07XHJcbiAgICB9XHJcbiAgICAjdGh1bWJzLXNsaWNrIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2xpZGUtZnJhbWUge1xyXG4gICAgICAgICAgICAvKnBhZGRpbmc6IDJweCAxcmVtOyovXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NXZ3O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZS1uYW1lIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICAgICAgIFxyXG4gICAgICAgIC5zbGljay1uZXh0LCAuc2xpY2stcHJldiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcclxuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxwNGYtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNsaWNrLW5leHQge1xyXG4gICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFwyMDNBJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2xpY2stcHJldiB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcMjAzOSc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC5waG90by1saW5rIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAvKm1hcmdpbi10b3A6IC03M3B4OyovXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgICAgICAgICBib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgICY6bm90KDpob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmhlYWRsaW5lIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNWE1YTU7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGgyLCBoMywgaDQge1xyXG4gICAgICAgIG1hcmdpbjogMC41cmVtO1xyXG4gICAgfVxyXG59XHJcbi5wcmljZV9ldXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAvKm1hcmdpbi10b3A6IDFyZW07Ki9cclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBjb2xvcjogJGxwNGYtY29sb3I7XHJcbn1cclxuLmZvci1zYWxlLWNvbnRhaW5lciB7XHJcbiAgICAuYWRkdGhpcy1idXR0b24ge1xyXG4gICAgICAgIC8qbWFyZ2luLXRvcDogMXJlbTsqL1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB3aWR0aDogMTkwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIC8qICAgICAgICAgICAgYm90dG9tOiAwcHg7Ki9cclxuICAgICAgICAgICAgdG9wOiAyNjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm9yaWVudGF0aW9uLWhvcml6b250YWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZS1ib3gge1xyXG4gICAgICAgIGhlaWdodDogOTVweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAvKi5tYXBzLWJveCwqLyBcclxuICAgICNtYXAtY2FudmFzIHtcclxuICAgICAgICBoZWlnaHQ6IDI4M3B4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgIC5tYXBzLWJveCB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nbS1saW5rLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MCU7XHJcbiAgICAgICAgICAgIC5nbS1saW5rIHtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjUpO1xyXG4gICAgICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAtNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAtNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAvKnJpZ2h0OjA7Ki9cclxuICAgICAgICAgICAgICAgIGxlZnQ6IC01MCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW07XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODUpO1xyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLyogICAgICAgIEBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZ20tbGluayB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGFyZ2Utc3BhY2VyLWxlZnQge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4jdGh1bWJzLXNsaWNrLCAjd2hhdHMtbmV3LXNsaWNrLCAjYmxvZy1zbGljaywgI3Nwb3RsaWdodC1zbGljayB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgJi5zbGljay1pbml0aWFsaXplZCB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuI2RldGFpbC1hcmVhIHtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG59XHJcblxyXG4ucHJ0eS1mYWN0cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRlZGVkO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICoge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcbiAgICBkbCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC4zcmVtO1xyXG4gICAgfVxyXG4gICAgZGQge1xyXG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICB9XHJcbiAgICAucHJvcHMge1xyXG4gICAgICAgIGR0LCBkdCB7XHJcbiAgICAgICAgICAgIC8qbWFyZ2luLXRvcDogMC4zcmVtOyovXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGR0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICAgXHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogNTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBob3RvLWdhbGxlcnkge1xyXG4gICAgZmlndXJlIHtcclxuICAgICAgICAudGh1bWItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZnJhbWUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGh1bWJuYWlsX3BpYyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGZpZ3VyZSwgaW1nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBmaWdjYXB0aW9uIHtcclxuICAgICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvdW50cnktbGlzdCB7XHJcbiAgICAqIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40cmVtO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIsIGgzIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMXJlbVxyXG4gICAgfVxyXG4gICAgLmNvbnRpbmVudCAqIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICAgIC5jb3VudCB7XHJcbiAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRibGFjaywgJGxpZ2h0bmVzczogMjUlKVxyXG4gICAgfVxyXG59XHJcblxyXG4jcmVnaXN0ZXIge1xyXG4gICAgLmljb24ge1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgIH1cclxuICAgIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjNyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmF1Y3RfdHlwZV9zZWxlY3Qge1xyXG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDJyZW07XHJcbiAgICAgICAgaW5wdXQgKyBsYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQgKyBsYWJlbDpob3ZlciwgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsLCAgLmljb24ucHJpdl9zZWxsOmhvdmVyLCAuaWNvbi5lc3RhdGVfYWdlbnQ6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgLmljb24ucHJpdl9zZWxsIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDdweCAwO1xyXG4gICAgICAgICAgICAgICAgLypib3gtc2hhZG93OiBub25lOyovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmljb24uZXN0YXRlX2FnZW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NjdweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjdGVybXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuM3JlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZWdpc3Rlci1pbnRybyB7XHJcbiAgICAmLCAmIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIH1cclxufVxyXG5cclxuI2xvZ2luLWZvcm0ge1xyXG4gICAgLmljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAmLmljb24tbG9naW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZm9yZ290LXB3LWhlaWdodCAtICRsb2dpbi1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDA7ICAgXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKiAgICBidXR0b246aG92ZXIsIGE6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgc3Bhbi5pY29uLmxvZ2luIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRpY29uX2xvZ2luX2JnX2h2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4uaWNvbi5uZXcge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGljb25fbmV3X2JnX2h2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4uaWNvbi5mb3Jnb3Qge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGljb25fZm9yZ290X2JnX2h2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSovXHJcbn1cclxuXHJcbiNwcm9maWxlX2RhdGEge1xyXG4gICAgdHIge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qI2RlbGV0ZV9wcm9maWxlIHtcclxuICAgIGJ1dHRvbjpob3ZlciB7XHJcbiAgICAgICAgc3Bhbi5pY29uLnNhZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRpY29uX3NhZF9iZ19odjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0qL1xyXG5cclxuLmFkZC1zZWFyY2hlcyB7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIH1cclxufVxyXG5cclxuI3NlYXJjaF9hbGVydHNfdGFibGUge1xyXG4gICAgdGQge1xyXG4gICAgICAgICYuY291bnQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICAgICAgd2lkdGg6IDRyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYnV0dG9uX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8qZm9udC1zaXplOiAxcmVtOyovXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDdyZW07XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5xdWVyeS1saXN0IHtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICB0ciB7XHJcbiAgICAgICAgJi5pcy1tYXJrZWQtc3BhbSB0ZCBhIHtcclxuICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJvZHktZm9udC1jb2xvciwgNDAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aC5uYW1lIHtcclxuICAgICAgICB3aWR0aDogMTJyZW07XHJcbiAgICB9XHJcbiAgICB0aC5kYXRlIHtcclxuICAgICAgICB3aWR0aDogMTFyZW07XHJcbiAgICB9XHJcbiAgICB0aC5hY3Rpb25fYnV0dG9ucyB7XHJcbiAgICAgICAgd2lkdGg6IDVyZW07XHJcbiAgICB9XHJcbiAgICB0ZC5tZXNzYWdlLCB0ZC5uYW1lIHtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgdGQuYWN0aW9uX2J1dHRvbnMge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgICYuaW5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJvZHktZm9udC1jb2xvciwgMjUlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbn1cclxuXHJcbnRhYmxlLnN0YWNrc21hbGwge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2soKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzcGlubmVyIHtcclxuICAgIHRvIHt0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO31cclxufVxyXG5cclxuLnNwaW5uZXIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIC8qdG9wOiA1MCU7Ki9cclxuICAgICAgICAvKmxlZnQ6IDUwJTsqL1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAvKm1hcmdpbi10b3A6IC0xMHB4OyovXHJcbiAgICAgICAgLyptYXJnaW4tbGVmdDogLTEwcHg7Ki9cclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcclxuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMzMzO1xyXG4gICAgICAgIGFuaW1hdGlvbjogc3Bpbm5lciAuNnMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGF5X3Byb2Nlc3Npbmcge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAuc3Bpbm5lcl9jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgIC5zcGlubmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiA0cmVtO1xyXG4gICAgICAgIHdpZHRoOiA0cmVtO1xyXG4gICAgfVxyXG4gICAgLnNwaW5uZXI6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcclxuICAgICAgICB3aWR0aDogNHJlbTtcclxuICAgICAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycmVtO1xyXG4gICAgfVxyXG4gICAgLmxvY2sge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzLjhyZW07XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGkuZmktc2hvcHBpbmctY2FydCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLTJyZW07XHJcbiAgICAgICAgbGVmdDogLTJyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgfVxyXG4gICAgLmJhZGdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbHA0Zl9jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLnYtY2VudGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4jYWRkX3BydF90YWJzIHtcclxuICAgIGEsIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICYgPiBpbnB1dCArIHNwYW4uY250LCAmID4gdGV4dGFyZWEgKyBzcGFuLmNudCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgIHJpZ2h0OiAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnB1dC1ncm91cC1lcnJvciB7XHJcbiAgICBkaXNwbGF5OnRhYmxlLXJvdztcclxufVxyXG4uaW5wdXQtZ3JvdXAtY2VsbCB7XHJcbiAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XHJcbn1cclxuLmlucHV0LWdyb3VwLWVycm9yIC5mb3JtLWVycm9yIHtcclxuICAgIG1hcmdpbi10b3A6MC41cmVtO1xyXG59XHJcblxyXG4jYWRkX3BydHkge1xyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAgfVxyXG4gICAgbGFiZWwgc2VsZWN0LCBsYWJlbD5pbnB1dFt0eXBlPVwidGV4dFwiXSxsYWJlbD5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLCAge1xyXG4gICAgICAgIGhlaWdodDogMi41cmVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICNwYW5lbDIge1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5lZGl0YWQge1xyXG4gICAgICAgIGEjcGFuZWw1LWxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICNkNzc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmV4dHJhcy1saXN0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnB1dC1ncm91cCB7XHJcbiAgICBidXR0b24uY29udGFpbnMtaWNvbiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNTVlbTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41NWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4jYWRkX3BydHkgI21hcC1jYW52YXMge1xyXG4gICAgbWF4LWhlaWdodDogNzV2aDtcclxufVxyXG5cclxuLnVzZXItaXMtdG91Y2hpbmcgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWVycm9yIC5kei1lcnJvci1tZXNzYWdlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEpXCI7XHJcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MSk7XHJcbn1cclxuXHJcbi5kcm9wem9uZSB7XHJcbiAgICAmOm5vdCguZHotc3RhcnRlZCkgLmFkZC1pbWFnZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5kei1kZXRhaWxzLCAuZHotZGV0YWlscyBpbWcge1xyXG4gICAgICAgIGN1cnNvcjogbW92ZTtcclxuICAgIH1cclxuICAgIC5hZGQtaW1hZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAyNzRweDsgLy9zYW1lIHNpemUgYXMgZHotcHJldmlld1xyXG4gICAgICAgIHBhZGRpbmc6IDZweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWNhY2FjO1xyXG4gICAgICAgIG1hcmdpbjogMnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMXB4IDRweCByZ2JhKDAsMCwwLDAuMTYpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggNHB4IHJnYmEoMCwwLDAsMC4xNik7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzI4cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIC8qYm9yZGVyLXJhZGl1czogNXB4OyovXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41cmVtO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2xvc2FibGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4jYWR2ZXJ0aXNlciB7XHJcbiAgICAjY29udGFjdF9kYXRhIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjNyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xyXG4gICAgICAgICNjb250YWN0X2NvbXBhbnksICNwcml2YXRlX3NlbGxlciB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC5jb250YWN0X25hbWUge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb21wX3BpYyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMS41cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmFkaXVzMSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBwYWRkaW5nOiAwLjI3ZW0gMC4zNWVtIDAuMjdlbSAwLjQ2ZW07XHJcbn1cclxuLmljb24ge1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgJi5teS1hcnJvdy1yaWdodCB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAzQVwiO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMuNXJlbTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuNXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjE1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgICAgIHdpZHRoOiAzcmVtO1xyXG5cclxuICAgIH1cclxuICAgICYubm9ybWFsIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnN0YXRpYy1wYWdlIHtcclxuICAgIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XHJcbiAgICBoMi5zcGMtYWZ0ZXIsIGgzLnNwYy1hZnRlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICB9XHJcbiAgICBwICsgaDQsIHAgKyBwIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xyXG4gICAgfVxyXG4gICAgZGl2LmluZGVudCwgcC5pbmRlbnQsIHAuY2hpbGRfaW5kZW50IHNwYW4ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24ge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xyXG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKHNlY3Rpb24pIFwiIFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb3VudGVyLXJlc2V0OiBzdWJzZWN0aW9uO1xyXG4gICAgfVxyXG4gICAgLnN1YnNlY3Rpb24ge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdWJzZWN0aW9uO1xyXG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKHNlY3Rpb24pIFwiLlwiIGNvdW50ZXIoc3Vic2VjdGlvbikgXCIgXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IHN1YnN1YnNlY3Rpb247XHJcbiAgICB9XHJcbiAgICAuc3Vic3Vic2VjdGlvbjo6YmVmb3JlIHtcclxuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogc3Vic3Vic2VjdGlvbjtcclxuICAgICAgICBjb250ZW50OiBjb3VudGVyKHNlY3Rpb24pIFwiLlwiIGNvdW50ZXIoc3Vic2VjdGlvbikgXCIuXCIgY291bnRlcihzdWJzdWJzZWN0aW9uKSBcIiBcIjtcclxuICAgIH1cclxuICAgICYucHJpY2luZ19hZnRlciB7XHJcbiAgICAgICAgaDIsIGgzIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5sYWJlbC5sb25nLWxhYmVsIHtcclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgc3Bhbi5mb3JtLWVycm9yIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFNoYXJpZmZcclxuXHJcbi5zaGFyaWZmIHtcclxuICAgIC5zaGFyaWZmLWJ1dHRvbiB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIExlYWZsZXQgcG9wdXBzXHJcbi5hZC1wcmV2aWV3LW1hcCB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIH1cclxuICAgIHdpZHRoOiAxOTlweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnRFeHRyYVBhcm1zKG1lZGl1bSwnYW5kIChtaW4taGVpZ2h0OiAyNGVtKScpIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIyNXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiAyOTlweDtcclxuICAgIH1cclxuICAgIC5pbmZvLWJveCB7XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgLm5hbWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludEV4dHJhUGFybXMobWVkaXVtLCdhbmQgKG1pbi1oZWlnaHQ6IDI0ZW0pJykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnRFeHRyYVBhcm1zKHNtYWxsIG9ubHksJ29yIChtYXgtaGVpZ2h0OiAyNGVtKScpIHtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDowLjJyZW07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludEV4dHJhUGFybXMobWVkaXVtLCdhbmQgKG1pbi1oZWlnaHQ6IDI0ZW0pJykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6ICRwdTIwa19jb2xvcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycmVtOyovXHJcbn1cclxuXHJcbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC45NSk7XHJcbiAgICBtYXJnaW46IDlweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgcGFkZGluZzogMnB4O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjQpO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBMZWFmbGV0IE1hcmtlckNsdXN0ZXJcclxuXHJcbi5sZWFmbGV0LW1hcmtlci1pY29uIHtcclxuICAgICYuY2x1c3RlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcGFtcF9jb2xvciwuNSk7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwYW1wX2NvbG9yLC45KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2x1c3Rlci1zaXplLTAge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4OyAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jbHVzdGVyLXNpemUtMSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzRweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzRweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7ICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE3cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNsdXN0ZXItc2l6ZS0yIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzOHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMXB4OyAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jbHVzdGVyLXNpemUtMyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XHJcbiAgICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDJweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDJweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDsgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjFweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZHJvcGRvd24tYnV0dG9ucy1wYXJlbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmRyb3Bkb3duLXBhbmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmRyb3Bkb3duLXBhbmUge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuLnRodW1ibmFpbC13aXRoLWJhZGdlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIC5iYWRnZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtNXB4O1xyXG4gICAgICAgICAgICByaWdodDogLTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG50YWJsZS5zaG9wcGluZ2NhcnQge1xyXG4gICAgdHIudG90YWwge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lZGlhLW9iamVjdCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5pY29uX3RodW1iX2NvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xyXG4gICAgICAgIC5pY29uX3RodW1iIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyouaGVhZGVyX2NvbnRhaW5lciB7XHJcbiAgICAuY2FydC5pY29uLXdpdGgtYmFkZ2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIH1cclxufSovXHJcblxyXG4ucGF5bWVudF9jb250YWluZXIge1xyXG4gICAgI3N1Ym1pdC1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGFjay1mb3Itc21hbGwtb25seSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyLCB0ZCB7IFxyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wc2V1ZG8tdGFibGUge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAmLmV4cGFuZGVkIHtcclxuICAgICAgICB3aWR0aDogMTAwJVxyXG4gICAgfVxyXG4gICAgLnB0LXJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xyXG4gICAgfVxyXG4gICAgLnB0LWNlbGwge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hZGRvbl9tb2RhbCB7XHJcbiAgICBpIHtcclxuICAgICAgICBjb2xvcjogIzg4ODtcclxuICAgIH1cclxuICAgIC5tb2RhbF90aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxuICAgIC5wcm9kdWN0X25hbWUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgIH1cclxuICAgIC5wcm9kdWN0X2Rlc2Mge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjhyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ1dHRvbl93aXRoX2JhZGdlX2NvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBpLmJhZGdlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtMC45cmVtO1xyXG4gICAgICAgIHJpZ2h0OiAtMC45cmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH0gICAgICAgIFxyXG59XHJcblxyXG4uYWRkb25fcm93IHtcclxuICAgIC5idXR0b25fd2l0aF9iYWRnZV9jb250YWluZXIge1xyXG4gICAgICAgIGkuYmFkZ2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbl9jYXJ0IHtcclxuICAgICAgICAuYnV0dG9uX3dpdGhfYmFkZ2VfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgaS5iYWRnZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaWNvbi13aXRoLWJhZGdlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5iYWRnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMC4ycmVtO1xyXG4gICAgICAgIHJpZ2h0OiAtMC44cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJpY2VsaXN0IHtcclxuICAgIC5wcmljZV9tb2RlbCB7XHJcbiAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgIH1cclxufVxyXG5cclxuLnJldmVhbC53aXRoLWljb24ge1xyXG4gICAgJiwgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuICAgIC5pY29uLTgwIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHRvcDogLTEycHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xNXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgJiArIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9ICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGxpbmUtcHJpbnQge1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG59XHJcblxyXG4uY3Vyc29yLXBvaW50ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4udG9vbHRpcCBhIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxubGFiZWwgaS5maS1pbmZvLmhhcy10aXAge1xyXG4gICAgbWFyZ2luOiAtNXB4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxubGFiZWwuaGFzLXRpcC5kaXNhYmxlZCB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGNvbG9yOiAjYWFhO1xyXG59XHJcblxyXG4ucHR5LXZpZXcge1xyXG4gICAgaDIuc3VidGl0bGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIGNvbG9yOiAkcHUyMGtfY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hZGRvbnNfdmlldyB7XHJcbiAgICAuYWRkb25fbGlzdCB7XHJcbiAgICAgICAgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQgYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICB0ZCBzcGFuKy5idXR0b25fd2l0aF9iYWRnZV9jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICB9XHJcbiAgICB0ZC50aHVtYl9jb2wge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICB9XHJcbiAgICAuc2hvdy1mb3Itc21hbGwtb25seSB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdHIuc2hvdy1mb3Itc21hbGwtb25seSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcbiAgICB9XHJcbiAgICAud2l0aF9hYnNfaW1nIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNuaXBwZXQtY29udGFpbmVyIHtcclxuXHJcbiAgICBhIGltZyB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMyU7XHJcbiAgICB9XHJcbiAgICBhOm50aC1jaGlsZCgxbisyKSBpbWcge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMCU7XHJcbiAgICB9XHJcbiAgICBhOm50aC1jaGlsZCgybisyKSBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3ctZm9yLWxwNGYtb25seSwgLnNob3ctZm9yLXB1MjBrLW9ubHksIC5zaG93LWZvci1wdTUway1vbmx5LCBcclxuLnNob3ctZm9yLXB1MTAway1vbmx5LCAuc2hvdy1mb3ItYXJlLW9ubHkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmxwNGYgLnNob3ctZm9yLWxwNGYtb25seSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgIH1cclxuICAgIFxyXG4ucHUyMGsgLnNob3ctZm9yLXB1MjBrLW9ubHkge1xyXG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XHJcbiAgICB9XHJcblxyXG4ucHU1MGsgLnNob3ctZm9yLXB1NTBrLW9ubHkge1xyXG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XHJcbiAgICB9XHJcblxyXG4ucHUxMDBrIC5zaG93LWZvci1wdTEwMGstb25seSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgIH1cclxuXHJcbi5hcmUgLnNob3ctZm9yLWFyZS1vbmx5IHtcclxuICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xyXG4gICAgfVxyXG5cclxuZGl2LnFjLWNtcDItY29udGFpbmVyIGRpdi5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuZm9ybSNjb250YWN0LWZvcm0gI2NhcHRjaGEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcbiAgICBcclxuZm9ybSN1bnN1YnNjcmliZSBidXR0b24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRscDRmX2NvbG9yO1xyXG4gICAgfVxyXG5mb3JtI3Vuc3Vic2NyaWJlIGJ1dHRvbjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxwNGZfY29sb3JfaG92ZXI7XHJcbiAgICB9IiwiQGltcG9ydCAnLi4vaW1hZ2VzL2ljb25zL2Rpc3QvYWxsLnNjc3MnO1xuXG4uaWNvbiwgLnNreWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc3ByaXRlbWFwX3VybF9zc20gKyBcIj92PTEwXCIpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gICAgICAgICAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNwcml0ZW1hcF91cmxfcmV0aW5hX3NzbSArIFwiP3Y9MTBcIik7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgJiArIHN0cm9uZywgJiArIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45ZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAmLmhpZGUtZm9yLXNtYWxsLW9ubHkgKyBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4kaWNvbi1mcmVlLWdyb3VwOiAoJ2ljb24tZnJlZScsICRmcmVlLCAkZnJlZS0yeCk7XG4uaWNvbi1mcmVlIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tZnJlZS1ncm91cCk7XG59XG4kaWNvbi13b3JsZC1ncm91cDogKCdpY29uLXdvcmxkJywgJHdvcmxkLCAkZnJlZS0yeCk7XG4uaWNvbi13b3JsZCB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLXdvcmxkLWdyb3VwKTtcbn1cbiRpY29uLXN0cmluZ3MtZ3JvdXA6ICgnaWNvbi1zdHJpbmdzJywgJHN0cmluZ3MsICRzdHJpbmdzLTJ4KTtcbi5pY29uLXN0cmluZ3Mge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1zdHJpbmdzLWdyb3VwKTtcbn1cblxuJGljb24tcHUyMGstZ3JvdXA6ICgnaWNvbi1wdTIwaycsICRwdTIwaywgJHB1MjBrLTJ4KTtcbi5pY29uLXB1MjBrIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tcHUyMGstZ3JvdXApO1xufVxuJGljb24tcHUyMGstaG92ZXItZ3JvdXA6ICgnaWNvbi1wdTIway1ob3ZlcicsICRwdTIway1ob3ZlciwgJHB1MjBrLWhvdmVyLTJ4KTtcbi5pY29uLXB1MjBrOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tcHUyMGstaG92ZXItZ3JvdXApO1xufVxuJGljb24tcHUyMGstZnVsbC1ncm91cDogKCdpY29uLXB1MjBrLWZ1bGwnLCAkcHUyMGstZnVsbCwgJHB1MjBrLWZ1bGwtMngpO1xuLmljb24tcHUyMGstZnVsbCB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLXB1MjBrLWZ1bGwtZ3JvdXApO1xufVxuJGljb24tcHUyMGstZnVsbC1ob3Zlci1ncm91cDogKCdpY29uLXB1MjBrLWZ1bGwtaG92ZXInLCAkcHUyMGstZnVsbC1ob3ZlciwgJHB1MjBrLWZ1bGwtaG92ZXItMngpO1xuLmljb24tcHUyMGstZnVsbDpob3ZlciB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLXB1MjBrLWZ1bGwtaG92ZXItZ3JvdXApO1xufVxuXG4kaWNvbi1wdTUway1ncm91cDogKCdpY29uLXB1NTBrJywgJHB1NTBrLCAkcHU1MGstMngpO1xuLmljb24tcHU1MGsge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1wdTUway1ncm91cCk7XG59XG4kaWNvbi1wdTUway1ob3Zlci1ncm91cDogKCdpY29uLXB1NTBrLWhvdmVyJywgJHB1NTBrLWhvdmVyLCAkcHU1MGstaG92ZXItMngpO1xuLmljb24tcHU1MGs6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1wdTUway1ob3Zlci1ncm91cCk7XG59XG4kaWNvbi1wdTUway1mdWxsLWdyb3VwOiAoJ2ljb24tcHU1MGstZnVsbCcsICRwdTUway1mdWxsLCAkcHU1MGstZnVsbC0yeCk7XG4uaWNvbi1wdTUway1mdWxsIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tcHU1MGstZnVsbC1ncm91cCk7XG59XG4kaWNvbi1wdTUway1mdWxsLWhvdmVyLWdyb3VwOiAoJ2ljb24tcHU1MGstZnVsbC1ob3ZlcicsICRwdTUway1mdWxsLWhvdmVyLCAkcHU1MGstZnVsbC1ob3Zlci0yeCk7XG4uaWNvbi1wdTUway1mdWxsOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tcHU1MGstZnVsbC1ob3Zlci1ncm91cCk7XG59XG5cbiRpY29uLXB1OTlrLWdyb3VwOiAoJ2ljb24tcHU5OWsnLCAkcHU5OWssICRwdTk5ay0yeCk7XG4uaWNvbi1wdTk5ayB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLXB1OTlrLWdyb3VwKTtcbn1cbiRpY29uLXB1OTlrLWhvdmVyLWdyb3VwOiAoJ2ljb24tcHU5OWstaG92ZXInLCAkcHU5OWstaG92ZXIsICRwdTk5ay1ob3Zlci0yeCk7XG4uaWNvbi1wdTk5azpob3ZlciB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLXB1OTlrLWhvdmVyLWdyb3VwKTtcbn1cbiRpY29uLXB1OTlrLWZ1bGwtZ3JvdXA6ICgnaWNvbi1wdTk5ay1mdWxsJywgJHB1OTlrLWZ1bGwsICRwdTk5ay1mdWxsLTJ4KTtcbi5pY29uLXB1OTlrLWZ1bGwge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1wdTk5ay1mdWxsLWdyb3VwKTtcbn1cbiRpY29uLXB1OTlrLWZ1bGwtaG92ZXItZ3JvdXA6ICgnaWNvbi1wdTk5ay1mdWxsLWhvdmVyJywgJHB1OTlrLWZ1bGwtaG92ZXIsICRwdTk5ay1mdWxsLWhvdmVyLTJ4KTtcbi5pY29uLXB1OTlrLWZ1bGw6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1wdTk5ay1mdWxsLWhvdmVyLWdyb3VwKTtcbn1cblxuJGljb24tcHUxMDBrLWdyb3VwOiAoJ2ljb24tcHUxMDBrJywgJHB1MTAwaywgJHB1MTAway0yeCk7XG4uaWNvbi1wdTEwMGsge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1wdTEwMGstZ3JvdXApO1xufVxuJGljb24tcHUxMDBrLWhvdmVyLWdyb3VwOiAoJ2ljb24tcHUxMDBrLWhvdmVyJywgJHB1MTAway1ob3ZlciwgJHB1MTAway1ob3Zlci0yeCk7XG4uaWNvbi1wdTEwMGs6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1wdTEwMGstaG92ZXItZ3JvdXApO1xufVxuJGljb24tcHUxMDBrLWZ1bGwtZ3JvdXA6ICgnaWNvbi1wdTEwMGstZnVsbCcsICRwdTEwMGstZnVsbCwgJHB1MTAway1mdWxsLTJ4KTtcbi5pY29uLXB1MTAway1mdWxsIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tcHUxMDBrLWZ1bGwtZ3JvdXApO1xufVxuJGljb24tcHUxMDBrLWZ1bGwtaG92ZXItZ3JvdXA6ICgnaWNvbi1wdTEwMGstZnVsbC1ob3ZlcicsICRwdTEwMGstZnVsbC1ob3ZlciwgJHB1MTAway1mdWxsLWhvdmVyLTJ4KTtcbi5pY29uLXB1MTAway1mdWxsOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tcHUxMDBrLWZ1bGwtaG92ZXItZ3JvdXApO1xufVxuXG4kaWNvbi1wYW1wLWdyb3VwOiAoJ2ljb24tcGFtcCcsICRwYW1wLCAkcGFtcC0yeCk7XG4uaWNvbi1wYW1wIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tcGFtcC1ncm91cCk7XG59XG4kaWNvbi1wYW1wLWhvdmVyLWdyb3VwOiAoJ2ljb24tcGFtcC1ob3ZlcicsICRwYW1wLWhvdmVyLCAkcGFtcC1ob3Zlci0yeCk7XG4uaWNvbi1wYW1wOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tcGFtcC1ob3Zlci1ncm91cCk7XG59XG4kaWNvbi1wYW1wLWZ1bGwtZ3JvdXA6ICgnaWNvbi1wYW1wLWZ1bGwnLCAkcGFtcC1mdWxsLCAkcGFtcC1mdWxsLTJ4KTtcbi5pY29uLXBhbXAtZnVsbCB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLXBhbXAtZnVsbC1ncm91cCk7XG59XG4kaWNvbi1wYW1wLWZ1bGwtaG92ZXItZ3JvdXA6ICgnaWNvbi1wYW1wLWZ1bGwtaG92ZXInLCAkcGFtcC1mdWxsLWhvdmVyLCAkcGFtcC1mdWxsLWhvdmVyLTJ4KTtcbi5pY29uLXBhbXAtZnVsbDpob3ZlciB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLXBhbXAtZnVsbC1ob3Zlci1ncm91cCk7XG59XG5cbiRpY29uLWFyZS1ncm91cDogKCdpY29uLWFyZScsICRhcmUsICRhcmUtMngpO1xuLmljb24tYXJlIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tYXJlLWdyb3VwKTtcbn1cbiRpY29uLWFyZS1ob3Zlci1ncm91cDogKCdpY29uLWFyZS1ob3ZlcicsICRhcmUtaG92ZXIsICRhcmUtaG92ZXItMngpO1xuLmljb24tYXJlOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tYXJlLWhvdmVyLWdyb3VwKTtcbn1cbiRpY29uLWFyZS1mdWxsLWdyb3VwOiAoJ2ljb24tYXJlLWZ1bGwnLCAkYXJlLWZ1bGwsICRhcmUtZnVsbC0yeCk7XG4uaWNvbi1hcmUtZnVsbCB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLWFyZS1mdWxsLWdyb3VwKTtcbn1cbiRpY29uLWFyZS1mdWxsLWhvdmVyLWdyb3VwOiAoJ2ljb24tYXJlLWZ1bGwtaG92ZXInLCAkYXJlLWZ1bGwtaG92ZXIsICRhcmUtZnVsbC1ob3Zlci0yeCk7XG4uaWNvbi1hcmUtZnVsbDpob3ZlciB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLWFyZS1mdWxsLWhvdmVyLWdyb3VwKTtcbn1cblxuJGljb24tbHA0Zi1ncm91cDogKCdpY29uLWxwNGYnLCAkbHA0ZiwgJGxwNGYtMngpO1xuLmljb24tbHA0ZiB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLWxwNGYtZ3JvdXApO1xufVxuJGljb24tbHA0Zi1ob3Zlci1ncm91cDogKCdpY29uLWxwNGYtaG92ZXInLCAkbHA0Zi1ob3ZlciwgJGxwNGYtaG92ZXItMngpO1xuLmljb24tbHA0Zjpob3ZlciB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLWxwNGYtaG92ZXItZ3JvdXApO1xufVxuJGljb24tbHA0Zi1mdWxsLWdyb3VwOiAoJ2ljb24tbHA0Zi1mdWxsJywgJGxwNGYtZnVsbCwgJGxwNGYtZnVsbC0yeCk7XG4uaWNvbi1scDRmLWZ1bGwge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1scDRmLWZ1bGwtZ3JvdXApO1xufVxuJGljb24tbHA0Zi1mdWxsLWhvdmVyLWdyb3VwOiAoJ2ljb24tbHA0Zi1mdWxsLWhvdmVyJywgJGxwNGYtZnVsbC1ob3ZlciwgJGxwNGYtZnVsbC1ob3Zlci0yeCk7XG4uaWNvbi1scDRmLWZ1bGw6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1scDRmLWZ1bGwtaG92ZXItZ3JvdXApO1xufVxuJGljb24tbHA0Zi1zaW1wbGUtZ3JvdXA6ICgnaWNvbi1scDRmLXNpbXBsZScsICRscDRmLXNpbXBsZSwgJGxwNGYtc2ltcGxlLTJ4KTtcbi5pY29uLWxwNGYtc2ltcGxlIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tbHA0Zi1zaW1wbGUtZ3JvdXApO1xufVxuJGljb24tbHA0Zi1zaW1wbGUtaG92ZXItZ3JvdXA6ICgnaWNvbi1scDRmLXNpbXBsZS1ob3ZlcicsICRscDRmLXNpbXBsZS1ob3ZlciwgJGxwNGYtc2ltcGxlLWhvdmVyLTJ4KTtcbi5pY29uLWxwNGYtc2ltcGxlOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlLXJlc3AoJGljb24tbHA0Zi1zaW1wbGUtaG92ZXItZ3JvdXApO1xufVxuXG4kaWNvbi1teWFkcy1ncm91cDogKCdpY29uLW15YWRzJywgJG15YWRzLCAkbXlhZHMtMngpO1xuLmljb24tbXlhZHMge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1teWFkcy1ncm91cCk7XG59XG4kaWNvbi1teWFkcy1ob3Zlci1ncm91cDogKCdpY29uLW15YWRzLWhvdmVyJywgJG15YWRzLWhvdmVyLCAkbXlhZHMtaG92ZXItMngpO1xuLmljb24tbXlhZHM6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1teWFkcy1ob3Zlci1ncm91cCk7XG59XG5cbiRpY29uLWZhY2Vib29rLWdyb3VwOiAoJ2ljb24tZmFjZWJvb2snLCAkZmFjZWJvb2ssICRmYWNlYm9vay0yeCk7XG4uaWNvbi1mYWNlYm9vayB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZSgkaWNvbi1mYWNlYm9vay1ncm91cCk7XG59XG4kaWNvbi1mYWNlYm9vay1ob3Zlci1ncm91cDogKCdpY29uLWZhY2Vib29rLWhvdmVyJywgJGZhY2Vib29rLWhvdmVyLCAkZmFjZWJvb2staG92ZXItMngpO1xuLmljb24tZmFjZWJvb2s6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tZmFjZWJvb2staG92ZXItZ3JvdXApO1xufVxuXG4kaWNvbi15b3V0dWJlLWdyb3VwOiAoJ2ljb24teW91dHViZScsICR5b3V0dWJlLCAkeW91dHViZS0yeCk7XG4uaWNvbi15b3V0dWJlIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLXlvdXR1YmUtZ3JvdXApO1xufVxuJGljb24teW91dHViZS1ob3Zlci1ncm91cDogKCdpY29uLXlvdXR1YmUtaG92ZXInLCAkeW91dHViZS1ob3ZlciwgJHlvdXR1YmUtaG92ZXItMngpO1xuLmljb24teW91dHViZTpob3ZlciB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZSgkaWNvbi15b3V0dWJlLWhvdmVyLWdyb3VwKTtcbn1cblxuJGljb24tZ29vZ2xlcGx1cy1ncm91cDogKCdpY29uLWdvb2dsZXBsdXMnLCAkZ29vZ2xlcGx1cywgJGdvb2dsZXBsdXMtMngpO1xuLmljb24tZ29vZ2xlcGx1cyB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZSgkaWNvbi1nb29nbGVwbHVzLWdyb3VwKTtcbn1cbiRpY29uLWdvb2dsZXBsdXMtaG92ZXItZ3JvdXA6ICgnaWNvbi1nb29nbGVwbHVzLWhvdmVyJywgJGdvb2dsZXBsdXMtaG92ZXIsICRnb29nbGVwbHVzLWhvdmVyLTJ4KTtcbi5pY29uLWdvb2dsZXBsdXM6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tZ29vZ2xlcGx1cy1ob3Zlci1ncm91cCk7XG59XG5cbiRpY29uLXR3aXR0ZXItZ3JvdXA6ICgnaWNvbi10d2l0dGVyJywgJHR3aXR0ZXIsICR0d2l0dGVyLTJ4KTtcbi5pY29uLXR3aXR0ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tdHdpdHRlci1ncm91cCk7XG59XG4kaWNvbi10d2l0dGVyLWhvdmVyLWdyb3VwOiAoJ2ljb24tdHdpdHRlci1ob3ZlcicsICR0d2l0dGVyLWhvdmVyLCAkdHdpdHRlci1ob3Zlci0yeCk7XG4uaWNvbi10d2l0dGVyOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLXR3aXR0ZXItaG92ZXItZ3JvdXApO1xufVxuXG4kaWNvbi1sb2dpbi1ncm91cDogKCdpY29uLWxvZ2luJywgJGxvZ2luLCAkbG9naW4tMngpO1xuLmljb24tbG9naW4ge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tbG9naW4tZ3JvdXApO1xufVxuJGljb24tbG9naW4taG92ZXItZ3JvdXA6ICgnaWNvbi1sb2dpbi1ob3ZlcicsICRsb2dpbi1ob3ZlciwgJGxvZ2luLWhvdmVyLTJ4KTtcbi5pY29uLWxvZ2luOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLWxvZ2luLWhvdmVyLWdyb3VwKTtcbn1cblxuJGljb24tZm9yZ290X3B3LWdyb3VwOiAoJ2ljb24tZm9yZ290X3B3JywgJGZvcmdvdF9wdywgJGZvcmdvdF9wdy0yeCk7XG4uaWNvbi1mb3Jnb3RfcHcge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tZm9yZ290X3B3LWdyb3VwKTtcbn1cbiRpY29uLWZvcmdvdF9wdy1ob3Zlci1ncm91cDogKCdpY29uLWZvcmdvdF9wdy1ob3ZlcicsICRmb3Jnb3RfcHctaG92ZXIsICRmb3Jnb3RfcHctaG92ZXItMngpO1xuLmljb24tZm9yZ290X3B3OmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLWZvcmdvdF9wdy1ob3Zlci1ncm91cCk7XG59XG5cbiRpY29uLW5ld19oZXJlLWdyb3VwOiAoJ2ljb24tbmV3X2hlcmUnLCAkbmV3X2hlcmUsICRuZXdfaGVyZS0yeCk7XG4uaWNvbi1uZXdfaGVyZSB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZSgkaWNvbi1uZXdfaGVyZS1ncm91cCk7XG59XG4kaWNvbi1uZXdfaGVyZS1ob3Zlci1ncm91cDogKCdpY29uLW5ld19oZXJlLWhvdmVyJywgJG5ld19oZXJlLWhvdmVyLCAkbmV3X2hlcmUtaG92ZXItMngpO1xuLmljb24tbmV3X2hlcmU6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tbmV3X2hlcmUtaG92ZXItZ3JvdXApO1xufVxuXG4kaWNvbi1lZGl0LWdyb3VwOiAoJ2ljb24tZWRpdCcsICRlZGl0LCAkZWRpdC0yeCk7XG4uaWNvbi1lZGl0IHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLWVkaXQtZ3JvdXApO1xufVxuJGljb24tZWRpdC1ob3Zlci1ncm91cDogKCdpY29uLWVkaXQtaG92ZXInLCAkZWRpdC1ob3ZlciwgJGVkaXQtaG92ZXItMngpO1xuLmljb24tZWRpdDpob3ZlciB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZSgkaWNvbi1lZGl0LWhvdmVyLWdyb3VwKTtcbn1cblxuJGljb24taGlkZS1ncm91cDogKCdpY29uLWhpZGUnLCAkaGlkZSwgJGhpZGUtMngpO1xuLmljb24taGlkZSB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZSgkaWNvbi1oaWRlLWdyb3VwKTtcbn1cbiRpY29uLWhpZGUtaG92ZXItZ3JvdXA6ICgnaWNvbi1oaWRlLWhvdmVyJywgJGhpZGUtaG92ZXIsICRoaWRlLWhvdmVyLTJ4KTtcbi5pY29uLWhpZGU6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24taGlkZS1ob3Zlci1ncm91cCk7XG59XG5cbiRpY29uLXNob3ctZ3JvdXA6ICgnaWNvbi1zaG93JywgJHNob3csICRzaG93LTJ4KTtcbi5pY29uLXNob3cge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tc2hvdy1ncm91cCk7XG59XG4kaWNvbi1zaG93LWhvdmVyLWdyb3VwOiAoJ2ljb24tc2hvdy1ob3ZlcicsICRzaG93LWhvdmVyLCAkc2hvdy1ob3Zlci0yeCk7XG4uaWNvbi1zaG93OmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLXNob3ctaG92ZXItZ3JvdXApO1xufVxuXG4kaWNvbi1kZWxldGUtZ3JvdXA6ICgnaWNvbi1kZWxldGUnLCAkZGVsZXRlLCAkZGVsZXRlLTJ4KTtcbi5pY29uLWRlbGV0ZSB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZSgkaWNvbi1kZWxldGUtZ3JvdXApO1xufVxuJGljb24tZGVsZXRlLWhvdmVyLWdyb3VwOiAoJ2ljb24tZGVsZXRlLWhvdmVyJywgJGRlbGV0ZS1ob3ZlciwgJGRlbGV0ZS1ob3Zlci0yeCk7XG4uaWNvbi1kZWxldGU6aG92ZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tZGVsZXRlLWhvdmVyLWdyb3VwKTtcbn1cblxuJGljb24tcGhvdG9zLWdyb3VwOiAoJ2ljb24tcGhvdG9zJywgJHBob3RvcywgJHBob3Rvcy0yeCk7XG4uaWNvbi1waG90b3Mge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tcGhvdG9zLWdyb3VwKTtcbn1cbiRpY29uLXBob3Rvcy1ob3Zlci1ncm91cDogKCdpY29uLXBob3Rvcy1ob3ZlcicsICRwaG90b3MtaG92ZXIsICRwaG90b3MtaG92ZXItMngpO1xuLmljb24tcGhvdG9zOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLXBob3Rvcy1ob3Zlci1ncm91cCk7XG59XG5cbiRpY29uLXF1ZXJpZXMtZ3JvdXA6ICgnaWNvbi1xdWVyaWVzJywgJHF1ZXJpZXMsICRxdWVyaWVzLTJ4KTtcbi5pY29uLXF1ZXJpZXMge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tcXVlcmllcy1ncm91cCk7XG59XG4kaWNvbi1xdWVyaWVzLWhvdmVyLWdyb3VwOiAoJ2ljb24tcXVlcmllcy1ob3ZlcicsICRxdWVyaWVzLWhvdmVyLCAkcXVlcmllcy1ob3Zlci0yeCk7XG4uaWNvbi1xdWVyaWVzOmhvdmVyIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLXF1ZXJpZXMtaG92ZXItZ3JvdXApO1xufVxuXG4kaWNvbi1wcml2YXRlX3NlbGxlci1ncm91cDogKCdpY29uLXByaXZhdGVfc2VsbGVyJywgJHByaXZhdGVfc2VsbGVyLCAkcHJpdmF0ZV9zZWxsZXItMngpO1xuLmljb24tcHJpdmF0ZV9zZWxsZXIge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tcHJpdmF0ZV9zZWxsZXItZ3JvdXApO1xufVxuJGljb24tcHJpdmF0ZV9zZWxsZXItaG92ZXItZ3JvdXA6ICgnaWNvbi1wcml2YXRlX3NlbGxlci1ob3ZlcicsICRwcml2YXRlX3NlbGxlci1ob3ZlciwgJHByaXZhdGVfc2VsbGVyLWhvdmVyLTJ4KTtcbi5pY29uLXByaXZhdGVfc2VsbGVyOmhvdmVyOm5vdCgubm8taG92ZXIpIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLXByaXZhdGVfc2VsbGVyLWhvdmVyLWdyb3VwKTtcbn1cblxuJGljb24tZXN0YXRlX2FnZW50LWdyb3VwOiAoJ2ljb24tZXN0YXRlX2FnZW50JywgJGVzdGF0ZV9hZ2VudCwgJGVzdGF0ZV9hZ2VudC0yeCk7XG4uaWNvbi1lc3RhdGVfYWdlbnQge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tZXN0YXRlX2FnZW50LWdyb3VwKTtcbn1cbiRpY29uLWVzdGF0ZV9hZ2VudC1ob3Zlci1ncm91cDogKCdpY29uLWVzdGF0ZV9hZ2VudC1ob3ZlcicsICRlc3RhdGVfYWdlbnQtaG92ZXIsICRlc3RhdGVfYWdlbnQtaG92ZXItMngpO1xuLmljb24tZXN0YXRlX2FnZW50OmhvdmVyOm5vdCgubm8taG92ZXIpIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLWVzdGF0ZV9hZ2VudC1ob3Zlci1ncm91cCk7XG59XG5cbiRpY29uLXNvcnJ5LWdyb3VwOiAoJ2ljb24tc29ycnknLCAkc29ycnksICRzb3JyeS0yeCk7XG4uaWNvbi1zb3JyeSwgLmJ1dHRvbiBpLmljb24tc29ycnkge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UoJGljb24tc29ycnktZ3JvdXApO1xufVxuJGljb24tc29ycnktaG92ZXItZ3JvdXA6ICgnaWNvbi1zb3JyeS1ob3ZlcicsICRzb3JyeS1ob3ZlciwgJHNvcnJ5LWhvdmVyLTJ4KTtcbi5pY29uLXNvcnJ5OmhvdmVyOm5vdCgubm8taG92ZXIpIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLXNvcnJ5LWhvdmVyLWdyb3VwKTtcbn1cblxuJGljb24tZW1haWxfYWxlcnRfZ3JleS1ncm91cDogKCdpY29uLWVtYWlsX2FsZXJ0X2dyZXknLCAkZW1haWxfYWxlcnRfZ3JleSwgJGVtYWlsX2FsZXJ0X2dyZXktMngpO1xuLmljb24tZW1haWxfYWxlcnRfZ3JleSB7XG4gICAgQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRpY29uLWVtYWlsX2FsZXJ0X2dyZXktZ3JvdXApO1xufVxuXG4kaWNvbi1lbWFpbF9hbGVydF93aGl0ZS1ncm91cDogKCdpY29uLWVtYWlsX2FsZXJ0X3doaXRlJywgJGVtYWlsX2FsZXJ0X3doaXRlLCAkZW1haWxfYWxlcnRfd2hpdGUtMngpO1xuLmljb24tZW1haWxfYWxlcnRfd2hpdGUge1xuICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUtd28taW1hZ2UtcmVzcCgkaWNvbi1lbWFpbF9hbGVydF93aGl0ZS1ncm91cCk7XG59XG5cbiRpY29uLWVtYWlsX2FsZXJ0X3JlZC1ncm91cDogKCdpY29uLWVtYWlsX2FsZXJ0X3JlZCcsICRlbWFpbF9hbGVydF9yZWQsICRlbWFpbF9hbGVydF9yZWQtMngpO1xuLmljb24tZW1haWxfYWxlcnRfcmVkIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRpY29uLWVtYWlsX2FsZXJ0X3JlZC1ncm91cCk7XG59XG4iLCIvLyBTQ1NTIHZhcmlhYmxlcyBhcmUgaW5mb3JtYXRpb24gYWJvdXQgaWNvbidzIGNvbXBpbGVkIHN0YXRlLCBzdG9yZWQgdW5kZXIgaXRzIG9yaWdpbmFsIGZpbGUgbmFtZVxuLy9cbi8vIC5pY29uLWhvbWUge1xuLy8gICB3aWR0aDogJGljb24taG9tZS13aWR0aDtcbi8vIH1cbi8vXG4vLyBUaGUgbGFyZ2UgYXJyYXktbGlrZSB2YXJpYWJsZXMgY29udGFpbiBhbGwgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgaWNvbiBFXG4vLyAkaWNvbi1ob21lOiB4IHkgb2Zmc2V0X3ggb2Zmc2V0X3kgd2lkdGggaGVpZ2h0IHRvdGFsX3dpZHRoIHRvdGFsX2hlaWdodCBpbWFnZV9wYXRoO1xuLy9cbi8vIEF0IHRoZSBib3R0b20gb2YgdGhpcyBzZWN0aW9uLCB3ZSBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcHJpdGVzaGVldCBpdHNlbGZcbi8vICRzcHJpdGVzaGVldDogd2lkdGggaGVpZ2h0IGltYWdlICRzcHJpdGVzaGVldC1zcHJpdGVzO1xuJGFyZS1ob3Zlci1uYW1lOiAnYXJlLS1ob3Zlcic7XG4kYXJlLWhvdmVyLXg6IDQwOHB4O1xuJGFyZS1ob3Zlci15OiAzMTNweDtcbiRhcmUtaG92ZXItb2Zmc2V0LXg6IC00MDhweDtcbiRhcmUtaG92ZXItb2Zmc2V0LXk6IC0zMTNweDtcbiRhcmUtaG92ZXItd2lkdGg6IDY2cHg7XG4kYXJlLWhvdmVyLWhlaWdodDogNjZweDtcbiRhcmUtaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRhcmUtaG92ZXItdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRhcmUtaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRhcmUtaG92ZXI6ICg0MDhweCwgMzEzcHgsIC00MDhweCwgLTMxM3B4LCA2NnB4LCA2NnB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdhcmUtLWhvdmVyJywgKTtcbiRhcmUtZnVsbC1ob3Zlci1uYW1lOiAnYXJlLWZ1bGwtLWhvdmVyJztcbiRhcmUtZnVsbC1ob3Zlci14OiA1OTJweDtcbiRhcmUtZnVsbC1ob3Zlci15OiAxNzlweDtcbiRhcmUtZnVsbC1ob3Zlci1vZmZzZXQteDogLTU5MnB4O1xuJGFyZS1mdWxsLWhvdmVyLW9mZnNldC15OiAtMTc5cHg7XG4kYXJlLWZ1bGwtaG92ZXItd2lkdGg6IDE0NnB4O1xuJGFyZS1mdWxsLWhvdmVyLWhlaWdodDogNjVweDtcbiRhcmUtZnVsbC1ob3Zlci10b3RhbC13aWR0aDogMTI4OXB4O1xuJGFyZS1mdWxsLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kYXJlLWZ1bGwtaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRhcmUtZnVsbC1ob3ZlcjogKDU5MnB4LCAxNzlweCwgLTU5MnB4LCAtMTc5cHgsIDE0NnB4LCA2NXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdhcmUtZnVsbC0taG92ZXInLCApO1xuJGFyZS1mdWxsLW5hbWU6ICdhcmUtZnVsbCc7XG4kYXJlLWZ1bGwteDogMTQ4cHg7XG4kYXJlLWZ1bGwteTogMTc5cHg7XG4kYXJlLWZ1bGwtb2Zmc2V0LXg6IC0xNDhweDtcbiRhcmUtZnVsbC1vZmZzZXQteTogLTE3OXB4O1xuJGFyZS1mdWxsLXdpZHRoOiAxNDZweDtcbiRhcmUtZnVsbC1oZWlnaHQ6IDY1cHg7XG4kYXJlLWZ1bGwtdG90YWwtd2lkdGg6IDEyODlweDtcbiRhcmUtZnVsbC10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGFyZS1mdWxsLWltYWdlOiAnYWxsLnBuZyc7XG4kYXJlLWZ1bGw6ICgxNDhweCwgMTc5cHgsIC0xNDhweCwgLTE3OXB4LCAxNDZweCwgNjVweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAnYXJlLWZ1bGwnLCApO1xuJGFyZS1uYW1lOiAnYXJlJztcbiRhcmUteDogMjA0cHg7XG4kYXJlLXk6IDMxM3B4O1xuJGFyZS1vZmZzZXQteDogLTIwNHB4O1xuJGFyZS1vZmZzZXQteTogLTMxM3B4O1xuJGFyZS13aWR0aDogNjZweDtcbiRhcmUtaGVpZ2h0OiA2NnB4O1xuJGFyZS10b3RhbC13aWR0aDogMTI4OXB4O1xuJGFyZS10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGFyZS1pbWFnZTogJ2FsbC5wbmcnO1xuJGFyZTogKDIwNHB4LCAzMTNweCwgLTIwNHB4LCAtMzEzcHgsIDY2cHgsIDY2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2FyZScsICk7XG4kYXJyb3ctaG92ZXItbmFtZTogJ2Fycm93LS1ob3Zlcic7XG4kYXJyb3ctaG92ZXIteDogMTIzM3B4O1xuJGFycm93LWhvdmVyLXk6IDI0NnB4O1xuJGFycm93LWhvdmVyLW9mZnNldC14OiAtMTIzM3B4O1xuJGFycm93LWhvdmVyLW9mZnNldC15OiAtMjQ2cHg7XG4kYXJyb3ctaG92ZXItd2lkdGg6IDQzcHg7XG4kYXJyb3ctaG92ZXItaGVpZ2h0OiA0M3B4O1xuJGFycm93LWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kYXJyb3ctaG92ZXItdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRhcnJvdy1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJGFycm93LWhvdmVyOiAoMTIzM3B4LCAyNDZweCwgLTEyMzNweCwgLTI0NnB4LCA0M3B4LCA0M3B4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdhcnJvdy0taG92ZXInLCApO1xuJGFycm93LW5hbWU6ICdhcnJvdyc7XG4kYXJyb3cteDogMTE4OHB4O1xuJGFycm93LXk6IDI0NnB4O1xuJGFycm93LW9mZnNldC14OiAtMTE4OHB4O1xuJGFycm93LW9mZnNldC15OiAtMjQ2cHg7XG4kYXJyb3ctd2lkdGg6IDQzcHg7XG4kYXJyb3ctaGVpZ2h0OiA0M3B4O1xuJGFycm93LXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kYXJyb3ctdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRhcnJvdy1pbWFnZTogJ2FsbC5wbmcnO1xuJGFycm93OiAoMTE4OHB4LCAyNDZweCwgLTExODhweCwgLTI0NnB4LCA0M3B4LCA0M3B4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdhcnJvdycsICk7XG4kZGVsZXRlLWhvdmVyLW5hbWU6ICdkZWxldGUtLWhvdmVyJztcbiRkZWxldGUtaG92ZXIteDogMTIwNnB4O1xuJGRlbGV0ZS1ob3Zlci15OiAzMTNweDtcbiRkZWxldGUtaG92ZXItb2Zmc2V0LXg6IC0xMjA2cHg7XG4kZGVsZXRlLWhvdmVyLW9mZnNldC15OiAtMzEzcHg7XG4kZGVsZXRlLWhvdmVyLXdpZHRoOiAxNnB4O1xuJGRlbGV0ZS1ob3Zlci1oZWlnaHQ6IDE3cHg7XG4kZGVsZXRlLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kZGVsZXRlLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kZGVsZXRlLWhvdmVyLWltYWdlOiAnYWxsLnBuZyc7XG4kZGVsZXRlLWhvdmVyOiAoMTIwNnB4LCAzMTNweCwgLTEyMDZweCwgLTMxM3B4LCAxNnB4LCAxN3B4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdkZWxldGUtLWhvdmVyJywgKTtcbiRkZWxldGUtbmFtZTogJ2RlbGV0ZSc7XG4kZGVsZXRlLXg6IDEyMjRweDtcbiRkZWxldGUteTogMzEzcHg7XG4kZGVsZXRlLW9mZnNldC14OiAtMTIyNHB4O1xuJGRlbGV0ZS1vZmZzZXQteTogLTMxM3B4O1xuJGRlbGV0ZS13aWR0aDogMTZweDtcbiRkZWxldGUtaGVpZ2h0OiAxN3B4O1xuJGRlbGV0ZS10b3RhbC13aWR0aDogMTI4OXB4O1xuJGRlbGV0ZS10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGRlbGV0ZS1pbWFnZTogJ2FsbC5wbmcnO1xuJGRlbGV0ZTogKDEyMjRweCwgMzEzcHgsIC0xMjI0cHgsIC0zMTNweCwgMTZweCwgMTdweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAnZGVsZXRlJywgKTtcbiRlZGl0LWhvdmVyLW5hbWU6ICdlZGl0LS1ob3Zlcic7XG4kZWRpdC1ob3Zlci14OiAxMTcycHg7XG4kZWRpdC1ob3Zlci15OiAzNDRweDtcbiRlZGl0LWhvdmVyLW9mZnNldC14OiAtMTE3MnB4O1xuJGVkaXQtaG92ZXItb2Zmc2V0LXk6IC0zNDRweDtcbiRlZGl0LWhvdmVyLXdpZHRoOiAyM3B4O1xuJGVkaXQtaG92ZXItaGVpZ2h0OiAyM3B4O1xuJGVkaXQtaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRlZGl0LWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kZWRpdC1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJGVkaXQtaG92ZXI6ICgxMTcycHgsIDM0NHB4LCAtMTE3MnB4LCAtMzQ0cHgsIDIzcHgsIDIzcHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2VkaXQtLWhvdmVyJywgKTtcbiRlZGl0LW5hbWU6ICdlZGl0JztcbiRlZGl0LXg6IDExOTdweDtcbiRlZGl0LXk6IDM0NHB4O1xuJGVkaXQtb2Zmc2V0LXg6IC0xMTk3cHg7XG4kZWRpdC1vZmZzZXQteTogLTM0NHB4O1xuJGVkaXQtd2lkdGg6IDIzcHg7XG4kZWRpdC1oZWlnaHQ6IDIzcHg7XG4kZWRpdC10b3RhbC13aWR0aDogMTI4OXB4O1xuJGVkaXQtdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRlZGl0LWltYWdlOiAnYWxsLnBuZyc7XG4kZWRpdDogKDExOTdweCwgMzQ0cHgsIC0xMTk3cHgsIC0zNDRweCwgMjNweCwgMjNweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAnZWRpdCcsICk7XG4kZW1haWwtYWxlcnQtZ3JleS1uYW1lOiAnZW1haWxfYWxlcnRfZ3JleSc7XG4kZW1haWwtYWxlcnQtZ3JleS14OiAxMTQ0cHg7XG4kZW1haWwtYWxlcnQtZ3JleS15OiAzNDRweDtcbiRlbWFpbC1hbGVydC1ncmV5LW9mZnNldC14OiAtMTE0NHB4O1xuJGVtYWlsLWFsZXJ0LWdyZXktb2Zmc2V0LXk6IC0zNDRweDtcbiRlbWFpbC1hbGVydC1ncmV5LXdpZHRoOiAyNnB4O1xuJGVtYWlsLWFsZXJ0LWdyZXktaGVpZ2h0OiAyNHB4O1xuJGVtYWlsLWFsZXJ0LWdyZXktdG90YWwtd2lkdGg6IDEyODlweDtcbiRlbWFpbC1hbGVydC1ncmV5LXRvdGFsLWhlaWdodDogNDA3cHg7XG4kZW1haWwtYWxlcnQtZ3JleS1pbWFnZTogJ2FsbC5wbmcnO1xuJGVtYWlsLWFsZXJ0LWdyZXk6ICgxMTQ0cHgsIDM0NHB4LCAtMTE0NHB4LCAtMzQ0cHgsIDI2cHgsIDI0cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2VtYWlsX2FsZXJ0X2dyZXknLCApO1xuJGVtYWlsLWFsZXJ0LXJlZC1uYW1lOiAnZW1haWxfYWxlcnRfcmVkJztcbiRlbWFpbC1hbGVydC1yZWQteDogMTA4OHB4O1xuJGVtYWlsLWFsZXJ0LXJlZC15OiAzNDRweDtcbiRlbWFpbC1hbGVydC1yZWQtb2Zmc2V0LXg6IC0xMDg4cHg7XG4kZW1haWwtYWxlcnQtcmVkLW9mZnNldC15OiAtMzQ0cHg7XG4kZW1haWwtYWxlcnQtcmVkLXdpZHRoOiAyNnB4O1xuJGVtYWlsLWFsZXJ0LXJlZC1oZWlnaHQ6IDI0cHg7XG4kZW1haWwtYWxlcnQtcmVkLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kZW1haWwtYWxlcnQtcmVkLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kZW1haWwtYWxlcnQtcmVkLWltYWdlOiAnYWxsLnBuZyc7XG4kZW1haWwtYWxlcnQtcmVkOiAoMTA4OHB4LCAzNDRweCwgLTEwODhweCwgLTM0NHB4LCAyNnB4LCAyNHB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdlbWFpbF9hbGVydF9yZWQnLCApO1xuJGVtYWlsLWFsZXJ0LXdoaXRlLW5hbWU6ICdlbWFpbF9hbGVydF93aGl0ZSc7XG4kZW1haWwtYWxlcnQtd2hpdGUteDogMTExNnB4O1xuJGVtYWlsLWFsZXJ0LXdoaXRlLXk6IDM0NHB4O1xuJGVtYWlsLWFsZXJ0LXdoaXRlLW9mZnNldC14OiAtMTExNnB4O1xuJGVtYWlsLWFsZXJ0LXdoaXRlLW9mZnNldC15OiAtMzQ0cHg7XG4kZW1haWwtYWxlcnQtd2hpdGUtd2lkdGg6IDI2cHg7XG4kZW1haWwtYWxlcnQtd2hpdGUtaGVpZ2h0OiAyNHB4O1xuJGVtYWlsLWFsZXJ0LXdoaXRlLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kZW1haWwtYWxlcnQtd2hpdGUtdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRlbWFpbC1hbGVydC13aGl0ZS1pbWFnZTogJ2FsbC5wbmcnO1xuJGVtYWlsLWFsZXJ0LXdoaXRlOiAoMTExNnB4LCAzNDRweCwgLTExMTZweCwgLTM0NHB4LCAyNnB4LCAyNHB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdlbWFpbF9hbGVydF93aGl0ZScsICk7XG4kZXN0YXRlLWFnZW50LWhvdmVyLW5hbWU6ICdlc3RhdGVfYWdlbnQtLWhvdmVyJztcbiRlc3RhdGUtYWdlbnQtaG92ZXIteDogMzg1cHg7XG4kZXN0YXRlLWFnZW50LWhvdmVyLXk6IDI0NnB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci1vZmZzZXQteDogLTM4NXB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci1vZmZzZXQteTogLTI0NnB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci13aWR0aDogNTlweDtcbiRlc3RhdGUtYWdlbnQtaG92ZXItaGVpZ2h0OiA1OXB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci10b3RhbC13aWR0aDogMTI4OXB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJGVzdGF0ZS1hZ2VudC1ob3ZlcjogKDM4NXB4LCAyNDZweCwgLTM4NXB4LCAtMjQ2cHgsIDU5cHgsIDU5cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2VzdGF0ZV9hZ2VudC0taG92ZXInLCApO1xuJGVzdGF0ZS1hZ2VudC1uYW1lOiAnZXN0YXRlX2FnZW50JztcbiRlc3RhdGUtYWdlbnQteDogMzI0cHg7XG4kZXN0YXRlLWFnZW50LXk6IDI0NnB4O1xuJGVzdGF0ZS1hZ2VudC1vZmZzZXQteDogLTMyNHB4O1xuJGVzdGF0ZS1hZ2VudC1vZmZzZXQteTogLTI0NnB4O1xuJGVzdGF0ZS1hZ2VudC13aWR0aDogNTlweDtcbiRlc3RhdGUtYWdlbnQtaGVpZ2h0OiA1OXB4O1xuJGVzdGF0ZS1hZ2VudC10b3RhbC13aWR0aDogMTI4OXB4O1xuJGVzdGF0ZS1hZ2VudC10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGVzdGF0ZS1hZ2VudC1pbWFnZTogJ2FsbC5wbmcnO1xuJGVzdGF0ZS1hZ2VudDogKDMyNHB4LCAyNDZweCwgLTMyNHB4LCAtMjQ2cHgsIDU5cHgsIDU5cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2VzdGF0ZV9hZ2VudCcsICk7XG4kZmFjZWJvb2staG92ZXItbmFtZTogJ2ZhY2Vib29rLS1ob3Zlcic7XG4kZmFjZWJvb2staG92ZXIteDogODQzcHg7XG4kZmFjZWJvb2staG92ZXIteTogMjQ2cHg7XG4kZmFjZWJvb2staG92ZXItb2Zmc2V0LXg6IC04NDNweDtcbiRmYWNlYm9vay1ob3Zlci1vZmZzZXQteTogLTI0NnB4O1xuJGZhY2Vib29rLWhvdmVyLXdpZHRoOiA0OXB4O1xuJGZhY2Vib29rLWhvdmVyLWhlaWdodDogNDlweDtcbiRmYWNlYm9vay1ob3Zlci10b3RhbC13aWR0aDogMTI4OXB4O1xuJGZhY2Vib29rLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kZmFjZWJvb2staG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRmYWNlYm9vay1ob3ZlcjogKDg0M3B4LCAyNDZweCwgLTg0M3B4LCAtMjQ2cHgsIDQ5cHgsIDQ5cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2ZhY2Vib29rLS1ob3ZlcicsICk7XG4kZmFjZWJvb2stbmFtZTogJ2ZhY2Vib29rJztcbiRmYWNlYm9vay14OiA3OTJweDtcbiRmYWNlYm9vay15OiAyNDZweDtcbiRmYWNlYm9vay1vZmZzZXQteDogLTc5MnB4O1xuJGZhY2Vib29rLW9mZnNldC15OiAtMjQ2cHg7XG4kZmFjZWJvb2std2lkdGg6IDQ5cHg7XG4kZmFjZWJvb2staGVpZ2h0OiA0OXB4O1xuJGZhY2Vib29rLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kZmFjZWJvb2stdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRmYWNlYm9vay1pbWFnZTogJ2FsbC5wbmcnO1xuJGZhY2Vib29rOiAoNzkycHgsIDI0NnB4LCAtNzkycHgsIC0yNDZweCwgNDlweCwgNDlweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAnZmFjZWJvb2snLCApO1xuJGZvcmdvdC1wdy1ob3Zlci1uYW1lOiAnZm9yZ290X3B3LS1ob3Zlcic7XG4kZm9yZ290LXB3LWhvdmVyLXg6IDEzNnB4O1xuJGZvcmdvdC1wdy1ob3Zlci15OiAyNDZweDtcbiRmb3Jnb3QtcHctaG92ZXItb2Zmc2V0LXg6IC0xMzZweDtcbiRmb3Jnb3QtcHctaG92ZXItb2Zmc2V0LXk6IC0yNDZweDtcbiRmb3Jnb3QtcHctaG92ZXItd2lkdGg6IDY0cHg7XG4kZm9yZ290LXB3LWhvdmVyLWhlaWdodDogNjVweDtcbiRmb3Jnb3QtcHctaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRmb3Jnb3QtcHctaG92ZXItdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRmb3Jnb3QtcHctaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRmb3Jnb3QtcHctaG92ZXI6ICgxMzZweCwgMjQ2cHgsIC0xMzZweCwgLTI0NnB4LCA2NHB4LCA2NXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdmb3Jnb3RfcHctLWhvdmVyJywgKTtcbiRmb3Jnb3QtcHctbmFtZTogJ2ZvcmdvdF9wdyc7XG4kZm9yZ290LXB3LXg6IDcwcHg7XG4kZm9yZ290LXB3LXk6IDI0NnB4O1xuJGZvcmdvdC1wdy1vZmZzZXQteDogLTcwcHg7XG4kZm9yZ290LXB3LW9mZnNldC15OiAtMjQ2cHg7XG4kZm9yZ290LXB3LXdpZHRoOiA2NHB4O1xuJGZvcmdvdC1wdy1oZWlnaHQ6IDY1cHg7XG4kZm9yZ290LXB3LXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kZm9yZ290LXB3LXRvdGFsLWhlaWdodDogNDA3cHg7XG4kZm9yZ290LXB3LWltYWdlOiAnYWxsLnBuZyc7XG4kZm9yZ290LXB3OiAoNzBweCwgMjQ2cHgsIC03MHB4LCAtMjQ2cHgsIDY0cHgsIDY1cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2ZvcmdvdF9wdycsICk7XG4kZnJlZS1uYW1lOiAnZnJlZSc7XG4kZnJlZS14OiAxMTQxcHg7XG4kZnJlZS15OiAyNDZweDtcbiRmcmVlLW9mZnNldC14OiAtMTE0MXB4O1xuJGZyZWUtb2Zmc2V0LXk6IC0yNDZweDtcbiRmcmVlLXdpZHRoOiA0NXB4O1xuJGZyZWUtaGVpZ2h0OiA0NnB4O1xuJGZyZWUtdG90YWwtd2lkdGg6IDEyODlweDtcbiRmcmVlLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kZnJlZS1pbWFnZTogJ2FsbC5wbmcnO1xuJGZyZWU6ICgxMTQxcHgsIDI0NnB4LCAtMTE0MXB4LCAtMjQ2cHgsIDQ1cHgsIDQ2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2ZyZWUnLCApO1xuJGdvb2dsZXBsdXMtaG92ZXItbmFtZTogJ2dvb2dsZXBsdXMtLWhvdmVyJztcbiRnb29nbGVwbHVzLWhvdmVyLXg6IDk5NnB4O1xuJGdvb2dsZXBsdXMtaG92ZXIteTogMjQ2cHg7XG4kZ29vZ2xlcGx1cy1ob3Zlci1vZmZzZXQteDogLTk5NnB4O1xuJGdvb2dsZXBsdXMtaG92ZXItb2Zmc2V0LXk6IC0yNDZweDtcbiRnb29nbGVwbHVzLWhvdmVyLXdpZHRoOiA0OXB4O1xuJGdvb2dsZXBsdXMtaG92ZXItaGVpZ2h0OiA0OXB4O1xuJGdvb2dsZXBsdXMtaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRnb29nbGVwbHVzLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kZ29vZ2xlcGx1cy1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJGdvb2dsZXBsdXMtaG92ZXI6ICg5OTZweCwgMjQ2cHgsIC05OTZweCwgLTI0NnB4LCA0OXB4LCA0OXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdnb29nbGVwbHVzLS1ob3ZlcicsICk7XG4kZ29vZ2xlcGx1cy1uYW1lOiAnZ29vZ2xlcGx1cyc7XG4kZ29vZ2xlcGx1cy14OiAxMjM1cHg7XG4kZ29vZ2xlcGx1cy15OiAxNzlweDtcbiRnb29nbGVwbHVzLW9mZnNldC14OiAtMTIzNXB4O1xuJGdvb2dsZXBsdXMtb2Zmc2V0LXk6IC0xNzlweDtcbiRnb29nbGVwbHVzLXdpZHRoOiA0OXB4O1xuJGdvb2dsZXBsdXMtaGVpZ2h0OiA0OXB4O1xuJGdvb2dsZXBsdXMtdG90YWwtd2lkdGg6IDEyODlweDtcbiRnb29nbGVwbHVzLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kZ29vZ2xlcGx1cy1pbWFnZTogJ2FsbC5wbmcnO1xuJGdvb2dsZXBsdXM6ICgxMjM1cHgsIDE3OXB4LCAtMTIzNXB4LCAtMTc5cHgsIDQ5cHgsIDQ5cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2dvb2dsZXBsdXMnLCApO1xuJGhpZGUtaG92ZXItbmFtZTogJ2hpZGUtLWhvdmVyJztcbiRoaWRlLWhvdmVyLXg6IDBweDtcbiRoaWRlLWhvdmVyLXk6IDM4MXB4O1xuJGhpZGUtaG92ZXItb2Zmc2V0LXg6IDBweDtcbiRoaWRlLWhvdmVyLW9mZnNldC15OiAtMzgxcHg7XG4kaGlkZS1ob3Zlci13aWR0aDogMTlweDtcbiRoaWRlLWhvdmVyLWhlaWdodDogMjZweDtcbiRoaWRlLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kaGlkZS1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGhpZGUtaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRoaWRlLWhvdmVyOiAoMHB4LCAzODFweCwgMHB4LCAtMzgxcHgsIDE5cHgsIDI2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2hpZGUtLWhvdmVyJywgKTtcbiRoaWRlLW5hbWU6ICdoaWRlJztcbiRoaWRlLXg6IDIxcHg7XG4kaGlkZS15OiAzODFweDtcbiRoaWRlLW9mZnNldC14OiAtMjFweDtcbiRoaWRlLW9mZnNldC15OiAtMzgxcHg7XG4kaGlkZS13aWR0aDogMTlweDtcbiRoaWRlLWhlaWdodDogMjZweDtcbiRoaWRlLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kaGlkZS10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGhpZGUtaW1hZ2U6ICdhbGwucG5nJztcbiRoaWRlOiAoMjFweCwgMzgxcHgsIC0yMXB4LCAtMzgxcHgsIDE5cHgsIDI2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2hpZGUnLCApO1xuJGxvZ2luLWhvdmVyLW5hbWU6ICdsb2dpbi0taG92ZXInO1xuJGxvZ2luLWhvdmVyLXg6IDYyOXB4O1xuJGxvZ2luLWhvdmVyLXk6IDI0NnB4O1xuJGxvZ2luLWhvdmVyLW9mZnNldC14OiAtNjI5cHg7XG4kbG9naW4taG92ZXItb2Zmc2V0LXk6IC0yNDZweDtcbiRsb2dpbi1ob3Zlci13aWR0aDogNTlweDtcbiRsb2dpbi1ob3Zlci1oZWlnaHQ6IDU4cHg7XG4kbG9naW4taG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRsb2dpbi1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGxvZ2luLWhvdmVyLWltYWdlOiAnYWxsLnBuZyc7XG4kbG9naW4taG92ZXI6ICg2MjlweCwgMjQ2cHgsIC02MjlweCwgLTI0NnB4LCA1OXB4LCA1OHB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdsb2dpbi0taG92ZXInLCApO1xuJGxvZ2luLW5hbWU6ICdsb2dpbic7XG4kbG9naW4teDogNDQ2cHg7XG4kbG9naW4teTogMjQ2cHg7XG4kbG9naW4tb2Zmc2V0LXg6IC00NDZweDtcbiRsb2dpbi1vZmZzZXQteTogLTI0NnB4O1xuJGxvZ2luLXdpZHRoOiA1OXB4O1xuJGxvZ2luLWhlaWdodDogNThweDtcbiRsb2dpbi10b3RhbC13aWR0aDogMTI4OXB4O1xuJGxvZ2luLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kbG9naW4taW1hZ2U6ICdhbGwucG5nJztcbiRsb2dpbjogKDQ0NnB4LCAyNDZweCwgLTQ0NnB4LCAtMjQ2cHgsIDU5cHgsIDU4cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2xvZ2luJywgKTtcbiRscDRmLWhvdmVyLW5hbWU6ICdscDRmLS1ob3Zlcic7XG4kbHA0Zi1ob3Zlci14OiAxMTU5cHg7XG4kbHA0Zi1ob3Zlci15OiAxMTJweDtcbiRscDRmLWhvdmVyLW9mZnNldC14OiAtMTE1OXB4O1xuJGxwNGYtaG92ZXItb2Zmc2V0LXk6IC0xMTJweDtcbiRscDRmLWhvdmVyLXdpZHRoOiAxMjdweDtcbiRscDRmLWhvdmVyLWhlaWdodDogNjVweDtcbiRscDRmLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kbHA0Zi1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGxwNGYtaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRscDRmLWhvdmVyOiAoMTE1OXB4LCAxMTJweCwgLTExNTlweCwgLTExMnB4LCAxMjdweCwgNjVweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAnbHA0Zi0taG92ZXInLCApO1xuJGxwNGYtZnVsbC1ob3Zlci1uYW1lOiAnbHA0Zi1mdWxsLS1ob3Zlcic7XG4kbHA0Zi1mdWxsLWhvdmVyLXg6IDIwOXB4O1xuJGxwNGYtZnVsbC1ob3Zlci15OiAxMTJweDtcbiRscDRmLWZ1bGwtaG92ZXItb2Zmc2V0LXg6IC0yMDlweDtcbiRscDRmLWZ1bGwtaG92ZXItb2Zmc2V0LXk6IC0xMTJweDtcbiRscDRmLWZ1bGwtaG92ZXItd2lkdGg6IDIwN3B4O1xuJGxwNGYtZnVsbC1ob3Zlci1oZWlnaHQ6IDY1cHg7XG4kbHA0Zi1mdWxsLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kbHA0Zi1mdWxsLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kbHA0Zi1mdWxsLWhvdmVyLWltYWdlOiAnYWxsLnBuZyc7XG4kbHA0Zi1mdWxsLWhvdmVyOiAoMjA5cHgsIDExMnB4LCAtMjA5cHgsIC0xMTJweCwgMjA3cHgsIDY1cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2xwNGYtZnVsbC0taG92ZXInLCApO1xuJGxwNGYtZnVsbC1uYW1lOiAnbHA0Zi1mdWxsJztcbiRscDRmLWZ1bGwteDogMHB4O1xuJGxwNGYtZnVsbC15OiAxMTJweDtcbiRscDRmLWZ1bGwtb2Zmc2V0LXg6IDBweDtcbiRscDRmLWZ1bGwtb2Zmc2V0LXk6IC0xMTJweDtcbiRscDRmLWZ1bGwtd2lkdGg6IDIwN3B4O1xuJGxwNGYtZnVsbC1oZWlnaHQ6IDY1cHg7XG4kbHA0Zi1mdWxsLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kbHA0Zi1mdWxsLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kbHA0Zi1mdWxsLWltYWdlOiAnYWxsLnBuZyc7XG4kbHA0Zi1mdWxsOiAoMHB4LCAxMTJweCwgMHB4LCAtMTEycHgsIDIwN3B4LCA2NXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdscDRmLWZ1bGwnLCApO1xuJGxwNGYtc2ltcGxlLWhvdmVyLW5hbWU6ICdscDRmLXNpbXBsZS0taG92ZXInO1xuJGxwNGYtc2ltcGxlLWhvdmVyLXg6IDY4MHB4O1xuJGxwNGYtc2ltcGxlLWhvdmVyLXk6IDMxM3B4O1xuJGxwNGYtc2ltcGxlLWhvdmVyLW9mZnNldC14OiAtNjgwcHg7XG4kbHA0Zi1zaW1wbGUtaG92ZXItb2Zmc2V0LXk6IC0zMTNweDtcbiRscDRmLXNpbXBsZS1ob3Zlci13aWR0aDogNjZweDtcbiRscDRmLXNpbXBsZS1ob3Zlci1oZWlnaHQ6IDY2cHg7XG4kbHA0Zi1zaW1wbGUtaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRscDRmLXNpbXBsZS1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJGxwNGYtc2ltcGxlLWhvdmVyLWltYWdlOiAnYWxsLnBuZyc7XG4kbHA0Zi1zaW1wbGUtaG92ZXI6ICg2ODBweCwgMzEzcHgsIC02ODBweCwgLTMxM3B4LCA2NnB4LCA2NnB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdscDRmLXNpbXBsZS0taG92ZXInLCApO1xuJGxwNGYtc2ltcGxlLW5hbWU6ICdscDRmLXNpbXBsZSc7XG4kbHA0Zi1zaW1wbGUteDogNzQ4cHg7XG4kbHA0Zi1zaW1wbGUteTogMzEzcHg7XG4kbHA0Zi1zaW1wbGUtb2Zmc2V0LXg6IC03NDhweDtcbiRscDRmLXNpbXBsZS1vZmZzZXQteTogLTMxM3B4O1xuJGxwNGYtc2ltcGxlLXdpZHRoOiA2NnB4O1xuJGxwNGYtc2ltcGxlLWhlaWdodDogNjZweDtcbiRscDRmLXNpbXBsZS10b3RhbC13aWR0aDogMTI4OXB4O1xuJGxwNGYtc2ltcGxlLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kbHA0Zi1zaW1wbGUtaW1hZ2U6ICdhbGwucG5nJztcbiRscDRmLXNpbXBsZTogKDc0OHB4LCAzMTNweCwgLTc0OHB4LCAtMzEzcHgsIDY2cHgsIDY2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ2xwNGYtc2ltcGxlJywgKTtcbiRscDRmLW5hbWU6ICdscDRmJztcbiRscDRmLXg6IDEwMzZweDtcbiRscDRmLXk6IDE3OXB4O1xuJGxwNGYtb2Zmc2V0LXg6IC0xMDM2cHg7XG4kbHA0Zi1vZmZzZXQteTogLTE3OXB4O1xuJGxwNGYtd2lkdGg6IDEyN3B4O1xuJGxwNGYtaGVpZ2h0OiA2NXB4O1xuJGxwNGYtdG90YWwtd2lkdGg6IDEyODlweDtcbiRscDRmLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kbHA0Zi1pbWFnZTogJ2FsbC5wbmcnO1xuJGxwNGY6ICgxMDM2cHgsIDE3OXB4LCAtMTAzNnB4LCAtMTc5cHgsIDEyN3B4LCA2NXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdscDRmJywgKTtcbiRteWFkcy1ob3Zlci1uYW1lOiAnbXlhZHMtLWhvdmVyJztcbiRteWFkcy1ob3Zlci14OiA4ODRweDtcbiRteWFkcy1ob3Zlci15OiAzMTNweDtcbiRteWFkcy1ob3Zlci1vZmZzZXQteDogLTg4NHB4O1xuJG15YWRzLWhvdmVyLW9mZnNldC15OiAtMzEzcHg7XG4kbXlhZHMtaG92ZXItd2lkdGg6IDY2cHg7XG4kbXlhZHMtaG92ZXItaGVpZ2h0OiA2NnB4O1xuJG15YWRzLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kbXlhZHMtaG92ZXItdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRteWFkcy1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJG15YWRzLWhvdmVyOiAoODg0cHgsIDMxM3B4LCAtODg0cHgsIC0zMTNweCwgNjZweCwgNjZweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAnbXlhZHMtLWhvdmVyJywgKTtcbiRteWFkcy1uYW1lOiAnbXlhZHMnO1xuJG15YWRzLXg6IDk1MnB4O1xuJG15YWRzLXk6IDMxM3B4O1xuJG15YWRzLW9mZnNldC14OiAtOTUycHg7XG4kbXlhZHMtb2Zmc2V0LXk6IC0zMTNweDtcbiRteWFkcy13aWR0aDogNjZweDtcbiRteWFkcy1oZWlnaHQ6IDY2cHg7XG4kbXlhZHMtdG90YWwtd2lkdGg6IDEyODlweDtcbiRteWFkcy10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJG15YWRzLWltYWdlOiAnYWxsLnBuZyc7XG4kbXlhZHM6ICg5NTJweCwgMzEzcHgsIC05NTJweCwgLTMxM3B4LCA2NnB4LCA2NnB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdteWFkcycsICk7XG4kbmV3LWhlcmUtaG92ZXItbmFtZTogJ25ld19oZXJlLS1ob3Zlcic7XG4kbmV3LWhlcmUtaG92ZXIteDogMTE2NXB4O1xuJG5ldy1oZXJlLWhvdmVyLXk6IDE3OXB4O1xuJG5ldy1oZXJlLWhvdmVyLW9mZnNldC14OiAtMTE2NXB4O1xuJG5ldy1oZXJlLWhvdmVyLW9mZnNldC15OiAtMTc5cHg7XG4kbmV3LWhlcmUtaG92ZXItd2lkdGg6IDY4cHg7XG4kbmV3LWhlcmUtaG92ZXItaGVpZ2h0OiA2NXB4O1xuJG5ldy1oZXJlLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kbmV3LWhlcmUtaG92ZXItdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRuZXctaGVyZS1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJG5ldy1oZXJlLWhvdmVyOiAoMTE2NXB4LCAxNzlweCwgLTExNjVweCwgLTE3OXB4LCA2OHB4LCA2NXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICduZXdfaGVyZS0taG92ZXInLCApO1xuJG5ldy1oZXJlLW5hbWU6ICduZXdfaGVyZSc7XG4kbmV3LWhlcmUteDogMHB4O1xuJG5ldy1oZXJlLXk6IDI0NnB4O1xuJG5ldy1oZXJlLW9mZnNldC14OiAwcHg7XG4kbmV3LWhlcmUtb2Zmc2V0LXk6IC0yNDZweDtcbiRuZXctaGVyZS13aWR0aDogNjhweDtcbiRuZXctaGVyZS1oZWlnaHQ6IDY1cHg7XG4kbmV3LWhlcmUtdG90YWwtd2lkdGg6IDEyODlweDtcbiRuZXctaGVyZS10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJG5ldy1oZXJlLWltYWdlOiAnYWxsLnBuZyc7XG4kbmV3LWhlcmU6ICgwcHgsIDI0NnB4LCAwcHgsIC0yNDZweCwgNjhweCwgNjVweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAnbmV3X2hlcmUnLCApO1xuJHBhbXAtaG92ZXItbmFtZTogJ3BhbXAtLWhvdmVyJztcbiRwYW1wLWhvdmVyLXg6IDBweDtcbiRwYW1wLWhvdmVyLXk6IDMxM3B4O1xuJHBhbXAtaG92ZXItb2Zmc2V0LXg6IDBweDtcbiRwYW1wLWhvdmVyLW9mZnNldC15OiAtMzEzcHg7XG4kcGFtcC1ob3Zlci13aWR0aDogNjZweDtcbiRwYW1wLWhvdmVyLWhlaWdodDogNjZweDtcbiRwYW1wLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kcGFtcC1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHBhbXAtaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRwYW1wLWhvdmVyOiAoMHB4LCAzMTNweCwgMHB4LCAtMzEzcHgsIDY2cHgsIDY2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3BhbXAtLWhvdmVyJywgKTtcbiRwYW1wLWZ1bGwtaG92ZXItbmFtZTogJ3BhbXAtZnVsbC0taG92ZXInO1xuJHBhbXAtZnVsbC1ob3Zlci14OiA0NDRweDtcbiRwYW1wLWZ1bGwtaG92ZXIteTogMTc5cHg7XG4kcGFtcC1mdWxsLWhvdmVyLW9mZnNldC14OiAtNDQ0cHg7XG4kcGFtcC1mdWxsLWhvdmVyLW9mZnNldC15OiAtMTc5cHg7XG4kcGFtcC1mdWxsLWhvdmVyLXdpZHRoOiAxNDZweDtcbiRwYW1wLWZ1bGwtaG92ZXItaGVpZ2h0OiA2NXB4O1xuJHBhbXAtZnVsbC1ob3Zlci10b3RhbC13aWR0aDogMTI4OXB4O1xuJHBhbXAtZnVsbC1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHBhbXAtZnVsbC1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJHBhbXAtZnVsbC1ob3ZlcjogKDQ0NHB4LCAxNzlweCwgLTQ0NHB4LCAtMTc5cHgsIDE0NnB4LCA2NXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdwYW1wLWZ1bGwtLWhvdmVyJywgKTtcbiRwYW1wLWZ1bGwtbmFtZTogJ3BhbXAtZnVsbCc7XG4kcGFtcC1mdWxsLXg6IDI5NnB4O1xuJHBhbXAtZnVsbC15OiAxNzlweDtcbiRwYW1wLWZ1bGwtb2Zmc2V0LXg6IC0yOTZweDtcbiRwYW1wLWZ1bGwtb2Zmc2V0LXk6IC0xNzlweDtcbiRwYW1wLWZ1bGwtd2lkdGg6IDE0NnB4O1xuJHBhbXAtZnVsbC1oZWlnaHQ6IDY1cHg7XG4kcGFtcC1mdWxsLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kcGFtcC1mdWxsLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kcGFtcC1mdWxsLWltYWdlOiAnYWxsLnBuZyc7XG4kcGFtcC1mdWxsOiAoMjk2cHgsIDE3OXB4LCAtMjk2cHgsIC0xNzlweCwgMTQ2cHgsIDY1cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3BhbXAtZnVsbCcsICk7XG4kcGFtcC1uYW1lOiAncGFtcCc7XG4kcGFtcC14OiAxMzZweDtcbiRwYW1wLXk6IDMxM3B4O1xuJHBhbXAtb2Zmc2V0LXg6IC0xMzZweDtcbiRwYW1wLW9mZnNldC15OiAtMzEzcHg7XG4kcGFtcC13aWR0aDogNjZweDtcbiRwYW1wLWhlaWdodDogNjZweDtcbiRwYW1wLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kcGFtcC10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHBhbXAtaW1hZ2U6ICdhbGwucG5nJztcbiRwYW1wOiAoMTM2cHgsIDMxM3B4LCAtMTM2cHgsIC0zMTNweCwgNjZweCwgNjZweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncGFtcCcsICk7XG4kcGhvdG9zLWhvdmVyLW5hbWU6ICdwaG90b3MtLWhvdmVyJztcbiRwaG90b3MtaG92ZXIteDogMTE0MnB4O1xuJHBob3Rvcy1ob3Zlci15OiAzMTNweDtcbiRwaG90b3MtaG92ZXItb2Zmc2V0LXg6IC0xMTQycHg7XG4kcGhvdG9zLWhvdmVyLW9mZnNldC15OiAtMzEzcHg7XG4kcGhvdG9zLWhvdmVyLXdpZHRoOiAzMHB4O1xuJHBob3Rvcy1ob3Zlci1oZWlnaHQ6IDIxcHg7XG4kcGhvdG9zLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kcGhvdG9zLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kcGhvdG9zLWhvdmVyLWltYWdlOiAnYWxsLnBuZyc7XG4kcGhvdG9zLWhvdmVyOiAoMTE0MnB4LCAzMTNweCwgLTExNDJweCwgLTMxM3B4LCAzMHB4LCAyMXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdwaG90b3MtLWhvdmVyJywgKTtcbiRwaG90b3MtbmFtZTogJ3Bob3Rvcyc7XG4kcGhvdG9zLXg6IDExNzRweDtcbiRwaG90b3MteTogMzEzcHg7XG4kcGhvdG9zLW9mZnNldC14OiAtMTE3NHB4O1xuJHBob3Rvcy1vZmZzZXQteTogLTMxM3B4O1xuJHBob3Rvcy13aWR0aDogMzBweDtcbiRwaG90b3MtaGVpZ2h0OiAyMXB4O1xuJHBob3Rvcy10b3RhbC13aWR0aDogMTI4OXB4O1xuJHBob3Rvcy10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHBob3Rvcy1pbWFnZTogJ2FsbC5wbmcnO1xuJHBob3RvczogKDExNzRweCwgMzEzcHgsIC0xMTc0cHgsIC0zMTNweCwgMzBweCwgMjFweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncGhvdG9zJywgKTtcbiRwcml2YXRlLXNlbGxlci1ob3Zlci1uYW1lOiAncHJpdmF0ZV9zZWxsZXItLWhvdmVyJztcbiRwcml2YXRlLXNlbGxlci1ob3Zlci14OiAyMDJweDtcbiRwcml2YXRlLXNlbGxlci1ob3Zlci15OiAyNDZweDtcbiRwcml2YXRlLXNlbGxlci1ob3Zlci1vZmZzZXQteDogLTIwMnB4O1xuJHByaXZhdGUtc2VsbGVyLWhvdmVyLW9mZnNldC15OiAtMjQ2cHg7XG4kcHJpdmF0ZS1zZWxsZXItaG92ZXItd2lkdGg6IDU5cHg7XG4kcHJpdmF0ZS1zZWxsZXItaG92ZXItaGVpZ2h0OiA1OXB4O1xuJHByaXZhdGUtc2VsbGVyLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kcHJpdmF0ZS1zZWxsZXItaG92ZXItdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRwcml2YXRlLXNlbGxlci1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJHByaXZhdGUtc2VsbGVyLWhvdmVyOiAoMjAycHgsIDI0NnB4LCAtMjAycHgsIC0yNDZweCwgNTlweCwgNTlweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncHJpdmF0ZV9zZWxsZXItLWhvdmVyJywgKTtcbiRwcml2YXRlLXNlbGxlci1uYW1lOiAncHJpdmF0ZV9zZWxsZXInO1xuJHByaXZhdGUtc2VsbGVyLXg6IDI2M3B4O1xuJHByaXZhdGUtc2VsbGVyLXk6IDI0NnB4O1xuJHByaXZhdGUtc2VsbGVyLW9mZnNldC14OiAtMjYzcHg7XG4kcHJpdmF0ZS1zZWxsZXItb2Zmc2V0LXk6IC0yNDZweDtcbiRwcml2YXRlLXNlbGxlci13aWR0aDogNTlweDtcbiRwcml2YXRlLXNlbGxlci1oZWlnaHQ6IDU5cHg7XG4kcHJpdmF0ZS1zZWxsZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRwcml2YXRlLXNlbGxlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHByaXZhdGUtc2VsbGVyLWltYWdlOiAnYWxsLnBuZyc7XG4kcHJpdmF0ZS1zZWxsZXI6ICgyNjNweCwgMjQ2cHgsIC0yNjNweCwgLTI0NnB4LCA1OXB4LCA1OXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdwcml2YXRlX3NlbGxlcicsICk7XG4kcHUxMDBrLWhvdmVyLW5hbWU6ICdwdTEwMGstLWhvdmVyJztcbiRwdTEwMGstaG92ZXIteDogNjhweDtcbiRwdTEwMGstaG92ZXIteTogMzEzcHg7XG4kcHUxMDBrLWhvdmVyLW9mZnNldC14OiAtNjhweDtcbiRwdTEwMGstaG92ZXItb2Zmc2V0LXk6IC0zMTNweDtcbiRwdTEwMGstaG92ZXItd2lkdGg6IDY2cHg7XG4kcHUxMDBrLWhvdmVyLWhlaWdodDogNjZweDtcbiRwdTEwMGstaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTEwMGstaG92ZXItdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRwdTEwMGstaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRwdTEwMGstaG92ZXI6ICg2OHB4LCAzMTNweCwgLTY4cHgsIC0zMTNweCwgNjZweCwgNjZweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncHUxMDBrLS1ob3ZlcicsICk7XG4kcHUxMDBrLWZ1bGwtaG92ZXItbmFtZTogJ3B1MTAway1mdWxsLS1ob3Zlcic7XG4kcHUxMDBrLWZ1bGwtaG92ZXIteDogNzQwcHg7XG4kcHUxMDBrLWZ1bGwtaG92ZXIteTogMTc5cHg7XG4kcHUxMDBrLWZ1bGwtaG92ZXItb2Zmc2V0LXg6IC03NDBweDtcbiRwdTEwMGstZnVsbC1ob3Zlci1vZmZzZXQteTogLTE3OXB4O1xuJHB1MTAway1mdWxsLWhvdmVyLXdpZHRoOiAxNDZweDtcbiRwdTEwMGstZnVsbC1ob3Zlci1oZWlnaHQ6IDY1cHg7XG4kcHUxMDBrLWZ1bGwtaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTEwMGstZnVsbC1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHB1MTAway1mdWxsLWhvdmVyLWltYWdlOiAnYWxsLnBuZyc7XG4kcHUxMDBrLWZ1bGwtaG92ZXI6ICg3NDBweCwgMTc5cHgsIC03NDBweCwgLTE3OXB4LCAxNDZweCwgNjVweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncHUxMDBrLWZ1bGwtLWhvdmVyJywgKTtcbiRwdTEwMGstZnVsbC1uYW1lOiAncHUxMDBrLWZ1bGwnO1xuJHB1MTAway1mdWxsLXg6IDU2N3B4O1xuJHB1MTAway1mdWxsLXk6IDExMnB4O1xuJHB1MTAway1mdWxsLW9mZnNldC14OiAtNTY3cHg7XG4kcHUxMDBrLWZ1bGwtb2Zmc2V0LXk6IC0xMTJweDtcbiRwdTEwMGstZnVsbC13aWR0aDogMTQ2cHg7XG4kcHUxMDBrLWZ1bGwtaGVpZ2h0OiA2NXB4O1xuJHB1MTAway1mdWxsLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kcHUxMDBrLWZ1bGwtdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRwdTEwMGstZnVsbC1pbWFnZTogJ2FsbC5wbmcnO1xuJHB1MTAway1mdWxsOiAoNTY3cHgsIDExMnB4LCAtNTY3cHgsIC0xMTJweCwgMTQ2cHgsIDY1cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3B1MTAway1mdWxsJywgKTtcbiRwdTEwMGstbmFtZTogJ3B1MTAwayc7XG4kcHUxMDBrLXg6IDYxMnB4O1xuJHB1MTAway15OiAzMTNweDtcbiRwdTEwMGstb2Zmc2V0LXg6IC02MTJweDtcbiRwdTEwMGstb2Zmc2V0LXk6IC0zMTNweDtcbiRwdTEwMGstd2lkdGg6IDY2cHg7XG4kcHUxMDBrLWhlaWdodDogNjZweDtcbiRwdTEwMGstdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTEwMGstdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRwdTEwMGstaW1hZ2U6ICdhbGwucG5nJztcbiRwdTEwMGs6ICg2MTJweCwgMzEzcHgsIC02MTJweCwgLTMxM3B4LCA2NnB4LCA2NnB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdwdTEwMGsnLCApO1xuJHB1MjBrLWhvdmVyLW5hbWU6ICdwdTIway0taG92ZXInO1xuJHB1MjBrLWhvdmVyLXg6IDU0NHB4O1xuJHB1MjBrLWhvdmVyLXk6IDMxM3B4O1xuJHB1MjBrLWhvdmVyLW9mZnNldC14OiAtNTQ0cHg7XG4kcHUyMGstaG92ZXItb2Zmc2V0LXk6IC0zMTNweDtcbiRwdTIway1ob3Zlci13aWR0aDogNjZweDtcbiRwdTIway1ob3Zlci1oZWlnaHQ6IDY2cHg7XG4kcHUyMGstaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTIway1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHB1MjBrLWhvdmVyLWltYWdlOiAnYWxsLnBuZyc7XG4kcHUyMGstaG92ZXI6ICg1NDRweCwgMzEzcHgsIC01NDRweCwgLTMxM3B4LCA2NnB4LCA2NnB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdwdTIway0taG92ZXInLCApO1xuJHB1MjBrLWZ1bGwtaG92ZXItbmFtZTogJ3B1MjBrLWZ1bGwtLWhvdmVyJztcbiRwdTIway1mdWxsLWhvdmVyLXg6IDEwMTFweDtcbiRwdTIway1mdWxsLWhvdmVyLXk6IDExMnB4O1xuJHB1MjBrLWZ1bGwtaG92ZXItb2Zmc2V0LXg6IC0xMDExcHg7XG4kcHUyMGstZnVsbC1ob3Zlci1vZmZzZXQteTogLTExMnB4O1xuJHB1MjBrLWZ1bGwtaG92ZXItd2lkdGg6IDE0NnB4O1xuJHB1MjBrLWZ1bGwtaG92ZXItaGVpZ2h0OiA2NXB4O1xuJHB1MjBrLWZ1bGwtaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTIway1mdWxsLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kcHUyMGstZnVsbC1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJHB1MjBrLWZ1bGwtaG92ZXI6ICgxMDExcHgsIDExMnB4LCAtMTAxMXB4LCAtMTEycHgsIDE0NnB4LCA2NXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdwdTIway1mdWxsLS1ob3ZlcicsICk7XG4kcHUyMGstZnVsbC1uYW1lOiAncHUyMGstZnVsbCc7XG4kcHUyMGstZnVsbC14OiA4NjNweDtcbiRwdTIway1mdWxsLXk6IDExMnB4O1xuJHB1MjBrLWZ1bGwtb2Zmc2V0LXg6IC04NjNweDtcbiRwdTIway1mdWxsLW9mZnNldC15OiAtMTEycHg7XG4kcHUyMGstZnVsbC13aWR0aDogMTQ2cHg7XG4kcHUyMGstZnVsbC1oZWlnaHQ6IDY1cHg7XG4kcHUyMGstZnVsbC10b3RhbC13aWR0aDogMTI4OXB4O1xuJHB1MjBrLWZ1bGwtdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRwdTIway1mdWxsLWltYWdlOiAnYWxsLnBuZyc7XG4kcHUyMGstZnVsbDogKDg2M3B4LCAxMTJweCwgLTg2M3B4LCAtMTEycHgsIDE0NnB4LCA2NXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdwdTIway1mdWxsJywgKTtcbiRwdTIway1uYW1lOiAncHUyMGsnO1xuJHB1MjBrLXg6IDM0MHB4O1xuJHB1MjBrLXk6IDMxM3B4O1xuJHB1MjBrLW9mZnNldC14OiAtMzQwcHg7XG4kcHUyMGstb2Zmc2V0LXk6IC0zMTNweDtcbiRwdTIway13aWR0aDogNjZweDtcbiRwdTIway1oZWlnaHQ6IDY2cHg7XG4kcHUyMGstdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTIway10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHB1MjBrLWltYWdlOiAnYWxsLnBuZyc7XG4kcHUyMGs6ICgzNDBweCwgMzEzcHgsIC0zNDBweCwgLTMxM3B4LCA2NnB4LCA2NnB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdwdTIwaycsICk7XG4kcHU1MGstaG92ZXItbmFtZTogJ3B1NTBrLS1ob3Zlcic7XG4kcHU1MGstaG92ZXIteDogMjcycHg7XG4kcHU1MGstaG92ZXIteTogMzEzcHg7XG4kcHU1MGstaG92ZXItb2Zmc2V0LXg6IC0yNzJweDtcbiRwdTUway1ob3Zlci1vZmZzZXQteTogLTMxM3B4O1xuJHB1NTBrLWhvdmVyLXdpZHRoOiA2NnB4O1xuJHB1NTBrLWhvdmVyLWhlaWdodDogNjZweDtcbiRwdTUway1ob3Zlci10b3RhbC13aWR0aDogMTI4OXB4O1xuJHB1NTBrLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kcHU1MGstaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRwdTUway1ob3ZlcjogKDI3MnB4LCAzMTNweCwgLTI3MnB4LCAtMzEzcHgsIDY2cHgsIDY2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3B1NTBrLS1ob3ZlcicsICk7XG4kcHU1MGstZnVsbC1ob3Zlci1uYW1lOiAncHU1MGstZnVsbC0taG92ZXInO1xuJHB1NTBrLWZ1bGwtaG92ZXIteDogNzE1cHg7XG4kcHU1MGstZnVsbC1ob3Zlci15OiAxMTJweDtcbiRwdTUway1mdWxsLWhvdmVyLW9mZnNldC14OiAtNzE1cHg7XG4kcHU1MGstZnVsbC1ob3Zlci1vZmZzZXQteTogLTExMnB4O1xuJHB1NTBrLWZ1bGwtaG92ZXItd2lkdGg6IDE0NnB4O1xuJHB1NTBrLWZ1bGwtaG92ZXItaGVpZ2h0OiA2NXB4O1xuJHB1NTBrLWZ1bGwtaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTUway1mdWxsLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kcHU1MGstZnVsbC1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJHB1NTBrLWZ1bGwtaG92ZXI6ICg3MTVweCwgMTEycHgsIC03MTVweCwgLTExMnB4LCAxNDZweCwgNjVweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncHU1MGstZnVsbC0taG92ZXInLCApO1xuJHB1NTBrLWZ1bGwtbmFtZTogJ3B1NTBrLWZ1bGwnO1xuJHB1NTBrLWZ1bGwteDogODg4cHg7XG4kcHU1MGstZnVsbC15OiAxNzlweDtcbiRwdTUway1mdWxsLW9mZnNldC14OiAtODg4cHg7XG4kcHU1MGstZnVsbC1vZmZzZXQteTogLTE3OXB4O1xuJHB1NTBrLWZ1bGwtd2lkdGg6IDE0NnB4O1xuJHB1NTBrLWZ1bGwtaGVpZ2h0OiA2NXB4O1xuJHB1NTBrLWZ1bGwtdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTUway1mdWxsLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kcHU1MGstZnVsbC1pbWFnZTogJ2FsbC5wbmcnO1xuJHB1NTBrLWZ1bGw6ICg4ODhweCwgMTc5cHgsIC04ODhweCwgLTE3OXB4LCAxNDZweCwgNjVweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncHU1MGstZnVsbCcsICk7XG4kcHU1MGstbmFtZTogJ3B1NTBrJztcbiRwdTUway14OiA4MTZweDtcbiRwdTUway15OiAzMTNweDtcbiRwdTUway1vZmZzZXQteDogLTgxNnB4O1xuJHB1NTBrLW9mZnNldC15OiAtMzEzcHg7XG4kcHU1MGstd2lkdGg6IDY2cHg7XG4kcHU1MGstaGVpZ2h0OiA2NnB4O1xuJHB1NTBrLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kcHU1MGstdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRwdTUway1pbWFnZTogJ2FsbC5wbmcnO1xuJHB1NTBrOiAoODE2cHgsIDMxM3B4LCAtODE2cHgsIC0zMTNweCwgNjZweCwgNjZweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncHU1MGsnLCApO1xuJHB1OTlrLWhvdmVyLW5hbWU6ICdwdTk5ay0taG92ZXInO1xuJHB1OTlrLWhvdmVyLXg6IDQ3NnB4O1xuJHB1OTlrLWhvdmVyLXk6IDMxM3B4O1xuJHB1OTlrLWhvdmVyLW9mZnNldC14OiAtNDc2cHg7XG4kcHU5OWstaG92ZXItb2Zmc2V0LXk6IC0zMTNweDtcbiRwdTk5ay1ob3Zlci13aWR0aDogNjZweDtcbiRwdTk5ay1ob3Zlci1oZWlnaHQ6IDY2cHg7XG4kcHU5OWstaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTk5ay1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHB1OTlrLWhvdmVyLWltYWdlOiAnYWxsLnBuZyc7XG4kcHU5OWstaG92ZXI6ICg0NzZweCwgMzEzcHgsIC00NzZweCwgLTMxM3B4LCA2NnB4LCA2NnB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdwdTk5ay0taG92ZXInLCApO1xuJHB1OTlrLWZ1bGwtaG92ZXItbmFtZTogJ3B1OTlrLWZ1bGwtLWhvdmVyJztcbiRwdTk5ay1mdWxsLWhvdmVyLXg6IDQxOHB4O1xuJHB1OTlrLWZ1bGwtaG92ZXIteTogMTEycHg7XG4kcHU5OWstZnVsbC1ob3Zlci1vZmZzZXQteDogLTQxOHB4O1xuJHB1OTlrLWZ1bGwtaG92ZXItb2Zmc2V0LXk6IC0xMTJweDtcbiRwdTk5ay1mdWxsLWhvdmVyLXdpZHRoOiAxNDdweDtcbiRwdTk5ay1mdWxsLWhvdmVyLWhlaWdodDogNjVweDtcbiRwdTk5ay1mdWxsLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kcHU5OWstZnVsbC1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHB1OTlrLWZ1bGwtaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRwdTk5ay1mdWxsLWhvdmVyOiAoNDE4cHgsIDExMnB4LCAtNDE4cHgsIC0xMTJweCwgMTQ3cHgsIDY1cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3B1OTlrLWZ1bGwtLWhvdmVyJywgKTtcbiRwdTk5ay1mdWxsLW5hbWU6ICdwdTk5ay1mdWxsJztcbiRwdTk5ay1mdWxsLXg6IDBweDtcbiRwdTk5ay1mdWxsLXk6IDE3OXB4O1xuJHB1OTlrLWZ1bGwtb2Zmc2V0LXg6IDBweDtcbiRwdTk5ay1mdWxsLW9mZnNldC15OiAtMTc5cHg7XG4kcHU5OWstZnVsbC13aWR0aDogMTQ2cHg7XG4kcHU5OWstZnVsbC1oZWlnaHQ6IDY1cHg7XG4kcHU5OWstZnVsbC10b3RhbC13aWR0aDogMTI4OXB4O1xuJHB1OTlrLWZ1bGwtdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRwdTk5ay1mdWxsLWltYWdlOiAnYWxsLnBuZyc7XG4kcHU5OWstZnVsbDogKDBweCwgMTc5cHgsIDBweCwgLTE3OXB4LCAxNDZweCwgNjVweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncHU5OWstZnVsbCcsICk7XG4kcHU5OWstbmFtZTogJ3B1OTlrJztcbiRwdTk5ay14OiAxMDIwcHg7XG4kcHU5OWsteTogMzEzcHg7XG4kcHU5OWstb2Zmc2V0LXg6IC0xMDIwcHg7XG4kcHU5OWstb2Zmc2V0LXk6IC0zMTNweDtcbiRwdTk5ay13aWR0aDogNjZweDtcbiRwdTk5ay1oZWlnaHQ6IDY2cHg7XG4kcHU5OWstdG90YWwtd2lkdGg6IDEyODlweDtcbiRwdTk5ay10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHB1OTlrLWltYWdlOiAnYWxsLnBuZyc7XG4kcHU5OWs6ICgxMDIwcHgsIDMxM3B4LCAtMTAyMHB4LCAtMzEzcHgsIDY2cHgsIDY2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3B1OTlrJywgKTtcbiRxdWVyaWVzLWhvdmVyLW5hbWU6ICdxdWVyaWVzLS1ob3Zlcic7XG4kcXVlcmllcy1ob3Zlci14OiAxMjM5cHg7XG4kcXVlcmllcy1ob3Zlci15OiAzNDRweDtcbiRxdWVyaWVzLWhvdmVyLW9mZnNldC14OiAtMTIzOXB4O1xuJHF1ZXJpZXMtaG92ZXItb2Zmc2V0LXk6IC0zNDRweDtcbiRxdWVyaWVzLWhvdmVyLXdpZHRoOiAxNXB4O1xuJHF1ZXJpZXMtaG92ZXItaGVpZ2h0OiAyMnB4O1xuJHF1ZXJpZXMtaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiRxdWVyaWVzLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kcXVlcmllcy1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJHF1ZXJpZXMtaG92ZXI6ICgxMjM5cHgsIDM0NHB4LCAtMTIzOXB4LCAtMzQ0cHgsIDE1cHgsIDIycHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3F1ZXJpZXMtLWhvdmVyJywgKTtcbiRxdWVyaWVzLW5hbWU6ICdxdWVyaWVzJztcbiRxdWVyaWVzLXg6IDEyMjJweDtcbiRxdWVyaWVzLXk6IDM0NHB4O1xuJHF1ZXJpZXMtb2Zmc2V0LXg6IC0xMjIycHg7XG4kcXVlcmllcy1vZmZzZXQteTogLTM0NHB4O1xuJHF1ZXJpZXMtd2lkdGg6IDE1cHg7XG4kcXVlcmllcy1oZWlnaHQ6IDIycHg7XG4kcXVlcmllcy10b3RhbC13aWR0aDogMTI4OXB4O1xuJHF1ZXJpZXMtdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRxdWVyaWVzLWltYWdlOiAnYWxsLnBuZyc7XG4kcXVlcmllczogKDEyMjJweCwgMzQ0cHgsIC0xMjIycHgsIC0zNDRweCwgMTVweCwgMjJweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAncXVlcmllcycsICk7XG4kc2hvdy1ob3Zlci1uYW1lOiAnc2hvdy0taG92ZXInO1xuJHNob3ctaG92ZXIteDogMTExNXB4O1xuJHNob3ctaG92ZXIteTogMzEzcHg7XG4kc2hvdy1ob3Zlci1vZmZzZXQteDogLTExMTVweDtcbiRzaG93LWhvdmVyLW9mZnNldC15OiAtMzEzcHg7XG4kc2hvdy1ob3Zlci13aWR0aDogMjVweDtcbiRzaG93LWhvdmVyLWhlaWdodDogMjlweDtcbiRzaG93LWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kc2hvdy1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHNob3ctaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiRzaG93LWhvdmVyOiAoMTExNXB4LCAzMTNweCwgLTExMTVweCwgLTMxM3B4LCAyNXB4LCAyOXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdzaG93LS1ob3ZlcicsICk7XG4kc2hvdy1uYW1lOiAnc2hvdyc7XG4kc2hvdy14OiAxMDg4cHg7XG4kc2hvdy15OiAzMTNweDtcbiRzaG93LW9mZnNldC14OiAtMTA4OHB4O1xuJHNob3ctb2Zmc2V0LXk6IC0zMTNweDtcbiRzaG93LXdpZHRoOiAyNXB4O1xuJHNob3ctaGVpZ2h0OiAyOXB4O1xuJHNob3ctdG90YWwtd2lkdGg6IDEyODlweDtcbiRzaG93LXRvdGFsLWhlaWdodDogNDA3cHg7XG4kc2hvdy1pbWFnZTogJ2FsbC5wbmcnO1xuJHNob3c6ICgxMDg4cHgsIDMxM3B4LCAtMTA4OHB4LCAtMzEzcHgsIDI1cHgsIDI5cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3Nob3cnLCApO1xuJHNreWxpbmUtbmFtZTogJ3NreWxpbmUnO1xuJHNreWxpbmUteDogMHB4O1xuJHNreWxpbmUteTogMHB4O1xuJHNreWxpbmUtb2Zmc2V0LXg6IDBweDtcbiRza3lsaW5lLW9mZnNldC15OiAwcHg7XG4kc2t5bGluZS13aWR0aDogMTI4OXB4O1xuJHNreWxpbmUtaGVpZ2h0OiAxMTBweDtcbiRza3lsaW5lLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kc2t5bGluZS10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHNreWxpbmUtaW1hZ2U6ICdhbGwucG5nJztcbiRza3lsaW5lOiAoMHB4LCAwcHgsIDBweCwgMHB4LCAxMjg5cHgsIDExMHB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdza3lsaW5lJywgKTtcbiRzb3JyeS1ob3Zlci1uYW1lOiAnc29ycnktLWhvdmVyJztcbiRzb3JyeS1ob3Zlci14OiA1NjhweDtcbiRzb3JyeS1ob3Zlci15OiAyNDZweDtcbiRzb3JyeS1ob3Zlci1vZmZzZXQteDogLTU2OHB4O1xuJHNvcnJ5LWhvdmVyLW9mZnNldC15OiAtMjQ2cHg7XG4kc29ycnktaG92ZXItd2lkdGg6IDU5cHg7XG4kc29ycnktaG92ZXItaGVpZ2h0OiA1OHB4O1xuJHNvcnJ5LWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kc29ycnktaG92ZXItdG90YWwtaGVpZ2h0OiA0MDdweDtcbiRzb3JyeS1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJHNvcnJ5LWhvdmVyOiAoNTY4cHgsIDI0NnB4LCAtNTY4cHgsIC0yNDZweCwgNTlweCwgNThweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAnc29ycnktLWhvdmVyJywgKTtcbiRzb3JyeS1uYW1lOiAnc29ycnknO1xuJHNvcnJ5LXg6IDUwN3B4O1xuJHNvcnJ5LXk6IDI0NnB4O1xuJHNvcnJ5LW9mZnNldC14OiAtNTA3cHg7XG4kc29ycnktb2Zmc2V0LXk6IC0yNDZweDtcbiRzb3JyeS13aWR0aDogNTlweDtcbiRzb3JyeS1oZWlnaHQ6IDU4cHg7XG4kc29ycnktdG90YWwtd2lkdGg6IDEyODlweDtcbiRzb3JyeS10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHNvcnJ5LWltYWdlOiAnYWxsLnBuZyc7XG4kc29ycnk6ICg1MDdweCwgMjQ2cHgsIC01MDdweCwgLTI0NnB4LCA1OXB4LCA1OHB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICdzb3JyeScsICk7XG4kc3RyaW5ncy1uYW1lOiAnc3RyaW5ncyc7XG4kc3RyaW5ncy14OiAxMDk0cHg7XG4kc3RyaW5ncy15OiAyNDZweDtcbiRzdHJpbmdzLW9mZnNldC14OiAtMTA5NHB4O1xuJHN0cmluZ3Mtb2Zmc2V0LXk6IC0yNDZweDtcbiRzdHJpbmdzLXdpZHRoOiA0NXB4O1xuJHN0cmluZ3MtaGVpZ2h0OiA0NnB4O1xuJHN0cmluZ3MtdG90YWwtd2lkdGg6IDEyODlweDtcbiRzdHJpbmdzLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kc3RyaW5ncy1pbWFnZTogJ2FsbC5wbmcnO1xuJHN0cmluZ3M6ICgxMDk0cHgsIDI0NnB4LCAtMTA5NHB4LCAtMjQ2cHgsIDQ1cHgsIDQ2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3N0cmluZ3MnLCApO1xuJHR3aXR0ZXItaG92ZXItbmFtZTogJ3R3aXR0ZXItLWhvdmVyJztcbiR0d2l0dGVyLWhvdmVyLXg6IDY5MHB4O1xuJHR3aXR0ZXItaG92ZXIteTogMjQ2cHg7XG4kdHdpdHRlci1ob3Zlci1vZmZzZXQteDogLTY5MHB4O1xuJHR3aXR0ZXItaG92ZXItb2Zmc2V0LXk6IC0yNDZweDtcbiR0d2l0dGVyLWhvdmVyLXdpZHRoOiA0OXB4O1xuJHR3aXR0ZXItaG92ZXItaGVpZ2h0OiA0OXB4O1xuJHR3aXR0ZXItaG92ZXItdG90YWwtd2lkdGg6IDEyODlweDtcbiR0d2l0dGVyLWhvdmVyLXRvdGFsLWhlaWdodDogNDA3cHg7XG4kdHdpdHRlci1ob3Zlci1pbWFnZTogJ2FsbC5wbmcnO1xuJHR3aXR0ZXItaG92ZXI6ICg2OTBweCwgMjQ2cHgsIC02OTBweCwgLTI0NnB4LCA0OXB4LCA0OXB4LCAxMjg5cHgsIDQwN3B4LCAnYWxsLnBuZycsICd0d2l0dGVyLS1ob3ZlcicsICk7XG4kdHdpdHRlci1uYW1lOiAndHdpdHRlcic7XG4kdHdpdHRlci14OiA5NDVweDtcbiR0d2l0dGVyLXk6IDI0NnB4O1xuJHR3aXR0ZXItb2Zmc2V0LXg6IC05NDVweDtcbiR0d2l0dGVyLW9mZnNldC15OiAtMjQ2cHg7XG4kdHdpdHRlci13aWR0aDogNDlweDtcbiR0d2l0dGVyLWhlaWdodDogNDlweDtcbiR0d2l0dGVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4kdHdpdHRlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHR3aXR0ZXItaW1hZ2U6ICdhbGwucG5nJztcbiR0d2l0dGVyOiAoOTQ1cHgsIDI0NnB4LCAtOTQ1cHgsIC0yNDZweCwgNDlweCwgNDlweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAndHdpdHRlcicsICk7XG4kd29ybGQtbmFtZTogJ3dvcmxkJztcbiR3b3JsZC14OiAxMDQ3cHg7XG4kd29ybGQteTogMjQ2cHg7XG4kd29ybGQtb2Zmc2V0LXg6IC0xMDQ3cHg7XG4kd29ybGQtb2Zmc2V0LXk6IC0yNDZweDtcbiR3b3JsZC13aWR0aDogNDVweDtcbiR3b3JsZC1oZWlnaHQ6IDQ2cHg7XG4kd29ybGQtdG90YWwtd2lkdGg6IDEyODlweDtcbiR3b3JsZC10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHdvcmxkLWltYWdlOiAnYWxsLnBuZyc7XG4kd29ybGQ6ICgxMDQ3cHgsIDI0NnB4LCAtMTA0N3B4LCAtMjQ2cHgsIDQ1cHgsIDQ2cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3dvcmxkJywgKTtcbiR5b3V0dWJlLWhvdmVyLW5hbWU6ICd5b3V0dWJlLS1ob3Zlcic7XG4keW91dHViZS1ob3Zlci14OiA4OTRweDtcbiR5b3V0dWJlLWhvdmVyLXk6IDI0NnB4O1xuJHlvdXR1YmUtaG92ZXItb2Zmc2V0LXg6IC04OTRweDtcbiR5b3V0dWJlLWhvdmVyLW9mZnNldC15OiAtMjQ2cHg7XG4keW91dHViZS1ob3Zlci13aWR0aDogNDlweDtcbiR5b3V0dWJlLWhvdmVyLWhlaWdodDogNDlweDtcbiR5b3V0dWJlLWhvdmVyLXRvdGFsLXdpZHRoOiAxMjg5cHg7XG4keW91dHViZS1ob3Zlci10b3RhbC1oZWlnaHQ6IDQwN3B4O1xuJHlvdXR1YmUtaG92ZXItaW1hZ2U6ICdhbGwucG5nJztcbiR5b3V0dWJlLWhvdmVyOiAoODk0cHgsIDI0NnB4LCAtODk0cHgsIC0yNDZweCwgNDlweCwgNDlweCwgMTI4OXB4LCA0MDdweCwgJ2FsbC5wbmcnLCAneW91dHViZS0taG92ZXInLCApO1xuJHlvdXR1YmUtbmFtZTogJ3lvdXR1YmUnO1xuJHlvdXR1YmUteDogNzQxcHg7XG4keW91dHViZS15OiAyNDZweDtcbiR5b3V0dWJlLW9mZnNldC14OiAtNzQxcHg7XG4keW91dHViZS1vZmZzZXQteTogLTI0NnB4O1xuJHlvdXR1YmUtd2lkdGg6IDQ5cHg7XG4keW91dHViZS1oZWlnaHQ6IDQ5cHg7XG4keW91dHViZS10b3RhbC13aWR0aDogMTI4OXB4O1xuJHlvdXR1YmUtdG90YWwtaGVpZ2h0OiA0MDdweDtcbiR5b3V0dWJlLWltYWdlOiAnYWxsLnBuZyc7XG4keW91dHViZTogKDc0MXB4LCAyNDZweCwgLTc0MXB4LCAtMjQ2cHgsIDQ5cHgsIDQ5cHgsIDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJ3lvdXR1YmUnLCApO1xuJGFyZS1ob3Zlci0yeC1uYW1lOiAnYXJlLS1ob3ZlckAyeCc7XG4kYXJlLWhvdmVyLTJ4LXg6IDgxNnB4O1xuJGFyZS1ob3Zlci0yeC15OiA2MjZweDtcbiRhcmUtaG92ZXItMngtb2Zmc2V0LXg6IC04MTZweDtcbiRhcmUtaG92ZXItMngtb2Zmc2V0LXk6IC02MjZweDtcbiRhcmUtaG92ZXItMngtd2lkdGg6IDEzMnB4O1xuJGFyZS1ob3Zlci0yeC1oZWlnaHQ6IDEzMnB4O1xuJGFyZS1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGFyZS1ob3Zlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGFyZS1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGFyZS1ob3Zlci0yeDogKDgxNnB4LCA2MjZweCwgLTgxNnB4LCAtNjI2cHgsIDEzMnB4LCAxMzJweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnYXJlLS1ob3ZlckAyeCcsICk7XG4kYXJlLWZ1bGwtaG92ZXItMngtbmFtZTogJ2FyZS1mdWxsLS1ob3ZlckAyeCc7XG4kYXJlLWZ1bGwtaG92ZXItMngteDogMTE4NHB4O1xuJGFyZS1mdWxsLWhvdmVyLTJ4LXk6IDM1OHB4O1xuJGFyZS1mdWxsLWhvdmVyLTJ4LW9mZnNldC14OiAtMTE4NHB4O1xuJGFyZS1mdWxsLWhvdmVyLTJ4LW9mZnNldC15OiAtMzU4cHg7XG4kYXJlLWZ1bGwtaG92ZXItMngtd2lkdGg6IDI5MnB4O1xuJGFyZS1mdWxsLWhvdmVyLTJ4LWhlaWdodDogMTMwcHg7XG4kYXJlLWZ1bGwtaG92ZXItMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRhcmUtZnVsbC1ob3Zlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGFyZS1mdWxsLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kYXJlLWZ1bGwtaG92ZXItMng6ICgxMTg0cHgsIDM1OHB4LCAtMTE4NHB4LCAtMzU4cHgsIDI5MnB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnYXJlLWZ1bGwtLWhvdmVyQDJ4JywgKTtcbiRhcmUtZnVsbC0yeC1uYW1lOiAnYXJlLWZ1bGxAMngnO1xuJGFyZS1mdWxsLTJ4LXg6IDI5NnB4O1xuJGFyZS1mdWxsLTJ4LXk6IDM1OHB4O1xuJGFyZS1mdWxsLTJ4LW9mZnNldC14OiAtMjk2cHg7XG4kYXJlLWZ1bGwtMngtb2Zmc2V0LXk6IC0zNThweDtcbiRhcmUtZnVsbC0yeC13aWR0aDogMjkycHg7XG4kYXJlLWZ1bGwtMngtaGVpZ2h0OiAxMzBweDtcbiRhcmUtZnVsbC0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGFyZS1mdWxsLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kYXJlLWZ1bGwtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRhcmUtZnVsbC0yeDogKDI5NnB4LCAzNThweCwgLTI5NnB4LCAtMzU4cHgsIDI5MnB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnYXJlLWZ1bGxAMngnLCApO1xuJGFyZS0yeC1uYW1lOiAnYXJlQDJ4JztcbiRhcmUtMngteDogNDA4cHg7XG4kYXJlLTJ4LXk6IDYyNnB4O1xuJGFyZS0yeC1vZmZzZXQteDogLTQwOHB4O1xuJGFyZS0yeC1vZmZzZXQteTogLTYyNnB4O1xuJGFyZS0yeC13aWR0aDogMTMycHg7XG4kYXJlLTJ4LWhlaWdodDogMTMycHg7XG4kYXJlLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kYXJlLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kYXJlLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kYXJlLTJ4OiAoNDA4cHgsIDYyNnB4LCAtNDA4cHgsIC02MjZweCwgMTMycHgsIDEzMnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdhcmVAMngnLCApO1xuJGFycm93LWhvdmVyLTJ4LW5hbWU6ICdhcnJvdy0taG92ZXJAMngnO1xuJGFycm93LWhvdmVyLTJ4LXg6IDI0NjZweDtcbiRhcnJvdy1ob3Zlci0yeC15OiA0OTJweDtcbiRhcnJvdy1ob3Zlci0yeC1vZmZzZXQteDogLTI0NjZweDtcbiRhcnJvdy1ob3Zlci0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJGFycm93LWhvdmVyLTJ4LXdpZHRoOiA4NnB4O1xuJGFycm93LWhvdmVyLTJ4LWhlaWdodDogODZweDtcbiRhcnJvdy1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGFycm93LWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kYXJyb3ctaG92ZXItMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRhcnJvdy1ob3Zlci0yeDogKDI0NjZweCwgNDkycHgsIC0yNDY2cHgsIC00OTJweCwgODZweCwgODZweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnYXJyb3ctLWhvdmVyQDJ4JywgKTtcbiRhcnJvdy0yeC1uYW1lOiAnYXJyb3dAMngnO1xuJGFycm93LTJ4LXg6IDIzNzZweDtcbiRhcnJvdy0yeC15OiA0OTJweDtcbiRhcnJvdy0yeC1vZmZzZXQteDogLTIzNzZweDtcbiRhcnJvdy0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJGFycm93LTJ4LXdpZHRoOiA4NnB4O1xuJGFycm93LTJ4LWhlaWdodDogODZweDtcbiRhcnJvdy0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGFycm93LTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kYXJyb3ctMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRhcnJvdy0yeDogKDIzNzZweCwgNDkycHgsIC0yMzc2cHgsIC00OTJweCwgODZweCwgODZweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnYXJyb3dAMngnLCApO1xuJGRlbGV0ZS1ob3Zlci0yeC1uYW1lOiAnZGVsZXRlLS1ob3ZlckAyeCc7XG4kZGVsZXRlLWhvdmVyLTJ4LXg6IDI0MTJweDtcbiRkZWxldGUtaG92ZXItMngteTogNjI2cHg7XG4kZGVsZXRlLWhvdmVyLTJ4LW9mZnNldC14OiAtMjQxMnB4O1xuJGRlbGV0ZS1ob3Zlci0yeC1vZmZzZXQteTogLTYyNnB4O1xuJGRlbGV0ZS1ob3Zlci0yeC13aWR0aDogMzJweDtcbiRkZWxldGUtaG92ZXItMngtaGVpZ2h0OiAzNHB4O1xuJGRlbGV0ZS1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGRlbGV0ZS1ob3Zlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGRlbGV0ZS1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGRlbGV0ZS1ob3Zlci0yeDogKDI0MTJweCwgNjI2cHgsIC0yNDEycHgsIC02MjZweCwgMzJweCwgMzRweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnZGVsZXRlLS1ob3ZlckAyeCcsICk7XG4kZGVsZXRlLTJ4LW5hbWU6ICdkZWxldGVAMngnO1xuJGRlbGV0ZS0yeC14OiAyNDQ4cHg7XG4kZGVsZXRlLTJ4LXk6IDYyNnB4O1xuJGRlbGV0ZS0yeC1vZmZzZXQteDogLTI0NDhweDtcbiRkZWxldGUtMngtb2Zmc2V0LXk6IC02MjZweDtcbiRkZWxldGUtMngtd2lkdGg6IDMycHg7XG4kZGVsZXRlLTJ4LWhlaWdodDogMzRweDtcbiRkZWxldGUtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRkZWxldGUtMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRkZWxldGUtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRkZWxldGUtMng6ICgyNDQ4cHgsIDYyNnB4LCAtMjQ0OHB4LCAtNjI2cHgsIDMycHgsIDM0cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ2RlbGV0ZUAyeCcsICk7XG4kZWRpdC1ob3Zlci0yeC1uYW1lOiAnZWRpdC0taG92ZXJAMngnO1xuJGVkaXQtaG92ZXItMngteDogMjM0NHB4O1xuJGVkaXQtaG92ZXItMngteTogNjg4cHg7XG4kZWRpdC1ob3Zlci0yeC1vZmZzZXQteDogLTIzNDRweDtcbiRlZGl0LWhvdmVyLTJ4LW9mZnNldC15OiAtNjg4cHg7XG4kZWRpdC1ob3Zlci0yeC13aWR0aDogNDZweDtcbiRlZGl0LWhvdmVyLTJ4LWhlaWdodDogNDZweDtcbiRlZGl0LWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kZWRpdC1ob3Zlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGVkaXQtaG92ZXItMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRlZGl0LWhvdmVyLTJ4OiAoMjM0NHB4LCA2ODhweCwgLTIzNDRweCwgLTY4OHB4LCA0NnB4LCA0NnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdlZGl0LS1ob3ZlckAyeCcsICk7XG4kZWRpdC0yeC1uYW1lOiAnZWRpdEAyeCc7XG4kZWRpdC0yeC14OiAyMzk0cHg7XG4kZWRpdC0yeC15OiA2ODhweDtcbiRlZGl0LTJ4LW9mZnNldC14OiAtMjM5NHB4O1xuJGVkaXQtMngtb2Zmc2V0LXk6IC02ODhweDtcbiRlZGl0LTJ4LXdpZHRoOiA0NnB4O1xuJGVkaXQtMngtaGVpZ2h0OiA0NnB4O1xuJGVkaXQtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRlZGl0LTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kZWRpdC0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGVkaXQtMng6ICgyMzk0cHgsIDY4OHB4LCAtMjM5NHB4LCAtNjg4cHgsIDQ2cHgsIDQ2cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ2VkaXRAMngnLCApO1xuJGVtYWlsLWFsZXJ0LWdyZXktMngtbmFtZTogJ2VtYWlsX2FsZXJ0X2dyZXlAMngnO1xuJGVtYWlsLWFsZXJ0LWdyZXktMngteDogMjI4OHB4O1xuJGVtYWlsLWFsZXJ0LWdyZXktMngteTogNjg4cHg7XG4kZW1haWwtYWxlcnQtZ3JleS0yeC1vZmZzZXQteDogLTIyODhweDtcbiRlbWFpbC1hbGVydC1ncmV5LTJ4LW9mZnNldC15OiAtNjg4cHg7XG4kZW1haWwtYWxlcnQtZ3JleS0yeC13aWR0aDogNTJweDtcbiRlbWFpbC1hbGVydC1ncmV5LTJ4LWhlaWdodDogNDhweDtcbiRlbWFpbC1hbGVydC1ncmV5LTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kZW1haWwtYWxlcnQtZ3JleS0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGVtYWlsLWFsZXJ0LWdyZXktMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRlbWFpbC1hbGVydC1ncmV5LTJ4OiAoMjI4OHB4LCA2ODhweCwgLTIyODhweCwgLTY4OHB4LCA1MnB4LCA0OHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdlbWFpbF9hbGVydF9ncmV5QDJ4JywgKTtcbiRlbWFpbC1hbGVydC1yZWQtMngtbmFtZTogJ2VtYWlsX2FsZXJ0X3JlZEAyeCc7XG4kZW1haWwtYWxlcnQtcmVkLTJ4LXg6IDIxNzZweDtcbiRlbWFpbC1hbGVydC1yZWQtMngteTogNjg4cHg7XG4kZW1haWwtYWxlcnQtcmVkLTJ4LW9mZnNldC14OiAtMjE3NnB4O1xuJGVtYWlsLWFsZXJ0LXJlZC0yeC1vZmZzZXQteTogLTY4OHB4O1xuJGVtYWlsLWFsZXJ0LXJlZC0yeC13aWR0aDogNTJweDtcbiRlbWFpbC1hbGVydC1yZWQtMngtaGVpZ2h0OiA0OHB4O1xuJGVtYWlsLWFsZXJ0LXJlZC0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGVtYWlsLWFsZXJ0LXJlZC0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGVtYWlsLWFsZXJ0LXJlZC0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGVtYWlsLWFsZXJ0LXJlZC0yeDogKDIxNzZweCwgNjg4cHgsIC0yMTc2cHgsIC02ODhweCwgNTJweCwgNDhweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnZW1haWxfYWxlcnRfcmVkQDJ4JywgKTtcbiRlbWFpbC1hbGVydC13aGl0ZS0yeC1uYW1lOiAnZW1haWxfYWxlcnRfd2hpdGVAMngnO1xuJGVtYWlsLWFsZXJ0LXdoaXRlLTJ4LXg6IDIyMzJweDtcbiRlbWFpbC1hbGVydC13aGl0ZS0yeC15OiA2ODhweDtcbiRlbWFpbC1hbGVydC13aGl0ZS0yeC1vZmZzZXQteDogLTIyMzJweDtcbiRlbWFpbC1hbGVydC13aGl0ZS0yeC1vZmZzZXQteTogLTY4OHB4O1xuJGVtYWlsLWFsZXJ0LXdoaXRlLTJ4LXdpZHRoOiA1MnB4O1xuJGVtYWlsLWFsZXJ0LXdoaXRlLTJ4LWhlaWdodDogNDhweDtcbiRlbWFpbC1hbGVydC13aGl0ZS0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGVtYWlsLWFsZXJ0LXdoaXRlLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kZW1haWwtYWxlcnQtd2hpdGUtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRlbWFpbC1hbGVydC13aGl0ZS0yeDogKDIyMzJweCwgNjg4cHgsIC0yMjMycHgsIC02ODhweCwgNTJweCwgNDhweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnZW1haWxfYWxlcnRfd2hpdGVAMngnLCApO1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci0yeC1uYW1lOiAnZXN0YXRlX2FnZW50LS1ob3ZlckAyeCc7XG4kZXN0YXRlLWFnZW50LWhvdmVyLTJ4LXg6IDc3MHB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci0yeC15OiA0OTJweDtcbiRlc3RhdGUtYWdlbnQtaG92ZXItMngtb2Zmc2V0LXg6IC03NzBweDtcbiRlc3RhdGUtYWdlbnQtaG92ZXItMngtb2Zmc2V0LXk6IC00OTJweDtcbiRlc3RhdGUtYWdlbnQtaG92ZXItMngtd2lkdGg6IDExOHB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci0yeC1oZWlnaHQ6IDExOHB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGVzdGF0ZS1hZ2VudC1ob3Zlci0yeDogKDc3MHB4LCA0OTJweCwgLTc3MHB4LCAtNDkycHgsIDExOHB4LCAxMThweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnZXN0YXRlX2FnZW50LS1ob3ZlckAyeCcsICk7XG4kZXN0YXRlLWFnZW50LTJ4LW5hbWU6ICdlc3RhdGVfYWdlbnRAMngnO1xuJGVzdGF0ZS1hZ2VudC0yeC14OiA2NDhweDtcbiRlc3RhdGUtYWdlbnQtMngteTogNDkycHg7XG4kZXN0YXRlLWFnZW50LTJ4LW9mZnNldC14OiAtNjQ4cHg7XG4kZXN0YXRlLWFnZW50LTJ4LW9mZnNldC15OiAtNDkycHg7XG4kZXN0YXRlLWFnZW50LTJ4LXdpZHRoOiAxMThweDtcbiRlc3RhdGUtYWdlbnQtMngtaGVpZ2h0OiAxMThweDtcbiRlc3RhdGUtYWdlbnQtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRlc3RhdGUtYWdlbnQtMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRlc3RhdGUtYWdlbnQtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRlc3RhdGUtYWdlbnQtMng6ICg2NDhweCwgNDkycHgsIC02NDhweCwgLTQ5MnB4LCAxMThweCwgMTE4cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ2VzdGF0ZV9hZ2VudEAyeCcsICk7XG4kZmFjZWJvb2staG92ZXItMngtbmFtZTogJ2ZhY2Vib29rLS1ob3ZlckAyeCc7XG4kZmFjZWJvb2staG92ZXItMngteDogMTY4NnB4O1xuJGZhY2Vib29rLWhvdmVyLTJ4LXk6IDQ5MnB4O1xuJGZhY2Vib29rLWhvdmVyLTJ4LW9mZnNldC14OiAtMTY4NnB4O1xuJGZhY2Vib29rLWhvdmVyLTJ4LW9mZnNldC15OiAtNDkycHg7XG4kZmFjZWJvb2staG92ZXItMngtd2lkdGg6IDk4cHg7XG4kZmFjZWJvb2staG92ZXItMngtaGVpZ2h0OiA5OHB4O1xuJGZhY2Vib29rLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kZmFjZWJvb2staG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRmYWNlYm9vay1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGZhY2Vib29rLWhvdmVyLTJ4OiAoMTY4NnB4LCA0OTJweCwgLTE2ODZweCwgLTQ5MnB4LCA5OHB4LCA5OHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdmYWNlYm9vay0taG92ZXJAMngnLCApO1xuJGZhY2Vib29rLTJ4LW5hbWU6ICdmYWNlYm9va0AyeCc7XG4kZmFjZWJvb2stMngteDogMTU4NHB4O1xuJGZhY2Vib29rLTJ4LXk6IDQ5MnB4O1xuJGZhY2Vib29rLTJ4LW9mZnNldC14OiAtMTU4NHB4O1xuJGZhY2Vib29rLTJ4LW9mZnNldC15OiAtNDkycHg7XG4kZmFjZWJvb2stMngtd2lkdGg6IDk4cHg7XG4kZmFjZWJvb2stMngtaGVpZ2h0OiA5OHB4O1xuJGZhY2Vib29rLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kZmFjZWJvb2stMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRmYWNlYm9vay0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGZhY2Vib29rLTJ4OiAoMTU4NHB4LCA0OTJweCwgLTE1ODRweCwgLTQ5MnB4LCA5OHB4LCA5OHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdmYWNlYm9va0AyeCcsICk7XG4kZm9yZ290LXB3LWhvdmVyLTJ4LW5hbWU6ICdmb3Jnb3RfcHctLWhvdmVyQDJ4JztcbiRmb3Jnb3QtcHctaG92ZXItMngteDogMjcycHg7XG4kZm9yZ290LXB3LWhvdmVyLTJ4LXk6IDQ5MnB4O1xuJGZvcmdvdC1wdy1ob3Zlci0yeC1vZmZzZXQteDogLTI3MnB4O1xuJGZvcmdvdC1wdy1ob3Zlci0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJGZvcmdvdC1wdy1ob3Zlci0yeC13aWR0aDogMTI4cHg7XG4kZm9yZ290LXB3LWhvdmVyLTJ4LWhlaWdodDogMTMwcHg7XG4kZm9yZ290LXB3LWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kZm9yZ290LXB3LWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kZm9yZ290LXB3LWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kZm9yZ290LXB3LWhvdmVyLTJ4OiAoMjcycHgsIDQ5MnB4LCAtMjcycHgsIC00OTJweCwgMTI4cHgsIDEzMHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdmb3Jnb3RfcHctLWhvdmVyQDJ4JywgKTtcbiRmb3Jnb3QtcHctMngtbmFtZTogJ2ZvcmdvdF9wd0AyeCc7XG4kZm9yZ290LXB3LTJ4LXg6IDE0MHB4O1xuJGZvcmdvdC1wdy0yeC15OiA0OTJweDtcbiRmb3Jnb3QtcHctMngtb2Zmc2V0LXg6IC0xNDBweDtcbiRmb3Jnb3QtcHctMngtb2Zmc2V0LXk6IC00OTJweDtcbiRmb3Jnb3QtcHctMngtd2lkdGg6IDEyOHB4O1xuJGZvcmdvdC1wdy0yeC1oZWlnaHQ6IDEzMHB4O1xuJGZvcmdvdC1wdy0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGZvcmdvdC1wdy0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGZvcmdvdC1wdy0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGZvcmdvdC1wdy0yeDogKDE0MHB4LCA0OTJweCwgLTE0MHB4LCAtNDkycHgsIDEyOHB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnZm9yZ290X3B3QDJ4JywgKTtcbiRmcmVlLTJ4LW5hbWU6ICdmcmVlQDJ4JztcbiRmcmVlLTJ4LXg6IDIyODJweDtcbiRmcmVlLTJ4LXk6IDQ5MnB4O1xuJGZyZWUtMngtb2Zmc2V0LXg6IC0yMjgycHg7XG4kZnJlZS0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJGZyZWUtMngtd2lkdGg6IDkwcHg7XG4kZnJlZS0yeC1oZWlnaHQ6IDkycHg7XG4kZnJlZS0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGZyZWUtMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRmcmVlLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kZnJlZS0yeDogKDIyODJweCwgNDkycHgsIC0yMjgycHgsIC00OTJweCwgOTBweCwgOTJweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnZnJlZUAyeCcsICk7XG4kZ29vZ2xlcGx1cy1ob3Zlci0yeC1uYW1lOiAnZ29vZ2xlcGx1cy0taG92ZXJAMngnO1xuJGdvb2dsZXBsdXMtaG92ZXItMngteDogMTk5MnB4O1xuJGdvb2dsZXBsdXMtaG92ZXItMngteTogNDkycHg7XG4kZ29vZ2xlcGx1cy1ob3Zlci0yeC1vZmZzZXQteDogLTE5OTJweDtcbiRnb29nbGVwbHVzLWhvdmVyLTJ4LW9mZnNldC15OiAtNDkycHg7XG4kZ29vZ2xlcGx1cy1ob3Zlci0yeC13aWR0aDogOThweDtcbiRnb29nbGVwbHVzLWhvdmVyLTJ4LWhlaWdodDogOThweDtcbiRnb29nbGVwbHVzLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kZ29vZ2xlcGx1cy1ob3Zlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGdvb2dsZXBsdXMtaG92ZXItMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRnb29nbGVwbHVzLWhvdmVyLTJ4OiAoMTk5MnB4LCA0OTJweCwgLTE5OTJweCwgLTQ5MnB4LCA5OHB4LCA5OHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdnb29nbGVwbHVzLS1ob3ZlckAyeCcsICk7XG4kZ29vZ2xlcGx1cy0yeC1uYW1lOiAnZ29vZ2xlcGx1c0AyeCc7XG4kZ29vZ2xlcGx1cy0yeC14OiAyNDcwcHg7XG4kZ29vZ2xlcGx1cy0yeC15OiAzNThweDtcbiRnb29nbGVwbHVzLTJ4LW9mZnNldC14OiAtMjQ3MHB4O1xuJGdvb2dsZXBsdXMtMngtb2Zmc2V0LXk6IC0zNThweDtcbiRnb29nbGVwbHVzLTJ4LXdpZHRoOiA5OHB4O1xuJGdvb2dsZXBsdXMtMngtaGVpZ2h0OiA5OHB4O1xuJGdvb2dsZXBsdXMtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRnb29nbGVwbHVzLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kZ29vZ2xlcGx1cy0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGdvb2dsZXBsdXMtMng6ICgyNDcwcHgsIDM1OHB4LCAtMjQ3MHB4LCAtMzU4cHgsIDk4cHgsIDk4cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ2dvb2dsZXBsdXNAMngnLCApO1xuJGhpZGUtaG92ZXItMngtbmFtZTogJ2hpZGUtLWhvdmVyQDJ4JztcbiRoaWRlLWhvdmVyLTJ4LXg6IDBweDtcbiRoaWRlLWhvdmVyLTJ4LXk6IDc2MnB4O1xuJGhpZGUtaG92ZXItMngtb2Zmc2V0LXg6IDBweDtcbiRoaWRlLWhvdmVyLTJ4LW9mZnNldC15OiAtNzYycHg7XG4kaGlkZS1ob3Zlci0yeC13aWR0aDogMzhweDtcbiRoaWRlLWhvdmVyLTJ4LWhlaWdodDogNTJweDtcbiRoaWRlLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kaGlkZS1ob3Zlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGhpZGUtaG92ZXItMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRoaWRlLWhvdmVyLTJ4OiAoMHB4LCA3NjJweCwgMHB4LCAtNzYycHgsIDM4cHgsIDUycHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ2hpZGUtLWhvdmVyQDJ4JywgKTtcbiRoaWRlLTJ4LW5hbWU6ICdoaWRlQDJ4JztcbiRoaWRlLTJ4LXg6IDQycHg7XG4kaGlkZS0yeC15OiA3NjJweDtcbiRoaWRlLTJ4LW9mZnNldC14OiAtNDJweDtcbiRoaWRlLTJ4LW9mZnNldC15OiAtNzYycHg7XG4kaGlkZS0yeC13aWR0aDogMzhweDtcbiRoaWRlLTJ4LWhlaWdodDogNTJweDtcbiRoaWRlLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kaGlkZS0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGhpZGUtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRoaWRlLTJ4OiAoNDJweCwgNzYycHgsIC00MnB4LCAtNzYycHgsIDM4cHgsIDUycHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ2hpZGVAMngnLCApO1xuJGxvZ2luLWhvdmVyLTJ4LW5hbWU6ICdsb2dpbi0taG92ZXJAMngnO1xuJGxvZ2luLWhvdmVyLTJ4LXg6IDEyNThweDtcbiRsb2dpbi1ob3Zlci0yeC15OiA0OTJweDtcbiRsb2dpbi1ob3Zlci0yeC1vZmZzZXQteDogLTEyNThweDtcbiRsb2dpbi1ob3Zlci0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJGxvZ2luLWhvdmVyLTJ4LXdpZHRoOiAxMThweDtcbiRsb2dpbi1ob3Zlci0yeC1oZWlnaHQ6IDExNnB4O1xuJGxvZ2luLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kbG9naW4taG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRsb2dpbi1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGxvZ2luLWhvdmVyLTJ4OiAoMTI1OHB4LCA0OTJweCwgLTEyNThweCwgLTQ5MnB4LCAxMThweCwgMTE2cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ2xvZ2luLS1ob3ZlckAyeCcsICk7XG4kbG9naW4tMngtbmFtZTogJ2xvZ2luQDJ4JztcbiRsb2dpbi0yeC14OiA4OTJweDtcbiRsb2dpbi0yeC15OiA0OTJweDtcbiRsb2dpbi0yeC1vZmZzZXQteDogLTg5MnB4O1xuJGxvZ2luLTJ4LW9mZnNldC15OiAtNDkycHg7XG4kbG9naW4tMngtd2lkdGg6IDExOHB4O1xuJGxvZ2luLTJ4LWhlaWdodDogMTE2cHg7XG4kbG9naW4tMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRsb2dpbi0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJGxvZ2luLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kbG9naW4tMng6ICg4OTJweCwgNDkycHgsIC04OTJweCwgLTQ5MnB4LCAxMThweCwgMTE2cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ2xvZ2luQDJ4JywgKTtcbiRscDRmLWhvdmVyLTJ4LW5hbWU6ICdscDRmLS1ob3ZlckAyeCc7XG4kbHA0Zi1ob3Zlci0yeC14OiAyMzE4cHg7XG4kbHA0Zi1ob3Zlci0yeC15OiAyMjRweDtcbiRscDRmLWhvdmVyLTJ4LW9mZnNldC14OiAtMjMxOHB4O1xuJGxwNGYtaG92ZXItMngtb2Zmc2V0LXk6IC0yMjRweDtcbiRscDRmLWhvdmVyLTJ4LXdpZHRoOiAyNTRweDtcbiRscDRmLWhvdmVyLTJ4LWhlaWdodDogMTMwcHg7XG4kbHA0Zi1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGxwNGYtaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRscDRmLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kbHA0Zi1ob3Zlci0yeDogKDIzMThweCwgMjI0cHgsIC0yMzE4cHgsIC0yMjRweCwgMjU0cHgsIDEzMHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdscDRmLS1ob3ZlckAyeCcsICk7XG4kbHA0Zi1mdWxsLWhvdmVyLTJ4LW5hbWU6ICdscDRmLWZ1bGwtLWhvdmVyQDJ4JztcbiRscDRmLWZ1bGwtaG92ZXItMngteDogNDE4cHg7XG4kbHA0Zi1mdWxsLWhvdmVyLTJ4LXk6IDIyNHB4O1xuJGxwNGYtZnVsbC1ob3Zlci0yeC1vZmZzZXQteDogLTQxOHB4O1xuJGxwNGYtZnVsbC1ob3Zlci0yeC1vZmZzZXQteTogLTIyNHB4O1xuJGxwNGYtZnVsbC1ob3Zlci0yeC13aWR0aDogNDE0cHg7XG4kbHA0Zi1mdWxsLWhvdmVyLTJ4LWhlaWdodDogMTMwcHg7XG4kbHA0Zi1mdWxsLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kbHA0Zi1mdWxsLWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kbHA0Zi1mdWxsLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kbHA0Zi1mdWxsLWhvdmVyLTJ4OiAoNDE4cHgsIDIyNHB4LCAtNDE4cHgsIC0yMjRweCwgNDE0cHgsIDEzMHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdscDRmLWZ1bGwtLWhvdmVyQDJ4JywgKTtcbiRscDRmLWZ1bGwtMngtbmFtZTogJ2xwNGYtZnVsbEAyeCc7XG4kbHA0Zi1mdWxsLTJ4LXg6IDBweDtcbiRscDRmLWZ1bGwtMngteTogMjI0cHg7XG4kbHA0Zi1mdWxsLTJ4LW9mZnNldC14OiAwcHg7XG4kbHA0Zi1mdWxsLTJ4LW9mZnNldC15OiAtMjI0cHg7XG4kbHA0Zi1mdWxsLTJ4LXdpZHRoOiA0MTRweDtcbiRscDRmLWZ1bGwtMngtaGVpZ2h0OiAxMzBweDtcbiRscDRmLWZ1bGwtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRscDRmLWZ1bGwtMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRscDRmLWZ1bGwtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRscDRmLWZ1bGwtMng6ICgwcHgsIDIyNHB4LCAwcHgsIC0yMjRweCwgNDE0cHgsIDEzMHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdscDRmLWZ1bGxAMngnLCApO1xuJGxwNGYtc2ltcGxlLWhvdmVyLTJ4LW5hbWU6ICdscDRmLXNpbXBsZS0taG92ZXJAMngnO1xuJGxwNGYtc2ltcGxlLWhvdmVyLTJ4LXg6IDEzNjBweDtcbiRscDRmLXNpbXBsZS1ob3Zlci0yeC15OiA2MjZweDtcbiRscDRmLXNpbXBsZS1ob3Zlci0yeC1vZmZzZXQteDogLTEzNjBweDtcbiRscDRmLXNpbXBsZS1ob3Zlci0yeC1vZmZzZXQteTogLTYyNnB4O1xuJGxwNGYtc2ltcGxlLWhvdmVyLTJ4LXdpZHRoOiAxMzJweDtcbiRscDRmLXNpbXBsZS1ob3Zlci0yeC1oZWlnaHQ6IDEzMnB4O1xuJGxwNGYtc2ltcGxlLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kbHA0Zi1zaW1wbGUtaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRscDRmLXNpbXBsZS1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJGxwNGYtc2ltcGxlLWhvdmVyLTJ4OiAoMTM2MHB4LCA2MjZweCwgLTEzNjBweCwgLTYyNnB4LCAxMzJweCwgMTMycHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ2xwNGYtc2ltcGxlLS1ob3ZlckAyeCcsICk7XG4kbHA0Zi1zaW1wbGUtMngtbmFtZTogJ2xwNGYtc2ltcGxlQDJ4JztcbiRscDRmLXNpbXBsZS0yeC14OiAxNDk2cHg7XG4kbHA0Zi1zaW1wbGUtMngteTogNjI2cHg7XG4kbHA0Zi1zaW1wbGUtMngtb2Zmc2V0LXg6IC0xNDk2cHg7XG4kbHA0Zi1zaW1wbGUtMngtb2Zmc2V0LXk6IC02MjZweDtcbiRscDRmLXNpbXBsZS0yeC13aWR0aDogMTMycHg7XG4kbHA0Zi1zaW1wbGUtMngtaGVpZ2h0OiAxMzJweDtcbiRscDRmLXNpbXBsZS0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGxwNGYtc2ltcGxlLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kbHA0Zi1zaW1wbGUtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRscDRmLXNpbXBsZS0yeDogKDE0OTZweCwgNjI2cHgsIC0xNDk2cHgsIC02MjZweCwgMTMycHgsIDEzMnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdscDRmLXNpbXBsZUAyeCcsICk7XG4kbHA0Zi0yeC1uYW1lOiAnbHA0ZkAyeCc7XG4kbHA0Zi0yeC14OiAyMDcycHg7XG4kbHA0Zi0yeC15OiAzNThweDtcbiRscDRmLTJ4LW9mZnNldC14OiAtMjA3MnB4O1xuJGxwNGYtMngtb2Zmc2V0LXk6IC0zNThweDtcbiRscDRmLTJ4LXdpZHRoOiAyNTRweDtcbiRscDRmLTJ4LWhlaWdodDogMTMwcHg7XG4kbHA0Zi0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJGxwNGYtMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRscDRmLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kbHA0Zi0yeDogKDIwNzJweCwgMzU4cHgsIC0yMDcycHgsIC0zNThweCwgMjU0cHgsIDEzMHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdscDRmQDJ4JywgKTtcbiRteWFkcy1ob3Zlci0yeC1uYW1lOiAnbXlhZHMtLWhvdmVyQDJ4JztcbiRteWFkcy1ob3Zlci0yeC14OiAxNzY4cHg7XG4kbXlhZHMtaG92ZXItMngteTogNjI2cHg7XG4kbXlhZHMtaG92ZXItMngtb2Zmc2V0LXg6IC0xNzY4cHg7XG4kbXlhZHMtaG92ZXItMngtb2Zmc2V0LXk6IC02MjZweDtcbiRteWFkcy1ob3Zlci0yeC13aWR0aDogMTMycHg7XG4kbXlhZHMtaG92ZXItMngtaGVpZ2h0OiAxMzJweDtcbiRteWFkcy1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJG15YWRzLWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kbXlhZHMtaG92ZXItMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRteWFkcy1ob3Zlci0yeDogKDE3NjhweCwgNjI2cHgsIC0xNzY4cHgsIC02MjZweCwgMTMycHgsIDEzMnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdteWFkcy0taG92ZXJAMngnLCApO1xuJG15YWRzLTJ4LW5hbWU6ICdteWFkc0AyeCc7XG4kbXlhZHMtMngteDogMTkwNHB4O1xuJG15YWRzLTJ4LXk6IDYyNnB4O1xuJG15YWRzLTJ4LW9mZnNldC14OiAtMTkwNHB4O1xuJG15YWRzLTJ4LW9mZnNldC15OiAtNjI2cHg7XG4kbXlhZHMtMngtd2lkdGg6IDEzMnB4O1xuJG15YWRzLTJ4LWhlaWdodDogMTMycHg7XG4kbXlhZHMtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRteWFkcy0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJG15YWRzLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kbXlhZHMtMng6ICgxOTA0cHgsIDYyNnB4LCAtMTkwNHB4LCAtNjI2cHgsIDEzMnB4LCAxMzJweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnbXlhZHNAMngnLCApO1xuJG5ldy1oZXJlLWhvdmVyLTJ4LW5hbWU6ICduZXdfaGVyZS0taG92ZXJAMngnO1xuJG5ldy1oZXJlLWhvdmVyLTJ4LXg6IDIzMzBweDtcbiRuZXctaGVyZS1ob3Zlci0yeC15OiAzNThweDtcbiRuZXctaGVyZS1ob3Zlci0yeC1vZmZzZXQteDogLTIzMzBweDtcbiRuZXctaGVyZS1ob3Zlci0yeC1vZmZzZXQteTogLTM1OHB4O1xuJG5ldy1oZXJlLWhvdmVyLTJ4LXdpZHRoOiAxMzZweDtcbiRuZXctaGVyZS1ob3Zlci0yeC1oZWlnaHQ6IDEzMHB4O1xuJG5ldy1oZXJlLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kbmV3LWhlcmUtaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRuZXctaGVyZS1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJG5ldy1oZXJlLWhvdmVyLTJ4OiAoMjMzMHB4LCAzNThweCwgLTIzMzBweCwgLTM1OHB4LCAxMzZweCwgMTMwcHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ25ld19oZXJlLS1ob3ZlckAyeCcsICk7XG4kbmV3LWhlcmUtMngtbmFtZTogJ25ld19oZXJlQDJ4JztcbiRuZXctaGVyZS0yeC14OiAwcHg7XG4kbmV3LWhlcmUtMngteTogNDkycHg7XG4kbmV3LWhlcmUtMngtb2Zmc2V0LXg6IDBweDtcbiRuZXctaGVyZS0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJG5ldy1oZXJlLTJ4LXdpZHRoOiAxMzZweDtcbiRuZXctaGVyZS0yeC1oZWlnaHQ6IDEzMHB4O1xuJG5ldy1oZXJlLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kbmV3LWhlcmUtMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRuZXctaGVyZS0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJG5ldy1oZXJlLTJ4OiAoMHB4LCA0OTJweCwgMHB4LCAtNDkycHgsIDEzNnB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnbmV3X2hlcmVAMngnLCApO1xuJHBhbXAtaG92ZXItMngtbmFtZTogJ3BhbXAtLWhvdmVyQDJ4JztcbiRwYW1wLWhvdmVyLTJ4LXg6IDBweDtcbiRwYW1wLWhvdmVyLTJ4LXk6IDYyNnB4O1xuJHBhbXAtaG92ZXItMngtb2Zmc2V0LXg6IDBweDtcbiRwYW1wLWhvdmVyLTJ4LW9mZnNldC15OiAtNjI2cHg7XG4kcGFtcC1ob3Zlci0yeC13aWR0aDogMTMycHg7XG4kcGFtcC1ob3Zlci0yeC1oZWlnaHQ6IDEzMnB4O1xuJHBhbXAtaG92ZXItMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwYW1wLWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kcGFtcC1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHBhbXAtaG92ZXItMng6ICgwcHgsIDYyNnB4LCAwcHgsIC02MjZweCwgMTMycHgsIDEzMnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdwYW1wLS1ob3ZlckAyeCcsICk7XG4kcGFtcC1mdWxsLWhvdmVyLTJ4LW5hbWU6ICdwYW1wLWZ1bGwtLWhvdmVyQDJ4JztcbiRwYW1wLWZ1bGwtaG92ZXItMngteDogODg4cHg7XG4kcGFtcC1mdWxsLWhvdmVyLTJ4LXk6IDM1OHB4O1xuJHBhbXAtZnVsbC1ob3Zlci0yeC1vZmZzZXQteDogLTg4OHB4O1xuJHBhbXAtZnVsbC1ob3Zlci0yeC1vZmZzZXQteTogLTM1OHB4O1xuJHBhbXAtZnVsbC1ob3Zlci0yeC13aWR0aDogMjkycHg7XG4kcGFtcC1mdWxsLWhvdmVyLTJ4LWhlaWdodDogMTMwcHg7XG4kcGFtcC1mdWxsLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kcGFtcC1mdWxsLWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kcGFtcC1mdWxsLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcGFtcC1mdWxsLWhvdmVyLTJ4OiAoODg4cHgsIDM1OHB4LCAtODg4cHgsIC0zNThweCwgMjkycHgsIDEzMHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdwYW1wLWZ1bGwtLWhvdmVyQDJ4JywgKTtcbiRwYW1wLWZ1bGwtMngtbmFtZTogJ3BhbXAtZnVsbEAyeCc7XG4kcGFtcC1mdWxsLTJ4LXg6IDU5MnB4O1xuJHBhbXAtZnVsbC0yeC15OiAzNThweDtcbiRwYW1wLWZ1bGwtMngtb2Zmc2V0LXg6IC01OTJweDtcbiRwYW1wLWZ1bGwtMngtb2Zmc2V0LXk6IC0zNThweDtcbiRwYW1wLWZ1bGwtMngtd2lkdGg6IDI5MnB4O1xuJHBhbXAtZnVsbC0yeC1oZWlnaHQ6IDEzMHB4O1xuJHBhbXAtZnVsbC0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHBhbXAtZnVsbC0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHBhbXAtZnVsbC0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHBhbXAtZnVsbC0yeDogKDU5MnB4LCAzNThweCwgLTU5MnB4LCAtMzU4cHgsIDI5MnB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncGFtcC1mdWxsQDJ4JywgKTtcbiRwYW1wLTJ4LW5hbWU6ICdwYW1wQDJ4JztcbiRwYW1wLTJ4LXg6IDI3MnB4O1xuJHBhbXAtMngteTogNjI2cHg7XG4kcGFtcC0yeC1vZmZzZXQteDogLTI3MnB4O1xuJHBhbXAtMngtb2Zmc2V0LXk6IC02MjZweDtcbiRwYW1wLTJ4LXdpZHRoOiAxMzJweDtcbiRwYW1wLTJ4LWhlaWdodDogMTMycHg7XG4kcGFtcC0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHBhbXAtMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRwYW1wLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcGFtcC0yeDogKDI3MnB4LCA2MjZweCwgLTI3MnB4LCAtNjI2cHgsIDEzMnB4LCAxMzJweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncGFtcEAyeCcsICk7XG4kcGhvdG9zLWhvdmVyLTJ4LW5hbWU6ICdwaG90b3MtLWhvdmVyQDJ4JztcbiRwaG90b3MtaG92ZXItMngteDogMjI4NHB4O1xuJHBob3Rvcy1ob3Zlci0yeC15OiA2MjZweDtcbiRwaG90b3MtaG92ZXItMngtb2Zmc2V0LXg6IC0yMjg0cHg7XG4kcGhvdG9zLWhvdmVyLTJ4LW9mZnNldC15OiAtNjI2cHg7XG4kcGhvdG9zLWhvdmVyLTJ4LXdpZHRoOiA2MHB4O1xuJHBob3Rvcy1ob3Zlci0yeC1oZWlnaHQ6IDQycHg7XG4kcGhvdG9zLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kcGhvdG9zLWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kcGhvdG9zLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcGhvdG9zLWhvdmVyLTJ4OiAoMjI4NHB4LCA2MjZweCwgLTIyODRweCwgLTYyNnB4LCA2MHB4LCA0MnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdwaG90b3MtLWhvdmVyQDJ4JywgKTtcbiRwaG90b3MtMngtbmFtZTogJ3Bob3Rvc0AyeCc7XG4kcGhvdG9zLTJ4LXg6IDIzNDhweDtcbiRwaG90b3MtMngteTogNjI2cHg7XG4kcGhvdG9zLTJ4LW9mZnNldC14OiAtMjM0OHB4O1xuJHBob3Rvcy0yeC1vZmZzZXQteTogLTYyNnB4O1xuJHBob3Rvcy0yeC13aWR0aDogNjBweDtcbiRwaG90b3MtMngtaGVpZ2h0OiA0MnB4O1xuJHBob3Rvcy0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHBob3Rvcy0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHBob3Rvcy0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHBob3Rvcy0yeDogKDIzNDhweCwgNjI2cHgsIC0yMzQ4cHgsIC02MjZweCwgNjBweCwgNDJweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncGhvdG9zQDJ4JywgKTtcbiRwcml2YXRlLXNlbGxlci1ob3Zlci0yeC1uYW1lOiAncHJpdmF0ZV9zZWxsZXItLWhvdmVyQDJ4JztcbiRwcml2YXRlLXNlbGxlci1ob3Zlci0yeC14OiA0MDRweDtcbiRwcml2YXRlLXNlbGxlci1ob3Zlci0yeC15OiA0OTJweDtcbiRwcml2YXRlLXNlbGxlci1ob3Zlci0yeC1vZmZzZXQteDogLTQwNHB4O1xuJHByaXZhdGUtc2VsbGVyLWhvdmVyLTJ4LW9mZnNldC15OiAtNDkycHg7XG4kcHJpdmF0ZS1zZWxsZXItaG92ZXItMngtd2lkdGg6IDExOHB4O1xuJHByaXZhdGUtc2VsbGVyLWhvdmVyLTJ4LWhlaWdodDogMTE4cHg7XG4kcHJpdmF0ZS1zZWxsZXItaG92ZXItMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwcml2YXRlLXNlbGxlci1ob3Zlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHByaXZhdGUtc2VsbGVyLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcHJpdmF0ZS1zZWxsZXItaG92ZXItMng6ICg0MDRweCwgNDkycHgsIC00MDRweCwgLTQ5MnB4LCAxMThweCwgMTE4cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3ByaXZhdGVfc2VsbGVyLS1ob3ZlckAyeCcsICk7XG4kcHJpdmF0ZS1zZWxsZXItMngtbmFtZTogJ3ByaXZhdGVfc2VsbGVyQDJ4JztcbiRwcml2YXRlLXNlbGxlci0yeC14OiA1MjZweDtcbiRwcml2YXRlLXNlbGxlci0yeC15OiA0OTJweDtcbiRwcml2YXRlLXNlbGxlci0yeC1vZmZzZXQteDogLTUyNnB4O1xuJHByaXZhdGUtc2VsbGVyLTJ4LW9mZnNldC15OiAtNDkycHg7XG4kcHJpdmF0ZS1zZWxsZXItMngtd2lkdGg6IDExOHB4O1xuJHByaXZhdGUtc2VsbGVyLTJ4LWhlaWdodDogMTE4cHg7XG4kcHJpdmF0ZS1zZWxsZXItMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwcml2YXRlLXNlbGxlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHByaXZhdGUtc2VsbGVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcHJpdmF0ZS1zZWxsZXItMng6ICg1MjZweCwgNDkycHgsIC01MjZweCwgLTQ5MnB4LCAxMThweCwgMTE4cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3ByaXZhdGVfc2VsbGVyQDJ4JywgKTtcbiRwdTEwMGstaG92ZXItMngtbmFtZTogJ3B1MTAway0taG92ZXJAMngnO1xuJHB1MTAway1ob3Zlci0yeC14OiAxMzZweDtcbiRwdTEwMGstaG92ZXItMngteTogNjI2cHg7XG4kcHUxMDBrLWhvdmVyLTJ4LW9mZnNldC14OiAtMTM2cHg7XG4kcHUxMDBrLWhvdmVyLTJ4LW9mZnNldC15OiAtNjI2cHg7XG4kcHUxMDBrLWhvdmVyLTJ4LXdpZHRoOiAxMzJweDtcbiRwdTEwMGstaG92ZXItMngtaGVpZ2h0OiAxMzJweDtcbiRwdTEwMGstaG92ZXItMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwdTEwMGstaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRwdTEwMGstaG92ZXItMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRwdTEwMGstaG92ZXItMng6ICgxMzZweCwgNjI2cHgsIC0xMzZweCwgLTYyNnB4LCAxMzJweCwgMTMycHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3B1MTAway0taG92ZXJAMngnLCApO1xuJHB1MTAway1mdWxsLWhvdmVyLTJ4LW5hbWU6ICdwdTEwMGstZnVsbC0taG92ZXJAMngnO1xuJHB1MTAway1mdWxsLWhvdmVyLTJ4LXg6IDE0ODBweDtcbiRwdTEwMGstZnVsbC1ob3Zlci0yeC15OiAzNThweDtcbiRwdTEwMGstZnVsbC1ob3Zlci0yeC1vZmZzZXQteDogLTE0ODBweDtcbiRwdTEwMGstZnVsbC1ob3Zlci0yeC1vZmZzZXQteTogLTM1OHB4O1xuJHB1MTAway1mdWxsLWhvdmVyLTJ4LXdpZHRoOiAyOTJweDtcbiRwdTEwMGstZnVsbC1ob3Zlci0yeC1oZWlnaHQ6IDEzMHB4O1xuJHB1MTAway1mdWxsLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kcHUxMDBrLWZ1bGwtaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRwdTEwMGstZnVsbC1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHB1MTAway1mdWxsLWhvdmVyLTJ4OiAoMTQ4MHB4LCAzNThweCwgLTE0ODBweCwgLTM1OHB4LCAyOTJweCwgMTMwcHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3B1MTAway1mdWxsLS1ob3ZlckAyeCcsICk7XG4kcHUxMDBrLWZ1bGwtMngtbmFtZTogJ3B1MTAway1mdWxsQDJ4JztcbiRwdTEwMGstZnVsbC0yeC14OiAxMTM0cHg7XG4kcHUxMDBrLWZ1bGwtMngteTogMjI0cHg7XG4kcHUxMDBrLWZ1bGwtMngtb2Zmc2V0LXg6IC0xMTM0cHg7XG4kcHUxMDBrLWZ1bGwtMngtb2Zmc2V0LXk6IC0yMjRweDtcbiRwdTEwMGstZnVsbC0yeC13aWR0aDogMjkycHg7XG4kcHUxMDBrLWZ1bGwtMngtaGVpZ2h0OiAxMzBweDtcbiRwdTEwMGstZnVsbC0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHB1MTAway1mdWxsLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kcHUxMDBrLWZ1bGwtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRwdTEwMGstZnVsbC0yeDogKDExMzRweCwgMjI0cHgsIC0xMTM0cHgsIC0yMjRweCwgMjkycHgsIDEzMHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdwdTEwMGstZnVsbEAyeCcsICk7XG4kcHUxMDBrLTJ4LW5hbWU6ICdwdTEwMGtAMngnO1xuJHB1MTAway0yeC14OiAxMjI0cHg7XG4kcHUxMDBrLTJ4LXk6IDYyNnB4O1xuJHB1MTAway0yeC1vZmZzZXQteDogLTEyMjRweDtcbiRwdTEwMGstMngtb2Zmc2V0LXk6IC02MjZweDtcbiRwdTEwMGstMngtd2lkdGg6IDEzMnB4O1xuJHB1MTAway0yeC1oZWlnaHQ6IDEzMnB4O1xuJHB1MTAway0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHB1MTAway0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHB1MTAway0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHB1MTAway0yeDogKDEyMjRweCwgNjI2cHgsIC0xMjI0cHgsIC02MjZweCwgMTMycHgsIDEzMnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdwdTEwMGtAMngnLCApO1xuJHB1MjBrLWhvdmVyLTJ4LW5hbWU6ICdwdTIway0taG92ZXJAMngnO1xuJHB1MjBrLWhvdmVyLTJ4LXg6IDEwODhweDtcbiRwdTIway1ob3Zlci0yeC15OiA2MjZweDtcbiRwdTIway1ob3Zlci0yeC1vZmZzZXQteDogLTEwODhweDtcbiRwdTIway1ob3Zlci0yeC1vZmZzZXQteTogLTYyNnB4O1xuJHB1MjBrLWhvdmVyLTJ4LXdpZHRoOiAxMzJweDtcbiRwdTIway1ob3Zlci0yeC1oZWlnaHQ6IDEzMnB4O1xuJHB1MjBrLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kcHUyMGstaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRwdTIway1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHB1MjBrLWhvdmVyLTJ4OiAoMTA4OHB4LCA2MjZweCwgLTEwODhweCwgLTYyNnB4LCAxMzJweCwgMTMycHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3B1MjBrLS1ob3ZlckAyeCcsICk7XG4kcHUyMGstZnVsbC1ob3Zlci0yeC1uYW1lOiAncHUyMGstZnVsbC0taG92ZXJAMngnO1xuJHB1MjBrLWZ1bGwtaG92ZXItMngteDogMjAyMnB4O1xuJHB1MjBrLWZ1bGwtaG92ZXItMngteTogMjI0cHg7XG4kcHUyMGstZnVsbC1ob3Zlci0yeC1vZmZzZXQteDogLTIwMjJweDtcbiRwdTIway1mdWxsLWhvdmVyLTJ4LW9mZnNldC15OiAtMjI0cHg7XG4kcHUyMGstZnVsbC1ob3Zlci0yeC13aWR0aDogMjkycHg7XG4kcHUyMGstZnVsbC1ob3Zlci0yeC1oZWlnaHQ6IDEzMHB4O1xuJHB1MjBrLWZ1bGwtaG92ZXItMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwdTIway1mdWxsLWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kcHUyMGstZnVsbC1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHB1MjBrLWZ1bGwtaG92ZXItMng6ICgyMDIycHgsIDIyNHB4LCAtMjAyMnB4LCAtMjI0cHgsIDI5MnB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncHUyMGstZnVsbC0taG92ZXJAMngnLCApO1xuJHB1MjBrLWZ1bGwtMngtbmFtZTogJ3B1MjBrLWZ1bGxAMngnO1xuJHB1MjBrLWZ1bGwtMngteDogMTcyNnB4O1xuJHB1MjBrLWZ1bGwtMngteTogMjI0cHg7XG4kcHUyMGstZnVsbC0yeC1vZmZzZXQteDogLTE3MjZweDtcbiRwdTIway1mdWxsLTJ4LW9mZnNldC15OiAtMjI0cHg7XG4kcHUyMGstZnVsbC0yeC13aWR0aDogMjkycHg7XG4kcHUyMGstZnVsbC0yeC1oZWlnaHQ6IDEzMHB4O1xuJHB1MjBrLWZ1bGwtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwdTIway1mdWxsLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kcHUyMGstZnVsbC0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHB1MjBrLWZ1bGwtMng6ICgxNzI2cHgsIDIyNHB4LCAtMTcyNnB4LCAtMjI0cHgsIDI5MnB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncHUyMGstZnVsbEAyeCcsICk7XG4kcHUyMGstMngtbmFtZTogJ3B1MjBrQDJ4JztcbiRwdTIway0yeC14OiA2ODBweDtcbiRwdTIway0yeC15OiA2MjZweDtcbiRwdTIway0yeC1vZmZzZXQteDogLTY4MHB4O1xuJHB1MjBrLTJ4LW9mZnNldC15OiAtNjI2cHg7XG4kcHUyMGstMngtd2lkdGg6IDEzMnB4O1xuJHB1MjBrLTJ4LWhlaWdodDogMTMycHg7XG4kcHUyMGstMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwdTIway0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHB1MjBrLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcHUyMGstMng6ICg2ODBweCwgNjI2cHgsIC02ODBweCwgLTYyNnB4LCAxMzJweCwgMTMycHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3B1MjBrQDJ4JywgKTtcbiRwdTUway1ob3Zlci0yeC1uYW1lOiAncHU1MGstLWhvdmVyQDJ4JztcbiRwdTUway1ob3Zlci0yeC14OiA1NDRweDtcbiRwdTUway1ob3Zlci0yeC15OiA2MjZweDtcbiRwdTUway1ob3Zlci0yeC1vZmZzZXQteDogLTU0NHB4O1xuJHB1NTBrLWhvdmVyLTJ4LW9mZnNldC15OiAtNjI2cHg7XG4kcHU1MGstaG92ZXItMngtd2lkdGg6IDEzMnB4O1xuJHB1NTBrLWhvdmVyLTJ4LWhlaWdodDogMTMycHg7XG4kcHU1MGstaG92ZXItMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwdTUway1ob3Zlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHB1NTBrLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcHU1MGstaG92ZXItMng6ICg1NDRweCwgNjI2cHgsIC01NDRweCwgLTYyNnB4LCAxMzJweCwgMTMycHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3B1NTBrLS1ob3ZlckAyeCcsICk7XG4kcHU1MGstZnVsbC1ob3Zlci0yeC1uYW1lOiAncHU1MGstZnVsbC0taG92ZXJAMngnO1xuJHB1NTBrLWZ1bGwtaG92ZXItMngteDogMTQzMHB4O1xuJHB1NTBrLWZ1bGwtaG92ZXItMngteTogMjI0cHg7XG4kcHU1MGstZnVsbC1ob3Zlci0yeC1vZmZzZXQteDogLTE0MzBweDtcbiRwdTUway1mdWxsLWhvdmVyLTJ4LW9mZnNldC15OiAtMjI0cHg7XG4kcHU1MGstZnVsbC1ob3Zlci0yeC13aWR0aDogMjkycHg7XG4kcHU1MGstZnVsbC1ob3Zlci0yeC1oZWlnaHQ6IDEzMHB4O1xuJHB1NTBrLWZ1bGwtaG92ZXItMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwdTUway1mdWxsLWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kcHU1MGstZnVsbC1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHB1NTBrLWZ1bGwtaG92ZXItMng6ICgxNDMwcHgsIDIyNHB4LCAtMTQzMHB4LCAtMjI0cHgsIDI5MnB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncHU1MGstZnVsbC0taG92ZXJAMngnLCApO1xuJHB1NTBrLWZ1bGwtMngtbmFtZTogJ3B1NTBrLWZ1bGxAMngnO1xuJHB1NTBrLWZ1bGwtMngteDogMTc3NnB4O1xuJHB1NTBrLWZ1bGwtMngteTogMzU4cHg7XG4kcHU1MGstZnVsbC0yeC1vZmZzZXQteDogLTE3NzZweDtcbiRwdTUway1mdWxsLTJ4LW9mZnNldC15OiAtMzU4cHg7XG4kcHU1MGstZnVsbC0yeC13aWR0aDogMjkycHg7XG4kcHU1MGstZnVsbC0yeC1oZWlnaHQ6IDEzMHB4O1xuJHB1NTBrLWZ1bGwtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwdTUway1mdWxsLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kcHU1MGstZnVsbC0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHB1NTBrLWZ1bGwtMng6ICgxNzc2cHgsIDM1OHB4LCAtMTc3NnB4LCAtMzU4cHgsIDI5MnB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncHU1MGstZnVsbEAyeCcsICk7XG4kcHU1MGstMngtbmFtZTogJ3B1NTBrQDJ4JztcbiRwdTUway0yeC14OiAxNjMycHg7XG4kcHU1MGstMngteTogNjI2cHg7XG4kcHU1MGstMngtb2Zmc2V0LXg6IC0xNjMycHg7XG4kcHU1MGstMngtb2Zmc2V0LXk6IC02MjZweDtcbiRwdTUway0yeC13aWR0aDogMTMycHg7XG4kcHU1MGstMngtaGVpZ2h0OiAxMzJweDtcbiRwdTUway0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHB1NTBrLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kcHU1MGstMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRwdTUway0yeDogKDE2MzJweCwgNjI2cHgsIC0xNjMycHgsIC02MjZweCwgMTMycHgsIDEzMnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdwdTUwa0AyeCcsICk7XG4kcHU5OWstaG92ZXItMngtbmFtZTogJ3B1OTlrLS1ob3ZlckAyeCc7XG4kcHU5OWstaG92ZXItMngteDogOTUycHg7XG4kcHU5OWstaG92ZXItMngteTogNjI2cHg7XG4kcHU5OWstaG92ZXItMngtb2Zmc2V0LXg6IC05NTJweDtcbiRwdTk5ay1ob3Zlci0yeC1vZmZzZXQteTogLTYyNnB4O1xuJHB1OTlrLWhvdmVyLTJ4LXdpZHRoOiAxMzJweDtcbiRwdTk5ay1ob3Zlci0yeC1oZWlnaHQ6IDEzMnB4O1xuJHB1OTlrLWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kcHU5OWstaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRwdTk5ay1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHB1OTlrLWhvdmVyLTJ4OiAoOTUycHgsIDYyNnB4LCAtOTUycHgsIC02MjZweCwgMTMycHgsIDEzMnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdwdTk5ay0taG92ZXJAMngnLCApO1xuJHB1OTlrLWZ1bGwtaG92ZXItMngtbmFtZTogJ3B1OTlrLWZ1bGwtLWhvdmVyQDJ4JztcbiRwdTk5ay1mdWxsLWhvdmVyLTJ4LXg6IDgzNnB4O1xuJHB1OTlrLWZ1bGwtaG92ZXItMngteTogMjI0cHg7XG4kcHU5OWstZnVsbC1ob3Zlci0yeC1vZmZzZXQteDogLTgzNnB4O1xuJHB1OTlrLWZ1bGwtaG92ZXItMngtb2Zmc2V0LXk6IC0yMjRweDtcbiRwdTk5ay1mdWxsLWhvdmVyLTJ4LXdpZHRoOiAyOTRweDtcbiRwdTk5ay1mdWxsLWhvdmVyLTJ4LWhlaWdodDogMTMwcHg7XG4kcHU5OWstZnVsbC1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHB1OTlrLWZ1bGwtaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRwdTk5ay1mdWxsLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcHU5OWstZnVsbC1ob3Zlci0yeDogKDgzNnB4LCAyMjRweCwgLTgzNnB4LCAtMjI0cHgsIDI5NHB4LCAxMzBweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncHU5OWstZnVsbC0taG92ZXJAMngnLCApO1xuJHB1OTlrLWZ1bGwtMngtbmFtZTogJ3B1OTlrLWZ1bGxAMngnO1xuJHB1OTlrLWZ1bGwtMngteDogMHB4O1xuJHB1OTlrLWZ1bGwtMngteTogMzU4cHg7XG4kcHU5OWstZnVsbC0yeC1vZmZzZXQteDogMHB4O1xuJHB1OTlrLWZ1bGwtMngtb2Zmc2V0LXk6IC0zNThweDtcbiRwdTk5ay1mdWxsLTJ4LXdpZHRoOiAyOTJweDtcbiRwdTk5ay1mdWxsLTJ4LWhlaWdodDogMTMwcHg7XG4kcHU5OWstZnVsbC0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHB1OTlrLWZ1bGwtMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRwdTk5ay1mdWxsLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcHU5OWstZnVsbC0yeDogKDBweCwgMzU4cHgsIDBweCwgLTM1OHB4LCAyOTJweCwgMTMwcHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3B1OTlrLWZ1bGxAMngnLCApO1xuJHB1OTlrLTJ4LW5hbWU6ICdwdTk5a0AyeCc7XG4kcHU5OWstMngteDogMjA0MHB4O1xuJHB1OTlrLTJ4LXk6IDYyNnB4O1xuJHB1OTlrLTJ4LW9mZnNldC14OiAtMjA0MHB4O1xuJHB1OTlrLTJ4LW9mZnNldC15OiAtNjI2cHg7XG4kcHU5OWstMngtd2lkdGg6IDEzMnB4O1xuJHB1OTlrLTJ4LWhlaWdodDogMTMycHg7XG4kcHU5OWstMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRwdTk5ay0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHB1OTlrLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcHU5OWstMng6ICgyMDQwcHgsIDYyNnB4LCAtMjA0MHB4LCAtNjI2cHgsIDEzMnB4LCAxMzJweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncHU5OWtAMngnLCApO1xuJHF1ZXJpZXMtaG92ZXItMngtbmFtZTogJ3F1ZXJpZXMtLWhvdmVyQDJ4JztcbiRxdWVyaWVzLWhvdmVyLTJ4LXg6IDI0NzhweDtcbiRxdWVyaWVzLWhvdmVyLTJ4LXk6IDY4OHB4O1xuJHF1ZXJpZXMtaG92ZXItMngtb2Zmc2V0LXg6IC0yNDc4cHg7XG4kcXVlcmllcy1ob3Zlci0yeC1vZmZzZXQteTogLTY4OHB4O1xuJHF1ZXJpZXMtaG92ZXItMngtd2lkdGg6IDMwcHg7XG4kcXVlcmllcy1ob3Zlci0yeC1oZWlnaHQ6IDQ0cHg7XG4kcXVlcmllcy1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHF1ZXJpZXMtaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRxdWVyaWVzLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcXVlcmllcy1ob3Zlci0yeDogKDI0NzhweCwgNjg4cHgsIC0yNDc4cHgsIC02ODhweCwgMzBweCwgNDRweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAncXVlcmllcy0taG92ZXJAMngnLCApO1xuJHF1ZXJpZXMtMngtbmFtZTogJ3F1ZXJpZXNAMngnO1xuJHF1ZXJpZXMtMngteDogMjQ0NHB4O1xuJHF1ZXJpZXMtMngteTogNjg4cHg7XG4kcXVlcmllcy0yeC1vZmZzZXQteDogLTI0NDRweDtcbiRxdWVyaWVzLTJ4LW9mZnNldC15OiAtNjg4cHg7XG4kcXVlcmllcy0yeC13aWR0aDogMzBweDtcbiRxdWVyaWVzLTJ4LWhlaWdodDogNDRweDtcbiRxdWVyaWVzLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kcXVlcmllcy0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHF1ZXJpZXMtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRxdWVyaWVzLTJ4OiAoMjQ0NHB4LCA2ODhweCwgLTI0NDRweCwgLTY4OHB4LCAzMHB4LCA0NHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdxdWVyaWVzQDJ4JywgKTtcbiRzaG93LWhvdmVyLTJ4LW5hbWU6ICdzaG93LS1ob3ZlckAyeCc7XG4kc2hvdy1ob3Zlci0yeC14OiAyMjMwcHg7XG4kc2hvdy1ob3Zlci0yeC15OiA2MjZweDtcbiRzaG93LWhvdmVyLTJ4LW9mZnNldC14OiAtMjIzMHB4O1xuJHNob3ctaG92ZXItMngtb2Zmc2V0LXk6IC02MjZweDtcbiRzaG93LWhvdmVyLTJ4LXdpZHRoOiA1MHB4O1xuJHNob3ctaG92ZXItMngtaGVpZ2h0OiA1OHB4O1xuJHNob3ctaG92ZXItMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRzaG93LWhvdmVyLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kc2hvdy1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHNob3ctaG92ZXItMng6ICgyMjMwcHgsIDYyNnB4LCAtMjIzMHB4LCAtNjI2cHgsIDUwcHgsIDU4cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3Nob3ctLWhvdmVyQDJ4JywgKTtcbiRzaG93LTJ4LW5hbWU6ICdzaG93QDJ4JztcbiRzaG93LTJ4LXg6IDIxNzZweDtcbiRzaG93LTJ4LXk6IDYyNnB4O1xuJHNob3ctMngtb2Zmc2V0LXg6IC0yMTc2cHg7XG4kc2hvdy0yeC1vZmZzZXQteTogLTYyNnB4O1xuJHNob3ctMngtd2lkdGg6IDUwcHg7XG4kc2hvdy0yeC1oZWlnaHQ6IDU4cHg7XG4kc2hvdy0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHNob3ctMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRzaG93LTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kc2hvdy0yeDogKDIxNzZweCwgNjI2cHgsIC0yMTc2cHgsIC02MjZweCwgNTBweCwgNThweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnc2hvd0AyeCcsICk7XG4kc2t5bGluZS0yeC1uYW1lOiAnc2t5bGluZUAyeCc7XG4kc2t5bGluZS0yeC14OiAwcHg7XG4kc2t5bGluZS0yeC15OiAwcHg7XG4kc2t5bGluZS0yeC1vZmZzZXQteDogMHB4O1xuJHNreWxpbmUtMngtb2Zmc2V0LXk6IDBweDtcbiRza3lsaW5lLTJ4LXdpZHRoOiAyNTc4cHg7XG4kc2t5bGluZS0yeC1oZWlnaHQ6IDIyMHB4O1xuJHNreWxpbmUtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRza3lsaW5lLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kc2t5bGluZS0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHNreWxpbmUtMng6ICgwcHgsIDBweCwgMHB4LCAwcHgsIDI1NzhweCwgMjIwcHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3NreWxpbmVAMngnLCApO1xuJHNvcnJ5LWhvdmVyLTJ4LW5hbWU6ICdzb3JyeS0taG92ZXJAMngnO1xuJHNvcnJ5LWhvdmVyLTJ4LXg6IDExMzZweDtcbiRzb3JyeS1ob3Zlci0yeC15OiA0OTJweDtcbiRzb3JyeS1ob3Zlci0yeC1vZmZzZXQteDogLTExMzZweDtcbiRzb3JyeS1ob3Zlci0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJHNvcnJ5LWhvdmVyLTJ4LXdpZHRoOiAxMThweDtcbiRzb3JyeS1ob3Zlci0yeC1oZWlnaHQ6IDExNnB4O1xuJHNvcnJ5LWhvdmVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kc29ycnktaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiRzb3JyeS1ob3Zlci0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHNvcnJ5LWhvdmVyLTJ4OiAoMTEzNnB4LCA0OTJweCwgLTExMzZweCwgLTQ5MnB4LCAxMThweCwgMTE2cHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3NvcnJ5LS1ob3ZlckAyeCcsICk7XG4kc29ycnktMngtbmFtZTogJ3NvcnJ5QDJ4JztcbiRzb3JyeS0yeC14OiAxMDE0cHg7XG4kc29ycnktMngteTogNDkycHg7XG4kc29ycnktMngtb2Zmc2V0LXg6IC0xMDE0cHg7XG4kc29ycnktMngtb2Zmc2V0LXk6IC00OTJweDtcbiRzb3JyeS0yeC13aWR0aDogMTE4cHg7XG4kc29ycnktMngtaGVpZ2h0OiAxMTZweDtcbiRzb3JyeS0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHNvcnJ5LTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kc29ycnktMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiRzb3JyeS0yeDogKDEwMTRweCwgNDkycHgsIC0xMDE0cHgsIC00OTJweCwgMTE4cHgsIDExNnB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICdzb3JyeUAyeCcsICk7XG4kc3RyaW5ncy0yeC1uYW1lOiAnc3RyaW5nc0AyeCc7XG4kc3RyaW5ncy0yeC14OiAyMTg4cHg7XG4kc3RyaW5ncy0yeC15OiA0OTJweDtcbiRzdHJpbmdzLTJ4LW9mZnNldC14OiAtMjE4OHB4O1xuJHN0cmluZ3MtMngtb2Zmc2V0LXk6IC00OTJweDtcbiRzdHJpbmdzLTJ4LXdpZHRoOiA5MHB4O1xuJHN0cmluZ3MtMngtaGVpZ2h0OiA5MnB4O1xuJHN0cmluZ3MtMngtdG90YWwtd2lkdGg6IDI1NzhweDtcbiRzdHJpbmdzLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kc3RyaW5ncy0yeC1pbWFnZTogJ2FsbEAyeC5wbmcnO1xuJHN0cmluZ3MtMng6ICgyMTg4cHgsIDQ5MnB4LCAtMjE4OHB4LCAtNDkycHgsIDkwcHgsIDkycHgsIDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJ3N0cmluZ3NAMngnLCApO1xuJHR3aXR0ZXItaG92ZXItMngtbmFtZTogJ3R3aXR0ZXItLWhvdmVyQDJ4JztcbiR0d2l0dGVyLWhvdmVyLTJ4LXg6IDEzODBweDtcbiR0d2l0dGVyLWhvdmVyLTJ4LXk6IDQ5MnB4O1xuJHR3aXR0ZXItaG92ZXItMngtb2Zmc2V0LXg6IC0xMzgwcHg7XG4kdHdpdHRlci1ob3Zlci0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJHR3aXR0ZXItaG92ZXItMngtd2lkdGg6IDk4cHg7XG4kdHdpdHRlci1ob3Zlci0yeC1oZWlnaHQ6IDk4cHg7XG4kdHdpdHRlci1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHR3aXR0ZXItaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiR0d2l0dGVyLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kdHdpdHRlci1ob3Zlci0yeDogKDEzODBweCwgNDkycHgsIC0xMzgwcHgsIC00OTJweCwgOThweCwgOThweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAndHdpdHRlci0taG92ZXJAMngnLCApO1xuJHR3aXR0ZXItMngtbmFtZTogJ3R3aXR0ZXJAMngnO1xuJHR3aXR0ZXItMngteDogMTg5MHB4O1xuJHR3aXR0ZXItMngteTogNDkycHg7XG4kdHdpdHRlci0yeC1vZmZzZXQteDogLTE4OTBweDtcbiR0d2l0dGVyLTJ4LW9mZnNldC15OiAtNDkycHg7XG4kdHdpdHRlci0yeC13aWR0aDogOThweDtcbiR0d2l0dGVyLTJ4LWhlaWdodDogOThweDtcbiR0d2l0dGVyLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4kdHdpdHRlci0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHR3aXR0ZXItMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiR0d2l0dGVyLTJ4OiAoMTg5MHB4LCA0OTJweCwgLTE4OTBweCwgLTQ5MnB4LCA5OHB4LCA5OHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICd0d2l0dGVyQDJ4JywgKTtcbiR3b3JsZC0yeC1uYW1lOiAnd29ybGRAMngnO1xuJHdvcmxkLTJ4LXg6IDIwOTRweDtcbiR3b3JsZC0yeC15OiA0OTJweDtcbiR3b3JsZC0yeC1vZmZzZXQteDogLTIwOTRweDtcbiR3b3JsZC0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJHdvcmxkLTJ4LXdpZHRoOiA5MHB4O1xuJHdvcmxkLTJ4LWhlaWdodDogOTJweDtcbiR3b3JsZC0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHdvcmxkLTJ4LXRvdGFsLWhlaWdodDogODE0cHg7XG4kd29ybGQtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiR3b3JsZC0yeDogKDIwOTRweCwgNDkycHgsIC0yMDk0cHgsIC00OTJweCwgOTBweCwgOTJweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAnd29ybGRAMngnLCApO1xuJHlvdXR1YmUtaG92ZXItMngtbmFtZTogJ3lvdXR1YmUtLWhvdmVyQDJ4JztcbiR5b3V0dWJlLWhvdmVyLTJ4LXg6IDE3ODhweDtcbiR5b3V0dWJlLWhvdmVyLTJ4LXk6IDQ5MnB4O1xuJHlvdXR1YmUtaG92ZXItMngtb2Zmc2V0LXg6IC0xNzg4cHg7XG4keW91dHViZS1ob3Zlci0yeC1vZmZzZXQteTogLTQ5MnB4O1xuJHlvdXR1YmUtaG92ZXItMngtd2lkdGg6IDk4cHg7XG4keW91dHViZS1ob3Zlci0yeC1oZWlnaHQ6IDk4cHg7XG4keW91dHViZS1ob3Zlci0yeC10b3RhbC13aWR0aDogMjU3OHB4O1xuJHlvdXR1YmUtaG92ZXItMngtdG90YWwtaGVpZ2h0OiA4MTRweDtcbiR5b3V0dWJlLWhvdmVyLTJ4LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4keW91dHViZS1ob3Zlci0yeDogKDE3ODhweCwgNDkycHgsIC0xNzg4cHgsIC00OTJweCwgOThweCwgOThweCwgMjU3OHB4LCA4MTRweCwgJ2FsbEAyeC5wbmcnLCAneW91dHViZS0taG92ZXJAMngnLCApO1xuJHlvdXR1YmUtMngtbmFtZTogJ3lvdXR1YmVAMngnO1xuJHlvdXR1YmUtMngteDogMTQ4MnB4O1xuJHlvdXR1YmUtMngteTogNDkycHg7XG4keW91dHViZS0yeC1vZmZzZXQteDogLTE0ODJweDtcbiR5b3V0dWJlLTJ4LW9mZnNldC15OiAtNDkycHg7XG4keW91dHViZS0yeC13aWR0aDogOThweDtcbiR5b3V0dWJlLTJ4LWhlaWdodDogOThweDtcbiR5b3V0dWJlLTJ4LXRvdGFsLXdpZHRoOiAyNTc4cHg7XG4keW91dHViZS0yeC10b3RhbC1oZWlnaHQ6IDgxNHB4O1xuJHlvdXR1YmUtMngtaW1hZ2U6ICdhbGxAMngucG5nJztcbiR5b3V0dWJlLTJ4OiAoMTQ4MnB4LCA0OTJweCwgLTE0ODJweCwgLTQ5MnB4LCA5OHB4LCA5OHB4LCAyNTc4cHgsIDgxNHB4LCAnYWxsQDJ4LnBuZycsICd5b3V0dWJlQDJ4JywgKTtcbiRzcHJpdGVzaGVldC13aWR0aDogMTI4OXB4O1xuJHNwcml0ZXNoZWV0LWhlaWdodDogNDA3cHg7XG4kc3ByaXRlc2hlZXQtaW1hZ2U6ICdhbGwucG5nJztcbiRzcHJpdGVzaGVldC1zcHJpdGVzOiAoJGFyZS1ob3ZlciwgJGFyZS1mdWxsLWhvdmVyLCAkYXJlLWZ1bGwsICRhcmUsICRhcnJvdy1ob3ZlciwgJGFycm93LCAkZGVsZXRlLWhvdmVyLCAkZGVsZXRlLCAkZWRpdC1ob3ZlciwgJGVkaXQsICRlbWFpbC1hbGVydC1ncmV5LCAkZW1haWwtYWxlcnQtcmVkLCAkZW1haWwtYWxlcnQtd2hpdGUsICRlc3RhdGUtYWdlbnQtaG92ZXIsICRlc3RhdGUtYWdlbnQsICRmYWNlYm9vay1ob3ZlciwgJGZhY2Vib29rLCAkZm9yZ290LXB3LWhvdmVyLCAkZm9yZ290LXB3LCAkZnJlZSwgJGdvb2dsZXBsdXMtaG92ZXIsICRnb29nbGVwbHVzLCAkaGlkZS1ob3ZlciwgJGhpZGUsICRsb2dpbi1ob3ZlciwgJGxvZ2luLCAkbHA0Zi1ob3ZlciwgJGxwNGYtZnVsbC1ob3ZlciwgJGxwNGYtZnVsbCwgJGxwNGYtc2ltcGxlLWhvdmVyLCAkbHA0Zi1zaW1wbGUsICRscDRmLCAkbXlhZHMtaG92ZXIsICRteWFkcywgJG5ldy1oZXJlLWhvdmVyLCAkbmV3LWhlcmUsICRwYW1wLWhvdmVyLCAkcGFtcC1mdWxsLWhvdmVyLCAkcGFtcC1mdWxsLCAkcGFtcCwgJHBob3Rvcy1ob3ZlciwgJHBob3RvcywgJHByaXZhdGUtc2VsbGVyLWhvdmVyLCAkcHJpdmF0ZS1zZWxsZXIsICRwdTEwMGstaG92ZXIsICRwdTEwMGstZnVsbC1ob3ZlciwgJHB1MTAway1mdWxsLCAkcHUxMDBrLCAkcHUyMGstaG92ZXIsICRwdTIway1mdWxsLWhvdmVyLCAkcHUyMGstZnVsbCwgJHB1MjBrLCAkcHU1MGstaG92ZXIsICRwdTUway1mdWxsLWhvdmVyLCAkcHU1MGstZnVsbCwgJHB1NTBrLCAkcHU5OWstaG92ZXIsICRwdTk5ay1mdWxsLWhvdmVyLCAkcHU5OWstZnVsbCwgJHB1OTlrLCAkcXVlcmllcy1ob3ZlciwgJHF1ZXJpZXMsICRzaG93LWhvdmVyLCAkc2hvdywgJHNreWxpbmUsICRzb3JyeS1ob3ZlciwgJHNvcnJ5LCAkc3RyaW5ncywgJHR3aXR0ZXItaG92ZXIsICR0d2l0dGVyLCAkd29ybGQsICR5b3V0dWJlLWhvdmVyLCAkeW91dHViZSwgKTtcbiRzcHJpdGVzaGVldDogKDEyODlweCwgNDA3cHgsICdhbGwucG5nJywgJHNwcml0ZXNoZWV0LXNwcml0ZXMsICk7XG4kcmV0aW5hLXNwcml0ZXNoZWV0LXdpZHRoOiAyNTc4cHg7XG4kcmV0aW5hLXNwcml0ZXNoZWV0LWhlaWdodDogODE0cHg7XG4kcmV0aW5hLXNwcml0ZXNoZWV0LWltYWdlOiAnYWxsQDJ4LnBuZyc7XG4kcmV0aW5hLXNwcml0ZXNoZWV0LXNwcml0ZXM6ICgkYXJlLWhvdmVyLTJ4LCAkYXJlLWZ1bGwtaG92ZXItMngsICRhcmUtZnVsbC0yeCwgJGFyZS0yeCwgJGFycm93LWhvdmVyLTJ4LCAkYXJyb3ctMngsICRkZWxldGUtaG92ZXItMngsICRkZWxldGUtMngsICRlZGl0LWhvdmVyLTJ4LCAkZWRpdC0yeCwgJGVtYWlsLWFsZXJ0LWdyZXktMngsICRlbWFpbC1hbGVydC1yZWQtMngsICRlbWFpbC1hbGVydC13aGl0ZS0yeCwgJGVzdGF0ZS1hZ2VudC1ob3Zlci0yeCwgJGVzdGF0ZS1hZ2VudC0yeCwgJGZhY2Vib29rLWhvdmVyLTJ4LCAkZmFjZWJvb2stMngsICRmb3Jnb3QtcHctaG92ZXItMngsICRmb3Jnb3QtcHctMngsICRmcmVlLTJ4LCAkZ29vZ2xlcGx1cy1ob3Zlci0yeCwgJGdvb2dsZXBsdXMtMngsICRoaWRlLWhvdmVyLTJ4LCAkaGlkZS0yeCwgJGxvZ2luLWhvdmVyLTJ4LCAkbG9naW4tMngsICRscDRmLWhvdmVyLTJ4LCAkbHA0Zi1mdWxsLWhvdmVyLTJ4LCAkbHA0Zi1mdWxsLTJ4LCAkbHA0Zi1zaW1wbGUtaG92ZXItMngsICRscDRmLXNpbXBsZS0yeCwgJGxwNGYtMngsICRteWFkcy1ob3Zlci0yeCwgJG15YWRzLTJ4LCAkbmV3LWhlcmUtaG92ZXItMngsICRuZXctaGVyZS0yeCwgJHBhbXAtaG92ZXItMngsICRwYW1wLWZ1bGwtaG92ZXItMngsICRwYW1wLWZ1bGwtMngsICRwYW1wLTJ4LCAkcGhvdG9zLWhvdmVyLTJ4LCAkcGhvdG9zLTJ4LCAkcHJpdmF0ZS1zZWxsZXItaG92ZXItMngsICRwcml2YXRlLXNlbGxlci0yeCwgJHB1MTAway1ob3Zlci0yeCwgJHB1MTAway1mdWxsLWhvdmVyLTJ4LCAkcHUxMDBrLWZ1bGwtMngsICRwdTEwMGstMngsICRwdTIway1ob3Zlci0yeCwgJHB1MjBrLWZ1bGwtaG92ZXItMngsICRwdTIway1mdWxsLTJ4LCAkcHUyMGstMngsICRwdTUway1ob3Zlci0yeCwgJHB1NTBrLWZ1bGwtaG92ZXItMngsICRwdTUway1mdWxsLTJ4LCAkcHU1MGstMngsICRwdTk5ay1ob3Zlci0yeCwgJHB1OTlrLWZ1bGwtaG92ZXItMngsICRwdTk5ay1mdWxsLTJ4LCAkcHU5OWstMngsICRxdWVyaWVzLWhvdmVyLTJ4LCAkcXVlcmllcy0yeCwgJHNob3ctaG92ZXItMngsICRzaG93LTJ4LCAkc2t5bGluZS0yeCwgJHNvcnJ5LWhvdmVyLTJ4LCAkc29ycnktMngsICRzdHJpbmdzLTJ4LCAkdHdpdHRlci1ob3Zlci0yeCwgJHR3aXR0ZXItMngsICR3b3JsZC0yeCwgJHlvdXR1YmUtaG92ZXItMngsICR5b3V0dWJlLTJ4LCApO1xuJHJldGluYS1zcHJpdGVzaGVldDogKDI1NzhweCwgODE0cHgsICdhbGxAMngucG5nJywgJHJldGluYS1zcHJpdGVzaGVldC1zcHJpdGVzLCApO1xuXG4vLyBUaGVzZSBcInJldGluYSBncm91cFwiIHZhcmlhYmxlcyBhcmUgbWFwcGluZ3MgZm9yIHRoZSBuYW1pbmcgYW5kIHBhaXJpbmcgb2Ygbm9ybWFsIGFuZCByZXRpbmEgc3ByaXRlcy5cbi8vXG4vLyBUaGUgbGlzdCBmb3JtYXR0ZWQgdmFyaWFibGVzIGFyZSBpbnRlbmRlZCBmb3IgbWl4aW5zIGxpa2UgYHJldGluYS1zcHJpdGVgIGFuZCBgcmV0aW5hLXNwcml0ZXNgLlxuJGFyZS1ob3Zlci1ncm91cC1uYW1lOiAnYXJlLS1ob3Zlcic7XG4kYXJlLWhvdmVyLWdyb3VwOiAoJ2FyZS0taG92ZXInLCAkYXJlLWhvdmVyLCAkYXJlLWhvdmVyLTJ4LCApO1xuJGFyZS1mdWxsLWhvdmVyLWdyb3VwLW5hbWU6ICdhcmUtZnVsbC0taG92ZXInO1xuJGFyZS1mdWxsLWhvdmVyLWdyb3VwOiAoJ2FyZS1mdWxsLS1ob3ZlcicsICRhcmUtZnVsbC1ob3ZlciwgJGFyZS1mdWxsLWhvdmVyLTJ4LCApO1xuJGFyZS1mdWxsLWdyb3VwLW5hbWU6ICdhcmUtZnVsbCc7XG4kYXJlLWZ1bGwtZ3JvdXA6ICgnYXJlLWZ1bGwnLCAkYXJlLWZ1bGwsICRhcmUtZnVsbC0yeCwgKTtcbiRhcmUtZ3JvdXAtbmFtZTogJ2FyZSc7XG4kYXJlLWdyb3VwOiAoJ2FyZScsICRhcmUsICRhcmUtMngsICk7XG4kYXJyb3ctaG92ZXItZ3JvdXAtbmFtZTogJ2Fycm93LS1ob3Zlcic7XG4kYXJyb3ctaG92ZXItZ3JvdXA6ICgnYXJyb3ctLWhvdmVyJywgJGFycm93LWhvdmVyLCAkYXJyb3ctaG92ZXItMngsICk7XG4kYXJyb3ctZ3JvdXAtbmFtZTogJ2Fycm93JztcbiRhcnJvdy1ncm91cDogKCdhcnJvdycsICRhcnJvdywgJGFycm93LTJ4LCApO1xuJGRlbGV0ZS1ob3Zlci1ncm91cC1uYW1lOiAnZGVsZXRlLS1ob3Zlcic7XG4kZGVsZXRlLWhvdmVyLWdyb3VwOiAoJ2RlbGV0ZS0taG92ZXInLCAkZGVsZXRlLWhvdmVyLCAkZGVsZXRlLWhvdmVyLTJ4LCApO1xuJGRlbGV0ZS1ncm91cC1uYW1lOiAnZGVsZXRlJztcbiRkZWxldGUtZ3JvdXA6ICgnZGVsZXRlJywgJGRlbGV0ZSwgJGRlbGV0ZS0yeCwgKTtcbiRlZGl0LWhvdmVyLWdyb3VwLW5hbWU6ICdlZGl0LS1ob3Zlcic7XG4kZWRpdC1ob3Zlci1ncm91cDogKCdlZGl0LS1ob3ZlcicsICRlZGl0LWhvdmVyLCAkZWRpdC1ob3Zlci0yeCwgKTtcbiRlZGl0LWdyb3VwLW5hbWU6ICdlZGl0JztcbiRlZGl0LWdyb3VwOiAoJ2VkaXQnLCAkZWRpdCwgJGVkaXQtMngsICk7XG4kZW1haWwtYWxlcnQtZ3JleS1ncm91cC1uYW1lOiAnZW1haWxfYWxlcnRfZ3JleSc7XG4kZW1haWwtYWxlcnQtZ3JleS1ncm91cDogKCdlbWFpbF9hbGVydF9ncmV5JywgJGVtYWlsLWFsZXJ0LWdyZXksICRlbWFpbC1hbGVydC1ncmV5LTJ4LCApO1xuJGVtYWlsLWFsZXJ0LXJlZC1ncm91cC1uYW1lOiAnZW1haWxfYWxlcnRfcmVkJztcbiRlbWFpbC1hbGVydC1yZWQtZ3JvdXA6ICgnZW1haWxfYWxlcnRfcmVkJywgJGVtYWlsLWFsZXJ0LXJlZCwgJGVtYWlsLWFsZXJ0LXJlZC0yeCwgKTtcbiRlbWFpbC1hbGVydC13aGl0ZS1ncm91cC1uYW1lOiAnZW1haWxfYWxlcnRfd2hpdGUnO1xuJGVtYWlsLWFsZXJ0LXdoaXRlLWdyb3VwOiAoJ2VtYWlsX2FsZXJ0X3doaXRlJywgJGVtYWlsLWFsZXJ0LXdoaXRlLCAkZW1haWwtYWxlcnQtd2hpdGUtMngsICk7XG4kZXN0YXRlLWFnZW50LWhvdmVyLWdyb3VwLW5hbWU6ICdlc3RhdGVfYWdlbnQtLWhvdmVyJztcbiRlc3RhdGUtYWdlbnQtaG92ZXItZ3JvdXA6ICgnZXN0YXRlX2FnZW50LS1ob3ZlcicsICRlc3RhdGUtYWdlbnQtaG92ZXIsICRlc3RhdGUtYWdlbnQtaG92ZXItMngsICk7XG4kZXN0YXRlLWFnZW50LWdyb3VwLW5hbWU6ICdlc3RhdGVfYWdlbnQnO1xuJGVzdGF0ZS1hZ2VudC1ncm91cDogKCdlc3RhdGVfYWdlbnQnLCAkZXN0YXRlLWFnZW50LCAkZXN0YXRlLWFnZW50LTJ4LCApO1xuJGZhY2Vib29rLWhvdmVyLWdyb3VwLW5hbWU6ICdmYWNlYm9vay0taG92ZXInO1xuJGZhY2Vib29rLWhvdmVyLWdyb3VwOiAoJ2ZhY2Vib29rLS1ob3ZlcicsICRmYWNlYm9vay1ob3ZlciwgJGZhY2Vib29rLWhvdmVyLTJ4LCApO1xuJGZhY2Vib29rLWdyb3VwLW5hbWU6ICdmYWNlYm9vayc7XG4kZmFjZWJvb2stZ3JvdXA6ICgnZmFjZWJvb2snLCAkZmFjZWJvb2ssICRmYWNlYm9vay0yeCwgKTtcbiRmb3Jnb3QtcHctaG92ZXItZ3JvdXAtbmFtZTogJ2ZvcmdvdF9wdy0taG92ZXInO1xuJGZvcmdvdC1wdy1ob3Zlci1ncm91cDogKCdmb3Jnb3RfcHctLWhvdmVyJywgJGZvcmdvdC1wdy1ob3ZlciwgJGZvcmdvdC1wdy1ob3Zlci0yeCwgKTtcbiRmb3Jnb3QtcHctZ3JvdXAtbmFtZTogJ2ZvcmdvdF9wdyc7XG4kZm9yZ290LXB3LWdyb3VwOiAoJ2ZvcmdvdF9wdycsICRmb3Jnb3QtcHcsICRmb3Jnb3QtcHctMngsICk7XG4kZnJlZS1ncm91cC1uYW1lOiAnZnJlZSc7XG4kZnJlZS1ncm91cDogKCdmcmVlJywgJGZyZWUsICRmcmVlLTJ4LCApO1xuJGdvb2dsZXBsdXMtaG92ZXItZ3JvdXAtbmFtZTogJ2dvb2dsZXBsdXMtLWhvdmVyJztcbiRnb29nbGVwbHVzLWhvdmVyLWdyb3VwOiAoJ2dvb2dsZXBsdXMtLWhvdmVyJywgJGdvb2dsZXBsdXMtaG92ZXIsICRnb29nbGVwbHVzLWhvdmVyLTJ4LCApO1xuJGdvb2dsZXBsdXMtZ3JvdXAtbmFtZTogJ2dvb2dsZXBsdXMnO1xuJGdvb2dsZXBsdXMtZ3JvdXA6ICgnZ29vZ2xlcGx1cycsICRnb29nbGVwbHVzLCAkZ29vZ2xlcGx1cy0yeCwgKTtcbiRoaWRlLWhvdmVyLWdyb3VwLW5hbWU6ICdoaWRlLS1ob3Zlcic7XG4kaGlkZS1ob3Zlci1ncm91cDogKCdoaWRlLS1ob3ZlcicsICRoaWRlLWhvdmVyLCAkaGlkZS1ob3Zlci0yeCwgKTtcbiRoaWRlLWdyb3VwLW5hbWU6ICdoaWRlJztcbiRoaWRlLWdyb3VwOiAoJ2hpZGUnLCAkaGlkZSwgJGhpZGUtMngsICk7XG4kbG9naW4taG92ZXItZ3JvdXAtbmFtZTogJ2xvZ2luLS1ob3Zlcic7XG4kbG9naW4taG92ZXItZ3JvdXA6ICgnbG9naW4tLWhvdmVyJywgJGxvZ2luLWhvdmVyLCAkbG9naW4taG92ZXItMngsICk7XG4kbG9naW4tZ3JvdXAtbmFtZTogJ2xvZ2luJztcbiRsb2dpbi1ncm91cDogKCdsb2dpbicsICRsb2dpbiwgJGxvZ2luLTJ4LCApO1xuJGxwNGYtaG92ZXItZ3JvdXAtbmFtZTogJ2xwNGYtLWhvdmVyJztcbiRscDRmLWhvdmVyLWdyb3VwOiAoJ2xwNGYtLWhvdmVyJywgJGxwNGYtaG92ZXIsICRscDRmLWhvdmVyLTJ4LCApO1xuJGxwNGYtZnVsbC1ob3Zlci1ncm91cC1uYW1lOiAnbHA0Zi1mdWxsLS1ob3Zlcic7XG4kbHA0Zi1mdWxsLWhvdmVyLWdyb3VwOiAoJ2xwNGYtZnVsbC0taG92ZXInLCAkbHA0Zi1mdWxsLWhvdmVyLCAkbHA0Zi1mdWxsLWhvdmVyLTJ4LCApO1xuJGxwNGYtZnVsbC1ncm91cC1uYW1lOiAnbHA0Zi1mdWxsJztcbiRscDRmLWZ1bGwtZ3JvdXA6ICgnbHA0Zi1mdWxsJywgJGxwNGYtZnVsbCwgJGxwNGYtZnVsbC0yeCwgKTtcbiRscDRmLXNpbXBsZS1ob3Zlci1ncm91cC1uYW1lOiAnbHA0Zi1zaW1wbGUtLWhvdmVyJztcbiRscDRmLXNpbXBsZS1ob3Zlci1ncm91cDogKCdscDRmLXNpbXBsZS0taG92ZXInLCAkbHA0Zi1zaW1wbGUtaG92ZXIsICRscDRmLXNpbXBsZS1ob3Zlci0yeCwgKTtcbiRscDRmLXNpbXBsZS1ncm91cC1uYW1lOiAnbHA0Zi1zaW1wbGUnO1xuJGxwNGYtc2ltcGxlLWdyb3VwOiAoJ2xwNGYtc2ltcGxlJywgJGxwNGYtc2ltcGxlLCAkbHA0Zi1zaW1wbGUtMngsICk7XG4kbHA0Zi1ncm91cC1uYW1lOiAnbHA0Zic7XG4kbHA0Zi1ncm91cDogKCdscDRmJywgJGxwNGYsICRscDRmLTJ4LCApO1xuJG15YWRzLWhvdmVyLWdyb3VwLW5hbWU6ICdteWFkcy0taG92ZXInO1xuJG15YWRzLWhvdmVyLWdyb3VwOiAoJ215YWRzLS1ob3ZlcicsICRteWFkcy1ob3ZlciwgJG15YWRzLWhvdmVyLTJ4LCApO1xuJG15YWRzLWdyb3VwLW5hbWU6ICdteWFkcyc7XG4kbXlhZHMtZ3JvdXA6ICgnbXlhZHMnLCAkbXlhZHMsICRteWFkcy0yeCwgKTtcbiRuZXctaGVyZS1ob3Zlci1ncm91cC1uYW1lOiAnbmV3X2hlcmUtLWhvdmVyJztcbiRuZXctaGVyZS1ob3Zlci1ncm91cDogKCduZXdfaGVyZS0taG92ZXInLCAkbmV3LWhlcmUtaG92ZXIsICRuZXctaGVyZS1ob3Zlci0yeCwgKTtcbiRuZXctaGVyZS1ncm91cC1uYW1lOiAnbmV3X2hlcmUnO1xuJG5ldy1oZXJlLWdyb3VwOiAoJ25ld19oZXJlJywgJG5ldy1oZXJlLCAkbmV3LWhlcmUtMngsICk7XG4kcGFtcC1ob3Zlci1ncm91cC1uYW1lOiAncGFtcC0taG92ZXInO1xuJHBhbXAtaG92ZXItZ3JvdXA6ICgncGFtcC0taG92ZXInLCAkcGFtcC1ob3ZlciwgJHBhbXAtaG92ZXItMngsICk7XG4kcGFtcC1mdWxsLWhvdmVyLWdyb3VwLW5hbWU6ICdwYW1wLWZ1bGwtLWhvdmVyJztcbiRwYW1wLWZ1bGwtaG92ZXItZ3JvdXA6ICgncGFtcC1mdWxsLS1ob3ZlcicsICRwYW1wLWZ1bGwtaG92ZXIsICRwYW1wLWZ1bGwtaG92ZXItMngsICk7XG4kcGFtcC1mdWxsLWdyb3VwLW5hbWU6ICdwYW1wLWZ1bGwnO1xuJHBhbXAtZnVsbC1ncm91cDogKCdwYW1wLWZ1bGwnLCAkcGFtcC1mdWxsLCAkcGFtcC1mdWxsLTJ4LCApO1xuJHBhbXAtZ3JvdXAtbmFtZTogJ3BhbXAnO1xuJHBhbXAtZ3JvdXA6ICgncGFtcCcsICRwYW1wLCAkcGFtcC0yeCwgKTtcbiRwaG90b3MtaG92ZXItZ3JvdXAtbmFtZTogJ3Bob3Rvcy0taG92ZXInO1xuJHBob3Rvcy1ob3Zlci1ncm91cDogKCdwaG90b3MtLWhvdmVyJywgJHBob3Rvcy1ob3ZlciwgJHBob3Rvcy1ob3Zlci0yeCwgKTtcbiRwaG90b3MtZ3JvdXAtbmFtZTogJ3Bob3Rvcyc7XG4kcGhvdG9zLWdyb3VwOiAoJ3Bob3RvcycsICRwaG90b3MsICRwaG90b3MtMngsICk7XG4kcHJpdmF0ZS1zZWxsZXItaG92ZXItZ3JvdXAtbmFtZTogJ3ByaXZhdGVfc2VsbGVyLS1ob3Zlcic7XG4kcHJpdmF0ZS1zZWxsZXItaG92ZXItZ3JvdXA6ICgncHJpdmF0ZV9zZWxsZXItLWhvdmVyJywgJHByaXZhdGUtc2VsbGVyLWhvdmVyLCAkcHJpdmF0ZS1zZWxsZXItaG92ZXItMngsICk7XG4kcHJpdmF0ZS1zZWxsZXItZ3JvdXAtbmFtZTogJ3ByaXZhdGVfc2VsbGVyJztcbiRwcml2YXRlLXNlbGxlci1ncm91cDogKCdwcml2YXRlX3NlbGxlcicsICRwcml2YXRlLXNlbGxlciwgJHByaXZhdGUtc2VsbGVyLTJ4LCApO1xuJHB1MTAway1ob3Zlci1ncm91cC1uYW1lOiAncHUxMDBrLS1ob3Zlcic7XG4kcHUxMDBrLWhvdmVyLWdyb3VwOiAoJ3B1MTAway0taG92ZXInLCAkcHUxMDBrLWhvdmVyLCAkcHUxMDBrLWhvdmVyLTJ4LCApO1xuJHB1MTAway1mdWxsLWhvdmVyLWdyb3VwLW5hbWU6ICdwdTEwMGstZnVsbC0taG92ZXInO1xuJHB1MTAway1mdWxsLWhvdmVyLWdyb3VwOiAoJ3B1MTAway1mdWxsLS1ob3ZlcicsICRwdTEwMGstZnVsbC1ob3ZlciwgJHB1MTAway1mdWxsLWhvdmVyLTJ4LCApO1xuJHB1MTAway1mdWxsLWdyb3VwLW5hbWU6ICdwdTEwMGstZnVsbCc7XG4kcHUxMDBrLWZ1bGwtZ3JvdXA6ICgncHUxMDBrLWZ1bGwnLCAkcHUxMDBrLWZ1bGwsICRwdTEwMGstZnVsbC0yeCwgKTtcbiRwdTEwMGstZ3JvdXAtbmFtZTogJ3B1MTAwayc7XG4kcHUxMDBrLWdyb3VwOiAoJ3B1MTAwaycsICRwdTEwMGssICRwdTEwMGstMngsICk7XG4kcHUyMGstaG92ZXItZ3JvdXAtbmFtZTogJ3B1MjBrLS1ob3Zlcic7XG4kcHUyMGstaG92ZXItZ3JvdXA6ICgncHUyMGstLWhvdmVyJywgJHB1MjBrLWhvdmVyLCAkcHUyMGstaG92ZXItMngsICk7XG4kcHUyMGstZnVsbC1ob3Zlci1ncm91cC1uYW1lOiAncHUyMGstZnVsbC0taG92ZXInO1xuJHB1MjBrLWZ1bGwtaG92ZXItZ3JvdXA6ICgncHUyMGstZnVsbC0taG92ZXInLCAkcHUyMGstZnVsbC1ob3ZlciwgJHB1MjBrLWZ1bGwtaG92ZXItMngsICk7XG4kcHUyMGstZnVsbC1ncm91cC1uYW1lOiAncHUyMGstZnVsbCc7XG4kcHUyMGstZnVsbC1ncm91cDogKCdwdTIway1mdWxsJywgJHB1MjBrLWZ1bGwsICRwdTIway1mdWxsLTJ4LCApO1xuJHB1MjBrLWdyb3VwLW5hbWU6ICdwdTIwayc7XG4kcHUyMGstZ3JvdXA6ICgncHUyMGsnLCAkcHUyMGssICRwdTIway0yeCwgKTtcbiRwdTUway1ob3Zlci1ncm91cC1uYW1lOiAncHU1MGstLWhvdmVyJztcbiRwdTUway1ob3Zlci1ncm91cDogKCdwdTUway0taG92ZXInLCAkcHU1MGstaG92ZXIsICRwdTUway1ob3Zlci0yeCwgKTtcbiRwdTUway1mdWxsLWhvdmVyLWdyb3VwLW5hbWU6ICdwdTUway1mdWxsLS1ob3Zlcic7XG4kcHU1MGstZnVsbC1ob3Zlci1ncm91cDogKCdwdTUway1mdWxsLS1ob3ZlcicsICRwdTUway1mdWxsLWhvdmVyLCAkcHU1MGstZnVsbC1ob3Zlci0yeCwgKTtcbiRwdTUway1mdWxsLWdyb3VwLW5hbWU6ICdwdTUway1mdWxsJztcbiRwdTUway1mdWxsLWdyb3VwOiAoJ3B1NTBrLWZ1bGwnLCAkcHU1MGstZnVsbCwgJHB1NTBrLWZ1bGwtMngsICk7XG4kcHU1MGstZ3JvdXAtbmFtZTogJ3B1NTBrJztcbiRwdTUway1ncm91cDogKCdwdTUwaycsICRwdTUwaywgJHB1NTBrLTJ4LCApO1xuJHB1OTlrLWhvdmVyLWdyb3VwLW5hbWU6ICdwdTk5ay0taG92ZXInO1xuJHB1OTlrLWhvdmVyLWdyb3VwOiAoJ3B1OTlrLS1ob3ZlcicsICRwdTk5ay1ob3ZlciwgJHB1OTlrLWhvdmVyLTJ4LCApO1xuJHB1OTlrLWZ1bGwtaG92ZXItZ3JvdXAtbmFtZTogJ3B1OTlrLWZ1bGwtLWhvdmVyJztcbiRwdTk5ay1mdWxsLWhvdmVyLWdyb3VwOiAoJ3B1OTlrLWZ1bGwtLWhvdmVyJywgJHB1OTlrLWZ1bGwtaG92ZXIsICRwdTk5ay1mdWxsLWhvdmVyLTJ4LCApO1xuJHB1OTlrLWZ1bGwtZ3JvdXAtbmFtZTogJ3B1OTlrLWZ1bGwnO1xuJHB1OTlrLWZ1bGwtZ3JvdXA6ICgncHU5OWstZnVsbCcsICRwdTk5ay1mdWxsLCAkcHU5OWstZnVsbC0yeCwgKTtcbiRwdTk5ay1ncm91cC1uYW1lOiAncHU5OWsnO1xuJHB1OTlrLWdyb3VwOiAoJ3B1OTlrJywgJHB1OTlrLCAkcHU5OWstMngsICk7XG4kcXVlcmllcy1ob3Zlci1ncm91cC1uYW1lOiAncXVlcmllcy0taG92ZXInO1xuJHF1ZXJpZXMtaG92ZXItZ3JvdXA6ICgncXVlcmllcy0taG92ZXInLCAkcXVlcmllcy1ob3ZlciwgJHF1ZXJpZXMtaG92ZXItMngsICk7XG4kcXVlcmllcy1ncm91cC1uYW1lOiAncXVlcmllcyc7XG4kcXVlcmllcy1ncm91cDogKCdxdWVyaWVzJywgJHF1ZXJpZXMsICRxdWVyaWVzLTJ4LCApO1xuJHNob3ctaG92ZXItZ3JvdXAtbmFtZTogJ3Nob3ctLWhvdmVyJztcbiRzaG93LWhvdmVyLWdyb3VwOiAoJ3Nob3ctLWhvdmVyJywgJHNob3ctaG92ZXIsICRzaG93LWhvdmVyLTJ4LCApO1xuJHNob3ctZ3JvdXAtbmFtZTogJ3Nob3cnO1xuJHNob3ctZ3JvdXA6ICgnc2hvdycsICRzaG93LCAkc2hvdy0yeCwgKTtcbiRza3lsaW5lLWdyb3VwLW5hbWU6ICdza3lsaW5lJztcbiRza3lsaW5lLWdyb3VwOiAoJ3NreWxpbmUnLCAkc2t5bGluZSwgJHNreWxpbmUtMngsICk7XG4kc29ycnktaG92ZXItZ3JvdXAtbmFtZTogJ3NvcnJ5LS1ob3Zlcic7XG4kc29ycnktaG92ZXItZ3JvdXA6ICgnc29ycnktLWhvdmVyJywgJHNvcnJ5LWhvdmVyLCAkc29ycnktaG92ZXItMngsICk7XG4kc29ycnktZ3JvdXAtbmFtZTogJ3NvcnJ5JztcbiRzb3JyeS1ncm91cDogKCdzb3JyeScsICRzb3JyeSwgJHNvcnJ5LTJ4LCApO1xuJHN0cmluZ3MtZ3JvdXAtbmFtZTogJ3N0cmluZ3MnO1xuJHN0cmluZ3MtZ3JvdXA6ICgnc3RyaW5ncycsICRzdHJpbmdzLCAkc3RyaW5ncy0yeCwgKTtcbiR0d2l0dGVyLWhvdmVyLWdyb3VwLW5hbWU6ICd0d2l0dGVyLS1ob3Zlcic7XG4kdHdpdHRlci1ob3Zlci1ncm91cDogKCd0d2l0dGVyLS1ob3ZlcicsICR0d2l0dGVyLWhvdmVyLCAkdHdpdHRlci1ob3Zlci0yeCwgKTtcbiR0d2l0dGVyLWdyb3VwLW5hbWU6ICd0d2l0dGVyJztcbiR0d2l0dGVyLWdyb3VwOiAoJ3R3aXR0ZXInLCAkdHdpdHRlciwgJHR3aXR0ZXItMngsICk7XG4kd29ybGQtZ3JvdXAtbmFtZTogJ3dvcmxkJztcbiR3b3JsZC1ncm91cDogKCd3b3JsZCcsICR3b3JsZCwgJHdvcmxkLTJ4LCApO1xuJHlvdXR1YmUtaG92ZXItZ3JvdXAtbmFtZTogJ3lvdXR1YmUtLWhvdmVyJztcbiR5b3V0dWJlLWhvdmVyLWdyb3VwOiAoJ3lvdXR1YmUtLWhvdmVyJywgJHlvdXR1YmUtaG92ZXIsICR5b3V0dWJlLWhvdmVyLTJ4LCApO1xuJHlvdXR1YmUtZ3JvdXAtbmFtZTogJ3lvdXR1YmUnO1xuJHlvdXR1YmUtZ3JvdXA6ICgneW91dHViZScsICR5b3V0dWJlLCAkeW91dHViZS0yeCwgKTtcbiRyZXRpbmEtZ3JvdXBzOiAoJGFyZS1ob3Zlci1ncm91cCwgJGFyZS1mdWxsLWhvdmVyLWdyb3VwLCAkYXJlLWZ1bGwtZ3JvdXAsICRhcmUtZ3JvdXAsICRhcnJvdy1ob3Zlci1ncm91cCwgJGFycm93LWdyb3VwLCAkZGVsZXRlLWhvdmVyLWdyb3VwLCAkZGVsZXRlLWdyb3VwLCAkZWRpdC1ob3Zlci1ncm91cCwgJGVkaXQtZ3JvdXAsICRlbWFpbC1hbGVydC1ncmV5LWdyb3VwLCAkZW1haWwtYWxlcnQtcmVkLWdyb3VwLCAkZW1haWwtYWxlcnQtd2hpdGUtZ3JvdXAsICRlc3RhdGUtYWdlbnQtaG92ZXItZ3JvdXAsICRlc3RhdGUtYWdlbnQtZ3JvdXAsICRmYWNlYm9vay1ob3Zlci1ncm91cCwgJGZhY2Vib29rLWdyb3VwLCAkZm9yZ290LXB3LWhvdmVyLWdyb3VwLCAkZm9yZ290LXB3LWdyb3VwLCAkZnJlZS1ncm91cCwgJGdvb2dsZXBsdXMtaG92ZXItZ3JvdXAsICRnb29nbGVwbHVzLWdyb3VwLCAkaGlkZS1ob3Zlci1ncm91cCwgJGhpZGUtZ3JvdXAsICRsb2dpbi1ob3Zlci1ncm91cCwgJGxvZ2luLWdyb3VwLCAkbHA0Zi1ob3Zlci1ncm91cCwgJGxwNGYtZnVsbC1ob3Zlci1ncm91cCwgJGxwNGYtZnVsbC1ncm91cCwgJGxwNGYtc2ltcGxlLWhvdmVyLWdyb3VwLCAkbHA0Zi1zaW1wbGUtZ3JvdXAsICRscDRmLWdyb3VwLCAkbXlhZHMtaG92ZXItZ3JvdXAsICRteWFkcy1ncm91cCwgJG5ldy1oZXJlLWhvdmVyLWdyb3VwLCAkbmV3LWhlcmUtZ3JvdXAsICRwYW1wLWhvdmVyLWdyb3VwLCAkcGFtcC1mdWxsLWhvdmVyLWdyb3VwLCAkcGFtcC1mdWxsLWdyb3VwLCAkcGFtcC1ncm91cCwgJHBob3Rvcy1ob3Zlci1ncm91cCwgJHBob3Rvcy1ncm91cCwgJHByaXZhdGUtc2VsbGVyLWhvdmVyLWdyb3VwLCAkcHJpdmF0ZS1zZWxsZXItZ3JvdXAsICRwdTEwMGstaG92ZXItZ3JvdXAsICRwdTEwMGstZnVsbC1ob3Zlci1ncm91cCwgJHB1MTAway1mdWxsLWdyb3VwLCAkcHUxMDBrLWdyb3VwLCAkcHUyMGstaG92ZXItZ3JvdXAsICRwdTIway1mdWxsLWhvdmVyLWdyb3VwLCAkcHUyMGstZnVsbC1ncm91cCwgJHB1MjBrLWdyb3VwLCAkcHU1MGstaG92ZXItZ3JvdXAsICRwdTUway1mdWxsLWhvdmVyLWdyb3VwLCAkcHU1MGstZnVsbC1ncm91cCwgJHB1NTBrLWdyb3VwLCAkcHU5OWstaG92ZXItZ3JvdXAsICRwdTk5ay1mdWxsLWhvdmVyLWdyb3VwLCAkcHU5OWstZnVsbC1ncm91cCwgJHB1OTlrLWdyb3VwLCAkcXVlcmllcy1ob3Zlci1ncm91cCwgJHF1ZXJpZXMtZ3JvdXAsICRzaG93LWhvdmVyLWdyb3VwLCAkc2hvdy1ncm91cCwgJHNreWxpbmUtZ3JvdXAsICRzb3JyeS1ob3Zlci1ncm91cCwgJHNvcnJ5LWdyb3VwLCAkc3RyaW5ncy1ncm91cCwgJHR3aXR0ZXItaG92ZXItZ3JvdXAsICR0d2l0dGVyLWdyb3VwLCAkd29ybGQtZ3JvdXAsICR5b3V0dWJlLWhvdmVyLWdyb3VwLCAkeW91dHViZS1ncm91cCwgKTtcblxuLy8gVGhlIHByb3ZpZGVkIG1peGlucyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHRoZSBhcnJheS1saWtlIHZhcmlhYmxlc1xuLy9cbi8vIC5pY29uLWhvbWUge1xuLy8gICBAaW5jbHVkZSBzcHJpdGUtd2lkdGgoJGljb24taG9tZSk7XG4vLyB9XG4vL1xuLy8gLmljb24tZW1haWwge1xuLy8gICBAaW5jbHVkZSBzcHJpdGUoJGljb24tZW1haWwpO1xuLy8gfVxuLy9cbi8vIEV4YW1wbGUgdXNhZ2UgaW4gSFRNTDpcbi8vXG4vLyBgZGlzcGxheTogYmxvY2tgIHNwcml0ZTpcbi8vIDxkaXYgY2xhc3M9XCJpY29uLWhvbWVcIj48L2Rpdj5cbi8vXG4vLyBUbyBjaGFuZ2UgYGRpc3BsYXlgIChlLmcuIGBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7YCksIHdlIHN1Z2dlc3QgdXNpbmcgYSBjb21tb24gQ1NTIGNsYXNzOlxuLy9cbi8vIC8vIENTU1xuLy8gLmljb24ge1xuLy8gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyB9XG4vL1xuLy8gLy8gSFRNTFxuLy8gPGkgY2xhc3M9XCJpY29uIGljb24taG9tZVwiPjwvaT5cbkBtaXhpbiBzcHJpdGUtd2lkdGgoJHNwcml0ZSkge1xuICB3aWR0aDogbnRoKCRzcHJpdGUsIDUpO1xufVxuXG5AbWl4aW4gc3ByaXRlLWhlaWdodCgkc3ByaXRlKSB7XG4gIGhlaWdodDogbnRoKCRzcHJpdGUsIDYpO1xufVxuXG5AbWl4aW4gc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpIHtcbiAgJHNwcml0ZS1vZmZzZXQteDogbnRoKCRzcHJpdGUsIDMpO1xuICAkc3ByaXRlLW9mZnNldC15OiBudGgoJHNwcml0ZSwgNCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRzcHJpdGUtb2Zmc2V0LXggICRzcHJpdGUtb2Zmc2V0LXk7XG59XG5cbkBtaXhpbiBzcHJpdGUtaW1hZ2UoJHNwcml0ZSkge1xuICAkc3ByaXRlLWltYWdlOiBudGgoJHNwcml0ZSwgOSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRzcHJpdGUtaW1hZ2V9KTtcbn1cblxuQG1peGluIHNwcml0ZSgkc3ByaXRlKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTtcbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtd2lkdGgoJHNwcml0ZSk7XG4gIEBpbmNsdWRlIHNwcml0ZS1oZWlnaHQoJHNwcml0ZSk7XG59XG5cbi8vIFRoZSBgcmV0aW5hLXNwcml0ZWAgbWl4aW4gc2V0cyB1cCBydWxlcyBhbmQgYSBtZWRpYSBxdWVyeSBmb3IgYSBzcHJpdGUvcmV0aW5hIHNwcml0ZS5cbi8vICAgSXQgc2hvdWxkIGJlIHVzZWQgd2l0aCBhIFwicmV0aW5hIGdyb3VwXCIgdmFyaWFibGUuXG4vL1xuLy8gVGhlIG1lZGlhIHF1ZXJ5IGlzIGZyb20gQ1NTIFRyaWNrczogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9jc3MvcmV0aW5hLWRpc3BsYXktbWVkaWEtcXVlcnkvXG4vL1xuLy8gJGljb24taG9tZS1ncm91cDogKCdpY29uLWhvbWUnLCAkaWNvbi1ob21lLCAkaWNvbi1ob21lLTJ4LCApO1xuLy9cbi8vIC5pY29uLWhvbWUge1xuLy8gICBAaW5jbHVkZSByZXRpbmEtc3ByaXRlKCRpY29uLWhvbWUtZ3JvdXApO1xuLy8gfVxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kLXNpemUoJHNwcml0ZSkge1xuICAkc3ByaXRlLXRvdGFsLXdpZHRoOiBudGgoJHNwcml0ZSwgNyk7XG4gICRzcHJpdGUtdG90YWwtaGVpZ2h0OiBudGgoJHNwcml0ZSwgOCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNwcml0ZS10b3RhbC13aWR0aCAkc3ByaXRlLXRvdGFsLWhlaWdodDtcbn1cblxuQG1peGluIHJldGluYS1zcHJpdGUoJHJldGluYS1ncm91cCkge1xuICAkbm9ybWFsLXNwcml0ZTogbnRoKCRyZXRpbmEtZ3JvdXAsIDIpO1xuICAkcmV0aW5hLXNwcml0ZTogbnRoKCRyZXRpbmEtZ3JvdXAsIDMpO1xuICBAaW5jbHVkZSBzcHJpdGUoJG5vcm1hbC1zcHJpdGUpO1xuXG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgICAgICAgIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTtcbiAgICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1zaXplKCRub3JtYWwtc3ByaXRlKTtcbiAgfVxufVxuXG4vLyBUaGUgYHNwcml0ZXNgIG1peGluIGdlbmVyYXRlcyBpZGVudGljYWwgb3V0cHV0IHRvIHRoZSBDU1MgdGVtcGxhdGVcbi8vICAgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGluc2lkZSBvZiBTQ1NTXG4vL1xuLy8gQGluY2x1ZGUgc3ByaXRlcygkc3ByaXRlc2hlZXQtc3ByaXRlcyk7XG5AbWl4aW4gc3ByaXRlcygkc3ByaXRlcykge1xuICBAZWFjaCAkc3ByaXRlIGluICRzcHJpdGVzIHtcbiAgICAkc3ByaXRlLW5hbWU6IG50aCgkc3ByaXRlLCAxMCk7XG4gICAgLiN7JHNwcml0ZS1uYW1lfSB7XG4gICAgICBAaW5jbHVkZSBzcHJpdGUoJHNwcml0ZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBgcmV0aW5hLXNwcml0ZXNgIG1peGluIGdlbmVyYXRlcyBhIENTUyBydWxlIGFuZCBtZWRpYSBxdWVyeSBmb3IgcmV0aW5hIGdyb3Vwc1xuLy8gICBUaGlzIHlpZWxkcyB0aGUgc2FtZSBvdXRwdXQgYXMgQ1NTIHJldGluYSB0ZW1wbGF0ZSBidXQgY2FuIGJlIG92ZXJyaWRkZW4gaW4gU0NTU1xuLy9cbi8vIEBpbmNsdWRlIHJldGluYS1zcHJpdGVzKCRyZXRpbmEtZ3JvdXBzKTtcbkBtaXhpbiByZXRpbmEtc3ByaXRlcygkcmV0aW5hLWdyb3Vwcykge1xuICBAZWFjaCAkcmV0aW5hLWdyb3VwIGluICRyZXRpbmEtZ3JvdXBzIHtcbiAgICAkc3ByaXRlLW5hbWU6IG50aCgkcmV0aW5hLWdyb3VwLCAxKTtcbiAgICAuI3skc3ByaXRlLW5hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHJldGluYS1zcHJpdGUoJHJldGluYS1ncm91cCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGlucyB3aXRob3V0IHNwcml0ZSBpbWFnZSBkYXRhIChlLmcuIHVybCBwYXJtKVxuXG5AbWl4aW4gc3ByaXRlLXdvLWltYWdlKCRzcHJpdGUpIHtcbiAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7Ki9cbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtd2lkdGgoJHNwcml0ZSk7XG4gIEBpbmNsdWRlIHNwcml0ZS1oZWlnaHQoJHNwcml0ZSk7XG59XG5cbkBtaXhpbiByZXRpbmEtc3ByaXRlLXdvLWltYWdlKCRyZXRpbmEtZ3JvdXApIHtcbiAgJG5vcm1hbC1zcHJpdGU6IG50aCgkcmV0aW5hLWdyb3VwLCAyKTtcbiAgJHJldGluYS1zcHJpdGU6IG50aCgkcmV0aW5hLWdyb3VwLCAzKTtcbiAgQGluY2x1ZGUgc3ByaXRlLXdvLWltYWdlKCRub3JtYWwtc3ByaXRlKTtcblxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gICAgICAgICAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgIC8qQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRyZXRpbmEtc3ByaXRlKTsqL1xuICAgIEBpbmNsdWRlIHNwcml0ZS1iYWNrZ3JvdW5kLXNpemUoJG5vcm1hbC1zcHJpdGUpO1xuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgYWRkaXRpb25zXG5cbkBtaXhpbiBzcHJpdGUtd28taW1hZ2UtcmVzcCgkc3ByaXRlKSB7XG4gICRzcHJpdGUteDogbnRoKCRzcHJpdGUsIDEpO1xuICAkc3ByaXRlLXk6IG50aCgkc3ByaXRlLCAyKTtcbiAgJHNwcml0ZS1vZmZzZXQteDogbnRoKCRzcHJpdGUsIDMpO1xuICAkc3ByaXRlLW9mZnNldC15OiBudGgoJHNwcml0ZSwgNCk7XG4gICRzcHJpdGUtd2lkdGg6IG50aCgkc3ByaXRlLCA1KTtcbiAgJHNwcml0ZS1oZWlnaHQ6IG50aCgkc3ByaXRlLCA2KTtcbiAgJHNwcml0ZS10b3RhbC13aWR0aDogbnRoKCRzcHJpdGUsIDcpO1xuICAkc3ByaXRlLXRvdGFsLWhlaWdodDogbnRoKCRzcHJpdGUsIDgpO1xuXG4gLy8gIHZhciBvZmZzZXRfeCA9IDEwMCAqIHNwcml0ZS54IC8gKHNwcml0ZS50b3RhbF93aWR0aCAtIHNwcml0ZS53aWR0aClcbiAvLyAgIHZhciBvZmZzZXRfeSA9IDEwMCAqIHNwcml0ZS55IC8gKHNwcml0ZS50b3RhbF9oZWlnaHQgLSBzcHJpdGUuaGVpZ2h0KVxuIC8vICAgdmFyIHNpemUgPSAxMDAgKiBzcHJpdGUudG90YWxfd2lkdGggLyBzcHJpdGUud2lkdGhcblxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlICogJHNwcml0ZS14IC8gKCRzcHJpdGUtdG90YWwtd2lkdGggLSAkc3ByaXRlLXdpZHRoKSAxMDAlICogJHNwcml0ZS15IC8gKCRzcHJpdGUtdG90YWwtaGVpZ2h0IC0gJHNwcml0ZS1oZWlnaHQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgKiAkc3ByaXRlLXRvdGFsLXdpZHRoIC8gJHNwcml0ZS13aWR0aDtcbiAgQGluY2x1ZGUgc3ByaXRlLXdpZHRoKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtaGVpZ2h0KCRzcHJpdGUpO1xuICAgIFxufVxuXG5AbWl4aW4gcmV0aW5hLXNwcml0ZS13by1pbWFnZS1yZXNwKCRyZXRpbmEtZ3JvdXApIHtcbiAgJG5vcm1hbC1zcHJpdGU6IG50aCgkcmV0aW5hLWdyb3VwLCAyKTtcbiAgJHJldGluYS1zcHJpdGU6IG50aCgkcmV0aW5hLWdyb3VwLCAzKTtcbiAgQGluY2x1ZGUgc3ByaXRlLXdvLWltYWdlLXJlc3AoJG5vcm1hbC1zcHJpdGUpO1xuXG4vLyAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuLy8gICAgICAgICAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuLy8gICAgLypAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHJldGluYS1zcHJpdGUpOyovXG4vLyAgICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1zaXplKCRub3JtYWwtc3ByaXRlKTtcbi8vICB9XG59XG5cbiIsIi5oZWFkZXJfY29udGFpbmVyIHtcbiAgICB1bC5tZW51IHtcbiAgICAgICAgLyptYXJnaW4tbGVmdDogMDsqL1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5tZW51IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAkbWluX3NwYWNlX2xlZnQ6IDJweDtcbiAgICAgICAgICAgICRtaW5fc3BhY2VfcmlnaHQ6IDJweDtcbiAgICAgICAgICAgICRtaW5fc3BhY2U6ICRtaW5fc3BhY2VfbGVmdCArICRtaW5fc3BhY2VfcmlnaHQ7XG4gICAgICAgICAgICAmLmxpbmUxIHtcbi8qICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsqL1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkcHUyMGstd2lkdGggKyAkcHU1MGstd2lkdGggKyAkcHUxMDBrLXdpZHRoICsgJGFyZS13aWR0aCArICRscDRmLXNpbXBsZS13aWR0aCArIDE2ICsgKDQgKiAxNSk7IC8vICsxNnB4IHdnLiBwYWRkaW5nIDAuNXJlbSwgNSAqIDEwIHdnLiBtYXguIDEwIHB4IHNwYWNlXG4gICAgICAgICAgICAgICAgLyptYXgtd2lkdGg6IDQ3MHB4OyovXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGxpIHtcbi8qICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAtbW96LWNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7Ki9cbiAgICAgICAgICAgICAgICAgICAgJiNteWFkc19saW5rLmxwNGYge1xuICAgICAgICAgICAgICAgICAgICAgICAgLyptYXgtd2lkdGg6ICRwdTIway13aWR0aCArICRtaW5fc3BhY2U7Ki9cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmI2xpbmtfbHA0ZiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRscDRmLXdpZHRoICsgJG1pbl9zcGFjZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmI2xpbmtfbHA0Zi1zaW1wbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLyptYXgtd2lkdGg6ICRscDRmLXNpbXBsZS13aWR0aCArICRtaW5fc3BhY2U7Ki9cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHB1MjBrLXdpZHRoICsgJG1pbl9zcGFjZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtaW5fc3BhY2VfcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtaW5fc3BhY2VfbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRwdTIway13aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmxwNGYge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRwdTIway13aWR0aCAvICggKCAkcHUyMGstd2lkdGggKSAqIDUgKSAqIDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5wdTIwaywgJi5wdTUwaywgJi5wdTk5aywgJi5wdTEwMGssICYuYXJlLCAmLnBhbXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRwdTIway13aWR0aCAvICggKCAkcHUyMGstd2lkdGggKSAqIDUgKSAqIDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAmI2xpbmtfbHA0ZiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRscDRmLXdpZHRoIC8gKCAoICRwdTIway13aWR0aCApICogNSkgKiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRscDRmLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbHA0Zi13aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkbHA0Zi1oZWlnaHQgLyAkbHA0Zi13aWR0aCAqIDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICAmLm15X2FjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuN3JlbSAwLjMycmVtO1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBkaXYjdGVhc2VyX2NvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogJHB1MjBrLWhlaWdodDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweDsgICAgICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgI3RlYXNlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IFxuICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg0cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJ0Lmljb24td2l0aC1iYWRnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIH1cbn1cblxuLnBhZ2UsIC5ibG9nLCAuc2luZ2xlLXBvc3QsIC5hcmNoaXZlLCAuZXJyb3I0MDQge1xuICAgIGRpdiN0ZWFzZXJfY29udGFpbmVyICN0ZWFzZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMDhyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuMDRyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IFxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyBcbiAgICAgICAgLypmb250LXdlaWdodDogYm9sZDsqL1xuICAgICAgICAvKnRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Ki9cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45NTJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjQ0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAmLnN1YmhlYWRlciB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udmVydGljYWxfYWxpZ25fd3JhcHBlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC52ZXJ0aWNhbF9hbGlnbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufSIsIiNmb290ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAzMDMwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAubGlua19saXN0IGEge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIGNvbG9yOiAjYmRiZGJkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH0gICAgICBcbiAgICB9XG4gICAgcC5kZXNjIHtcbiAgICAgICAgY29sb3I6ICNiZGJkYmQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG4gICAgLmxpbmtfbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogI2FlY2JlYjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBociB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjA2MDYwO1xuICAgIH1cbiAgICB1bC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjA2MDYwO1xuICAgICAgICAgICAgJi5nb29nbGVwbHVzX2FsdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5mYWNlYm9va19hbHQge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBpbWcubmV3c2xldHRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBzcGFuLmFsZXJ0X2ljb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MDBweCAtMjI3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgXG4gICAgICAgIC5uZXdzbGV0dGVyIHtcbiAgICAgICAgICAgIC5maS1tYWlsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLTAuNGVtIDAuNGVtIC0wLjJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmcmFtZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB1bnNldDtcbiAgICB9XG4gICAgLmdvb2dsZV9hZCwgLmdvb2dsZV9hZCBpbnMuYWRzYnlnb29nbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAzMDMwO1xuICAgIH1cbn1cblxuLnNreWxpbmVfd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIGhlaWdodDogJHNreWxpbmUtaGVpZ2h0IC0gMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5za3lsaW5lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAvKiAgICBoZWlnaHQ6IDEwNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzcHJpdGVtYXBfdXJsKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocmV0aW5hKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzcHJpdGVtYXBfdXJsX3JldGluYSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkc3ByaXRlbWFwX3VybF9yZXRpbmFfYmdfc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjYycHg7Ki9cbiAgICAgICAgLyokaWNvbi1za3lsaW5lLWdyb3VwOiAoJ2ljb24tc2t5bGluZScsICRza3lsaW5lLCAkc2t5bGluZS0yeCk7Ki9cbiAgICAgICAgLy8gQGluY2x1ZGUgcmV0aW5hLXNwcml0ZS13by1pbWFnZSgkaWNvbi1za3lsaW5lLWdyb3VwKTtcbiAgICAgICAgd2lkdGg6ICRza3lsaW5lLXdpZHRoIC0gMjtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiAkc2t5bGluZS1oZWlnaHQgLSAxO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkc2t5bGluZS1vZmZzZXQteCAtIDEgJHNreWxpbmUtb2Zmc2V0LXg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkc2t5bGluZS10b3RhbC13aWR0aCAkc2t5bGluZS10b3RhbC1oZWlnaHQ7XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIC8qbGVmdDogJHNreWxpbmUtd2lkdGggLSAyOyovXG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjaGVhcC1ob21lcy1zb2NpYWwtbWVkaWEge1xuICAgIC5pY29uIHtcbiAgICAgICAgLypoZWlnaHQ6IDQ5cHg7Ki9cbiAgICAgICAgLyp3aWR0aDogNDlweDsqL1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAvKiBNYWtlcyBzdXJlIHRoZSBsaW5rIGRvZXNuJ3QgZ2V0IHVuZGVybGluZWQgKi9cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgLyogcmFpc2VzIGFuY2hvciB0YWcgYWJvdmUgZXZlcnl0aGluZyBlbHNlIGluIGRpdiAqL1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAvKndvcmthcm91bmQgdG8gbWFrZSBjbGlja2FibGUgaW4gSUUgKi9cbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAvKndvcmthcm91bmQgdG8gbWFrZSBjbGlja2FibGUgaW4gSUUgKi9cbiAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAgICAgICAgIC8qd29ya2Fyb3VuZCB0byBtYWtlIGNsaWNrYWJsZSBpbiBJRSAqL1xuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiZGJkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjNyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRm9udCBzaXplIGFkanVzdG1lbnRzIGJlY2F1c2Ugd29ycHJlc3MgdGhlbWUgaGFzIGEgcmVtIG9mIDYyLjUlXG5cbi5ibG9nLCAucGFnZSwgLnNpbmdsZS1wb3N0LCAuYXJjaGl2ZSB7XG4gICAgI2Zvb3Rlci1jb250YWluZXIge1xuICAgICAgICAqIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgICAubGlua19saXN0IGEgeyBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMuMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwLmRlc2Mge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgICAgICB9XG4gICAgICAgIC5saW5rX2xpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC44cmVtO1xuICAgICAgICB9XG4gICAgICAgIHVsLm5hdmlnYXRpb24ge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICYuZ29vZ2xlcGx1c19hbHQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjMycmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmZhY2Vib29rX2FsdCB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjIuMzJyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjMycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgaW1nLm5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIHNwYW4uYWxlcnRfaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MDBweCAtMjI3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICAgXG4gICAgICAgIH1cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNoYXJpZmZcblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZVxcIDUgQnJhbmRzO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKC9jc3MvZm9udHMvZmEtYnJhbmRzLTQwMC5lb3QpO1xuICAgIHNyYzogdXJsKC9jc3MvZm9udHMvZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4KSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKC9jc3MvZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybCgvY3NzL2ZvbnRzL2ZhLWJyYW5kcy00MDAud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC9jc3MvZm9udHMvZmEtYnJhbmRzLTQwMC50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoL2Nzcy9mb250cy9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZSkgZm9ybWF0KFwic3ZnXCIpXG59XG5cbiNmb290ZXItY29udGFpbmVyIHtcblxuICAgIC5mYWIge1xuICAgICAgICBmb250LWZhbWlseTogRm9udCBBd2Vzb21lXFwgNSBCcmFuZHNcbiAgICB9XG5cbiAgICAvKkBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogRm9udCBBd2Vzb21lXFwgNSBGcmVlO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHNyYzogdXJsKC9jc3MvZm9udHMvZmEtcmVndWxhci00MDAuZW90KTtcbiAgICAgICAgc3JjOiB1cmwoL2Nzcy9mb250cy9mYS1yZWd1bGFyLTQwMC5lb3Q/I2llZml4KSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKC9jc3MvZm9udHMvZmEtcmVndWxhci00MDAud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoL2Nzcy9mb250cy9mYS1yZWd1bGFyLTQwMC53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoL2Nzcy9mb250cy9mYS1yZWd1bGFyLTQwMC50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoL2Nzcy9mb250cy9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdChcInN2Z1wiKVxuICAgIH1cbiAgICBcbiAgICAuZmFyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMFxuICAgIH1cbiAgICBcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZVxcIDUgRnJlZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBzcmM6IHVybCgvY3NzL2ZvbnRzL2ZhLXNvbGlkLTkwMC5lb3QpO1xuICAgICAgICBzcmM6IHVybCgvY3NzL2ZvbnRzL2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4KSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKC9jc3MvZm9udHMvZmEtc29saWQtOTAwLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKC9jc3MvZm9udHMvZmEtc29saWQtOTAwLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCgvY3NzL2ZvbnRzL2ZhLXNvbGlkLTkwMC50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoL2Nzcy9mb250cy9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lKSBmb3JtYXQoXCJzdmdcIilcbiAgICB9Ki9cblxuICAgIC8qLmZhLFxuICAgIC5mYXIsXG4gICAgLmZhcyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWVcXCA1IEZyZWVcbiAgICB9XG4gICAgXG4gICAgLmZhLFxuICAgIC5mYXMge1xuICAgICAgICBmb250LXdlaWdodDogOTAwXG4gICAgfSovXG5cbiAgICAuc2hhcmlmZiB7XG4gICAgICAgIC5mYSxcbiAgICAgICAgLmZhYixcbiAgICAgICAgLmZhbCxcbiAgICAgICAgLmZhcixcbiAgICAgICAgLmZhcyB7XG4gICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgJiwgJiAuc2hhcmVfY291bnQsICYgLnNoYXJlX3RleHQge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAmLCAmIGEge1xuICAgICAgICAgICAgICAgIC8qaGVpZ2h0OiAzNXB4OyovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mYWIsIC5mYXIsIC5mYXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgICAgICAgIC8qbGluZS1oZWlnaHQ6IDMwcHg7Ki9cbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zaGFyZV9jb3VudCwgLnNoYXJlX3RleHQge1xuICAgICAgICAgICAgICAgIC8qbGluZS1oZWlnaHQ6IDMwcHg7Ki9cbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2hhcmVfY291bnQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBzcGFuLnNoYXJlX3RleHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB9XG4gICAgICAgIC5mYWNlYm9vayB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI3M2M4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mYS1mYWNlYm9vay1mIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcRjM5RVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZ29vZ2xlcGx1cyB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM0ODM2O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc1YjQ0XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZhLWdvb2dsZS1wbHVzLWcge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxGMEQ1XCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zaGFyaWZmLWJ1dHRvbiB7XG4gICAgICAgICAgICBhIHsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAub3JpZW50YXRpb24taG9yaXpvbnRhbC5idXR0b24tc3R5bGUtc3RhbmRhcmQgbGkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAjNzY3Njc2LFxyXG4gIHNlY29uZGFyeTogIzc2NzY3NixcclxuICBzdWNjZXNzOiAjM2FkYjc2LFxyXG4gIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgYWxlcnQ6ICNjYzRiMzcsXHJcbik7XHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XHJcbiRkYXJrLWdyYXk6ICM4YThhOGE7XHJcbiRibGFjazogIzU1NTtcclxuJHdoaXRlOiAjZmVmZWZlO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcclxuLy8kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1mb250LWZhbWlseTogJ09wZW4gU2FucycsVmVyZGFuYSwnRGVqYVZ1IFNhbnMnLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiAwO1xyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XHJcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcclxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xyXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IHBvaW50ZXI7XHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM0KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgpLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyMiksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuICBsYXJnZTogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzNCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI4KSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjIpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbik7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogIzAwMDBhYTtcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuLy8gJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3I6ICRibGFjaztcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gIHRpbnk6IDAuNnJlbSxcclxuICBzbWFsbDogMC43NXJlbSxcclxuICBkZWZhdWx0OiAwLjlyZW0sXHJcbiAgbGFyZ2U6IDEuMjVyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xyXG5cclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XHJcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xyXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGNhcmQtc2hhZG93OiBub25lO1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gIHNtYWxsOiAwLjY2cmVtLFxyXG4gIG1lZGl1bTogMXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gIHNtYWxsOiAwLjMzZW0sXHJcbiAgbWVkaXVtOiAwLjVyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgc21hbGw6IDEuNWVtLFxyXG4gIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgdGlueTogMTAwcHgsXHJcbiAgc21hbGw6IDIwMHB4LFxyXG4gIGxhcmdlOiA0MDBweCxcclxuKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjMuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XHJcblxyXG4vLyAyNC4gTWV0ZXJcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xyXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XHJcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XHJcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xyXG5cclxuLy8gMjUuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRvZmZjYW52YXMtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbik7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbik7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNi4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI3LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygxMCAxMyk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMCk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuXHJcbi8vIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcclxuICBkb3duLFxyXG4gIHVwLFxyXG4gIHJpZ2h0LFxyXG4gIGxlZnRcclxuKTtcclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XHJcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuXHJcbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xyXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtZGlzcGxheTogKFxyXG4gIGlubGluZSxcclxuICBpbmxpbmUtYmxvY2ssXHJcbiAgYmxvY2ssXHJcbiAgdGFibGUsXHJcbiAgdGFibGUtY2VsbFxyXG4pO1xyXG5cclxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XHJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxyXG4gIGRpc2MsXHJcbiAgY2lyY2xlLFxyXG4gIHNxdWFyZVxyXG4pO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxyXG4gIGRlY2ltYWwsXHJcbiAgbG93ZXItYWxwaGEsXHJcbiAgbG93ZXItbGF0aW4sXHJcbiAgbG93ZXItcm9tYW4sXHJcbiAgdXBwZXItYWxwaGEsXHJcbiAgdXBwZXItbGF0aW4sXHJcbiAgdXBwZXItcm9tYW5cclxuKTtcclxuXHJcbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcclxuICB2aXNpYmxlLFxyXG4gIGhpZGRlbixcclxuICBzY3JvbGxcclxuKTtcclxuXHJcbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtcG9zaXRpb246IChcclxuICBzdGF0aWMsXHJcbiAgcmVsYXRpdmUsXHJcbiAgYWJzb2x1dGUsXHJcbiAgZml4ZWRcclxuKTtcclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XHJcblxyXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xyXG5cclxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNpemluZzogKFxyXG4gIHdpZHRoLFxyXG4gIGhlaWdodFxyXG4pO1xyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgMjU6IDI1JSxcclxuICA1MDogNTAlLFxyXG4gIDc1OiA3NSUsXHJcbiAgMTAwOiAxMDAlXHJcbik7XHJcblxyXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XHJcblxyXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcclxuICBvdmVybGluZSxcclxuICB1bmRlcmxpbmUsXHJcbiAgbGluZS10aHJvdWdoLFxyXG4pO1xyXG5cclxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxyXG4gIGxvd2VyY2FzZSxcclxuICB1cHBlcmNhc2UsXHJcbiAgY2FwaXRhbGl6ZVxyXG4pO1xyXG5cclxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDQ3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gNDguIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA0OS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDUyLiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDUzLiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gNTQuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1NS4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTYuIFh5IEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR4eS1ncmlkOiB0cnVlO1xyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweFxyXG4pO1xyXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xyXG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XHJcbiIsIi5nb29nbGVfYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgLnN0YW5kYXJkLXRvcCwgLmhvbWVwYWdlLW1haW4sIC5zdGFuZGFyZC1ib3QsIC5jb250YWN0LXRvcCwgLmZvb3RlciB7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYubGlzdF92aWV3IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjY2NjO1xuICAgIH1cbiAgICAubm9tLWNlbnRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5zaW5nbGUtcG9zdCAuZ29vZ2xlX2FkLCAuYmxvZyAuZ29vZ2xlX2FkLCAuYXJjaGl2ZSAuZ29vZ2xlX2FkLCAuZXJyb3I0MDQgLmdvb2dsZV9hZCB7XG4gICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbiAgICAmLCBpbnMuYWRzYnlnb29nbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgfVxufVxuXG5pbnMuYWRzYnlnb29nbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6I2ZlZmVmZTtcbn0iLCIvKiFcbkNob3NlbiwgYSBTZWxlY3QgQm94IEVuaGFuY2VyIGZvciBqUXVlcnkgYW5kIFByb3RvdHlwZVxuYnkgUGF0cmljayBGaWxsZXIgZm9yIEhhcnZlc3QsIGh0dHA6Ly9nZXRoYXJ2ZXN0LmNvbVxuXG5WZXJzaW9uIDEuOC4zXG5GdWxsIHNvdXJjZSBhdCBodHRwczovL2dpdGh1Yi5jb20vaGFydmVzdGhxL2Nob3NlblxuQ29weXJpZ2h0IChjKSAyMDExLTIwMTggSGFydmVzdCBodHRwOi8vZ2V0aGFydmVzdC5jb21cblxuTUlUIExpY2Vuc2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJ2ZXN0aHEvY2hvc2VuL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWRcblRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgYnkgYGdydW50IGJ1aWxkYCwgZG8gbm90IGVkaXQgaXQgYnkgaGFuZC5cbiovXG5cbi8qIEBncm91cCBCYXNlICovXG4uY2hvc2VuLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKmZvbnQtc2l6ZTogMTNweDsqL1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAqIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiAxMDEwO1xuICB3aWR0aDogMTAwJTtcbiAgLypib3JkZXI6IDFweCBzb2xpZCAjYWFhOyovXG4gIGJvcmRlci10b3A6IDA7XG4gIC8qYmFja2dyb3VuZDogI2ZmZjsqL1xuLyogIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7Ki9cbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLWRyb3Age1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNob3Nlbi1jb250YWluZXIgYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNob3Nlbi1jb250YWluZXIgLnNlYXJjaC1jaG9pY2UgLmdyb3VwLW5hbWUsIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tc2luZ2xlIC5ncm91cC1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvKmNvbG9yOiAjOTk5OTk5OyovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5zZWFyY2gtY2hvaWNlIC5ncm91cC1uYW1lOmFmdGVyLCAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXNpbmdsZSAuZ3JvdXAtbmFtZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiOlwiO1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogQGVuZCAqL1xuLyogQGdyb3VwIFNpbmdsZSBDaG9zZW4gKi9cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qcGFkZGluZzogMCAwIDAgOHB4OyovXG4gIC8qaGVpZ2h0OiAyNXB4OyovXG4vKiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDIwJSwgI2ZmZiksIGNvbG9yLXN0b3AoNTAlLCAjZjZmNmY2KSwgY29sb3Itc3RvcCg1MiUsICNlZWUpLCB0bygjZjRmNGY0KSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZmZmIDIwJSwgI2Y2ZjZmNiA1MCUsICNlZWUgNTIlLCAjZjRmNGY0IDEwMCUpOyovXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4vKiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgM3B4ICNmZmYgaW5zZXQsIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAjZmZmIGluc2V0LCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBjb2xvcjogIzQ0NDsqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qbGluZS1oZWlnaHQ6IDI0cHg7Ki9cbiAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKm9wYWNpdHk6IDA7Ki9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0Oi05OTk5cHg7XG4gIC8qZGlzcGxheTogbm9uZTsqL1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1kZWZhdWx0IHtcbiAgLypjb2xvcjogIzk5OTsqL1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKm1hcmdpbi1yaWdodDogMjZweDsqL1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlLXdpdGgtZGVzZWxlY3Qgc3BhbiB7XG4gIC8qbWFyZ2luLXJpZ2h0OiAzOHB4OyovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBhYmJyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuLyogIHRvcDogNnB4O1xuICByaWdodDogMjZweDsqL1xuICBkaXNwbGF5OiBibG9jaztcbi8qICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4OyovXG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9jaG9zZW4tc3ByaXRlLnBuZ1wiKSAtNDJweCAxcHggbm8tcmVwZWF0O1xuICAvKmZvbnQtc2l6ZTogMXB4OyovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBhYmJyOmhvdmVyIHtcbiAgLypiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMTBweDsqL1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUuY2hvc2VuLWRpc2FibGVkIC5jaG9zZW4tc2luZ2xlIGFiYnI6aG92ZXIge1xuICAvKmJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4OyovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKndpZHRoOiAxOHB4OyovXG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9jaG9zZW4tc3ByaXRlLnBuZ1wiKSBuby1yZXBlYXQgMHB4IDJweDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDEwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMXJlbSAxLjNyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgaSB7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxLjZyZW07XG4gICAgICB0b3A6IDAuMDJyZW07XG4gICAgICBjb2xvcjogIzYwNjA2MDtcbiAgfVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBtYXJnaW46IDFweCAwO1xuICBwYWRkaW5nOiA0cHggMjBweCA0cHggNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdXRsaW5lOiAwO1xuICAvKmJvcmRlcjogMXB4IHNvbGlkICNhYWE7Ki9cbiAgLypiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvY2hvc2VuLXNwcml0ZS5wbmdcIikgbm8tcmVwZWF0IDEwMCUgLTIwcHg7Ki9cbiAgLypmb250LXNpemU6IDFlbTsqL1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tZHJvcCB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIC8qYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7Ki9cbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi1jb250YWluZXItc2luZ2xlLW5vc2VhcmNoIC5jaG9zZW4tc2VhcmNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vKiBAZW5kICovXG4vKiBAZ3JvdXAgUmVzdWx0cyAqL1xuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIHtcbiAgLypjb2xvcjogIzQ0NDsqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLyptYXJnaW46IDAgNHB4IDRweCAwOyovXG4gIC8qcGFkZGluZzogMCAwIDAgNHB4OyovXG4gIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgLypwYWRkaW5nOiA1cHggNnB4OyovXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qbGluZS1oZWlnaHQ6IDE1cHg7Ki9cbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5hY3RpdmUtcmVzdWx0IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5kaXNhYmxlZC1yZXN1bHQge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIC8qY29sb3I6ICNjY2M7Ki9cbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuaGlnaGxpZ2h0ZWQge1xuICAvKmJhY2tncm91bmQtY29sb3I6ICMzODc1ZDc7Ki9cbiAgLypiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDIwJSwgIzM4NzVkNyksIGNvbG9yLXN0b3AoOTAlLCAjMmE2MmJjKSk7Ki9cbiAgLypiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzM4NzVkNyAyMCUsICMyYTYyYmMgOTAlKTsqL1xuICAvKmNvbG9yOiAjZmZmOyovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5uby1yZXN1bHRzIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMS4zcmVtO1xuICBzcGFuIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1yZXN1bHQge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1vcHRpb24ge1xuICAvKnBhZGRpbmctbGVmdDogMTVweDsqL1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkgZW0ge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBAZW5kICovXG4vKiBAZ3JvdXAgTXVsdGkgQ2hvc2VuICovXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgLypwYWRkaW5nOiAwIDVweDsqL1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAvKmJvcmRlcjogMXB4IHNvbGlkICNhYWE7Ki9cbiAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyovXG4gIC8qYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgxJSwgI2VlZSksIGNvbG9yLXN0b3AoMTUlLCAjZmZmKSk7Ki9cbiAgLypiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2VlZSAxJSwgI2ZmZiAxNSUpOyovXG4gIGN1cnNvcjogdGV4dDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAvKm1hcmdpbjogMXB4IDA7Ki9cbiAgcGFkZGluZzogMDtcbiAgLypoZWlnaHQ6IDI1cHg7Ki9cbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAvKmNvbG9yOiAjOTk5OyovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qd2lkdGg6IDI1cHg7Ki9cbn1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qbWFyZ2luOiAzcHggNXB4IDNweCAwOyovXG4gIC8qcGFkZGluZzogM3B4IDIwcHggM3B4IDVweDsqL1xuICAvKmJvcmRlcjogMXB4IHNvbGlkICNhYWE7Ki9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKmJvcmRlci1yYWRpdXM6IDNweDsqL1xuICAvKmJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7Ki9cbiAgLypiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDIwJSwgI2Y0ZjRmNCksIGNvbG9yLXN0b3AoNTAlLCAjZjBmMGYwKSwgY29sb3Itc3RvcCg1MiUsICNlOGU4ZTgpLCB0bygjZWVlKSk7Ki9cbiAgLypiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2Y0ZjRmNCAyMCUsICNmMGYwZjAgNTAlLCAjZThlOGU4IDUyJSwgI2VlZSAxMDAlKTsqL1xuICAvKmJhY2tncm91bmQtc2l6ZTogMTAwJSAxOXB4OyovXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLyotd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggI2ZmZiBpbnNldCwgMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpOyovXG4gICAgICAgICAgLypib3gtc2hhZG93OiAwIDAgMnB4ICNmZmYgaW5zZXQsIDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTsqL1xuICAvKmNvbG9yOiAjMzMzOyovXG4gIC8qbGluZS1oZWlnaHQ6IDEzcHg7Ki9cbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSBzcGFuIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyp0b3A6IDRweDsqL1xuICAvKnJpZ2h0OiAzcHg7Ki9cbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qd2lkdGg6IDEycHg7Ki9cbiAgLypoZWlnaHQ6IDEycHg7Ki9cbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2Nob3Nlbi1zcHJpdGUucG5nXCIpIC00MnB4IDFweCBuby1yZXBlYXQ7XG4gIC8qZm9udC1zaXplOiAxcHg7Ki9cbn1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMTBweDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UtZGlzYWJsZWQge1xuICAvKnBhZGRpbmctcmlnaHQ6IDVweDsqL1xuICAvKmJvcmRlcjogMXB4IHNvbGlkICNjY2M7Ki9cbiAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0OyovXG4gIC8qYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgyMCUsICNmNGY0ZjQpLCBjb2xvci1zdG9wKDUwJSwgI2YwZjBmMCksIGNvbG9yLXN0b3AoNTIlLCAjZThlOGU4KSwgdG8oI2VlZSkpOyovXG4gIC8qYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQgMjAlLCAjZjBmMGYwIDUwJSwgI2U4ZThlOCA1MiUsICNlZWUgMTAwJSk7Ki9cbiAgLypjb2xvcjogIzY2NjsqL1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZS1mb2N1cyB7XG4gIC8qYmFja2dyb3VuZDogI2Q0ZDRkNDsqL1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZS1mb2N1cyAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLXJlc3VsdHMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tZHJvcCAucmVzdWx0LXNlbGVjdGVkIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAvKmNvbG9yOiAjY2NjOyovXG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogQGVuZCAqL1xuLyogQGdyb3VwIEFjdGl2ZSAgKi9cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLXNpbmdsZSB7XG4gIC8qYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsqL1xuICAvKi13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7Ki9cbiAgICAgICAgICAvKmJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpOyovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIHtcbiAgLypib3JkZXI6IDFweCBzb2xpZCAjYWFhOyovXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAvKmJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMjAlLCAjZWVlKSwgY29sb3Itc3RvcCg4MCUsICNmZmYpKTsqL1xuICAvKmJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZWVlIDIwJSwgI2ZmZiA4MCUpOyovXG4gIC8qLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAwICNmZmYgaW5zZXQ7Ki9cbiAgICAgICAgICAvKmJveC1zaGFkb3c6IDAgMXB4IDAgI2ZmZiBpbnNldDsqL1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgLypiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMThweCAycHg7Ki9cbn1cblxuLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tY2hvaWNlcyB7XG4gIC8qYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsqL1xuICAvKi13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7Ki9cbiAgICAgICAgICAvKmJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpOyovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgLypjb2xvcjogIzIyMiAhaW1wb3J0YW50OyovXG59XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBEaXNhYmxlZCBTdXBwb3J0ICovXG4uY2hvc2VuLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLXNpbmdsZSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLWNob2ljZXMgLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBSaWdodCB0byBMZWZ0ICovXG4uY2hvc2VuLXJ0bCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKnBhZGRpbmc6IDAgOHB4IDAgMDsqL1xufVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvKm1hcmdpbi1sZWZ0OiAyNnB4OyovXG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZS13aXRoLWRlc2VsZWN0IHNwYW4ge1xuICAvKm1hcmdpbi1sZWZ0OiAzOHB4OyovXG59XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIGRpdiB7XG4gIHJpZ2h0OiBhdXRvO1xuICAvKmxlZnQ6IDNweDsqL1xufVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZSBhYmJyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIC8qbGVmdDogMjZweDsqL1xufVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLWNob2ljZXMgbGkge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLmNob3Nlbi1ydGwgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2Uge1xuICAvKm1hcmdpbjogM3B4IDVweCAzcHggMDsqL1xuICAvKnBhZGRpbmc6IDNweCA1cHggM3B4IDE5cHg7Ki9cbn1cblxuLmNob3Nlbi1ydGwgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNHB4O1xufVxuXG4uY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXJlc3VsdHMge1xuICBtYXJnaW46IDAgMCA0cHggNHB4O1xuICBwYWRkaW5nOiAwIDRweCAwIDA7XG59XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1vcHRpb24ge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jaG9zZW4tcnRsLmNob3Nlbi1jb250YWluZXItYWN0aXZlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUgZGl2IHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIHBhZGRpbmc6IDRweCA1cHggNHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9jaG9zZW4tc3ByaXRlLnBuZ1wiKSBuby1yZXBlYXQgLTMwcHggLTIwcHg7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4uY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDZweCAycHg7XG59XG5cbi5jaG9zZW4tcnRsLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTJweCAycHg7XG59XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBSZXRpbmEgY29tcGF0aWJpbGl0eSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSB7XG4gIC5jaG9zZW4tcnRsIC5jaG9zZW4tc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgYWJicixcbiAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiLFxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyAuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSxcbiAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzLXNjcm9sbC1kb3duIHNwYW4sXG4gIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cy1zY3JvbGwtdXAgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2Nob3Nlbi1zcHJpdGVAMngucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1MnB4IDM3cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogQGVuZCAqLyIsIi5sZWFmbGV0LWNsdXN0ZXItYW5pbSAubGVhZmxldC1tYXJrZXItaWNvbiwgLmxlYWZsZXQtY2x1c3Rlci1hbmltIC5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xuXHQtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuXHQtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuXHQtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgb3BhY2l0eSAwLjNzIGVhc2UtaW47XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcbn1cblxuLmxlYWZsZXQtY2x1c3Rlci1zcGlkZXItbGVnIHtcblx0Lyogc3Ryb2tlLWRhc2hvZmZzZXQgKGR1cmF0aW9uIGFuZCBmdW5jdGlvbikgc2hvdWxkIG1hdGNoIHdpdGggbGVhZmxldC1tYXJrZXItaWNvbiB0cmFuc2Zvcm0gaW4gb3JkZXIgdG8gdHJhY2sgaXQgZXhhY3RseSAqL1xuXHQtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgLXdlYmtpdC1zdHJva2Utb3BhY2l0eSAwLjNzIGVhc2UtaW47XG5cdC1tb3otdHJhbnNpdGlvbjogLW1vei1zdHJva2UtZGFzaG9mZnNldCAwLjNzIGVhc2Utb3V0LCAtbW96LXN0cm9rZS1vcGFjaXR5IDAuM3MgZWFzZS1pbjtcblx0LW8tdHJhbnNpdGlvbjogLW8tc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgLW8tc3Ryb2tlLW9wYWNpdHkgMC4zcyBlYXNlLWluO1xuXHR0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAwLjNzIGVhc2Utb3V0LCBzdHJva2Utb3BhY2l0eSAwLjNzIGVhc2UtaW47XG59XG4iLCIvKiByZXF1aXJlZCBzdHlsZXMgKi9cblxuLmxlYWZsZXQtcGFuZSxcbi5sZWFmbGV0LXRpbGUsXG4ubGVhZmxldC1tYXJrZXItaWNvbixcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3csXG4ubGVhZmxldC10aWxlLWNvbnRhaW5lcixcbi5sZWFmbGV0LXBhbmUgPiBzdmcsXG4ubGVhZmxldC1wYW5lID4gY2FudmFzLFxuLmxlYWZsZXQtem9vbS1ib3gsXG4ubGVhZmxldC1pbWFnZS1sYXllcixcbi5sZWFmbGV0LWxheWVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdH1cbi5sZWFmbGV0LWNvbnRhaW5lciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cbi5sZWFmbGV0LXRpbGUsXG4ubGVhZmxldC1tYXJrZXItaWNvbixcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHQgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXHQgIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuXHR9XG4vKiBTYWZhcmkgcmVuZGVycyBub24tcmV0aW5hIHRpbGUgb24gcmV0aW5hIGJldHRlciB3aXRoIHRoaXMsIGJ1dCBDaHJvbWUgaXMgd29yc2UgKi9cbi5sZWFmbGV0LXNhZmFyaSAubGVhZmxldC10aWxlIHtcblx0aW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuXHR9XG4vKiBoYWNrIHRoYXQgcHJldmVudHMgaHcgbGF5ZXJzIFwic3RyZXRjaGluZ1wiIHdoZW4gbG9hZGluZyBuZXcgdGlsZXMgKi9cbi5sZWFmbGV0LXNhZmFyaSAubGVhZmxldC10aWxlLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxNjAwcHg7XG5cdGhlaWdodDogMTYwMHB4O1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcblx0fVxuLmxlYWZsZXQtbWFya2VyLWljb24sXG4ubGVhZmxldC1tYXJrZXItc2hhZG93IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbi8qIC5sZWFmbGV0LWNvbnRhaW5lciBzdmc6IHJlc2V0IHN2ZyBtYXgtd2lkdGggZGVjbGVyYXRpb24gc2hpcHBlZCBpbiBKb29tbGEhIChqb29tbGEub3JnKSAzLnggKi9cbi8qIC5sZWFmbGV0LWNvbnRhaW5lciBpbWc6IG1hcCBpcyBicm9rZW4gaW4gRkYgaWYgeW91IGhhdmUgbWF4LXdpZHRoOiAxMDAlIG9uIHRpbGVzICovXG4ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHN2Zyxcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1tYXJrZXItcGFuZSBpbWcsXG4ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtc2hhZG93LXBhbmUgaW1nLFxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LXRpbGUtcGFuZSBpbWcsXG4ubGVhZmxldC1jb250YWluZXIgaW1nLmxlYWZsZXQtaW1hZ2UtbGF5ZXIge1xuXHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0bWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5sZWFmbGV0LXRvdWNoLXpvb20ge1xuXHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4teCBwYW4teTtcblx0dG91Y2gtYWN0aW9uOiBwYW4teCBwYW4teTtcblx0fVxuLmxlYWZsZXQtY29udGFpbmVyLmxlYWZsZXQtdG91Y2gtZHJhZyB7XG5cdC1tcy10b3VjaC1hY3Rpb246IHBpbmNoLXpvb207XG5cdC8qIEZhbGxiYWNrIGZvciBGRiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgcGluY2gtem9vbSAqL1xuXHR0b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcbn1cbi5sZWFmbGV0LWNvbnRhaW5lci5sZWFmbGV0LXRvdWNoLWRyYWcubGVhZmxldC10b3VjaC16b29tIHtcblx0LW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcblx0dG91Y2gtYWN0aW9uOiBub25lO1xufVxuLmxlYWZsZXQtY29udGFpbmVyIHtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5sZWFmbGV0LWNvbnRhaW5lciBhIHtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDUxLCAxODEsIDIyOSwgMC40KTtcbn1cbi5sZWFmbGV0LXRpbGUge1xuXHRmaWx0ZXI6IGluaGVyaXQ7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuLmxlYWZsZXQtdGlsZS1sb2FkZWQge1xuXHR2aXNpYmlsaXR5OiBpbmhlcml0O1xuXHR9XG4ubGVhZmxldC16b29tLWJveCB7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0ICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR6LWluZGV4OiA4MDA7XG5cdH1cbi8qIHdvcmthcm91bmQgZm9yIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTg4ODMxOSAqL1xuLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHN2ZyB7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuLmxlYWZsZXQtcGFuZSAgICAgICAgIHsgei1pbmRleDogNDAwOyB9XG5cbi5sZWFmbGV0LXRpbGUtcGFuZSAgICB7IHotaW5kZXg6IDIwMDsgfVxuLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHsgei1pbmRleDogNDAwOyB9XG4ubGVhZmxldC1zaGFkb3ctcGFuZSAgeyB6LWluZGV4OiA1MDA7IH1cbi5sZWFmbGV0LW1hcmtlci1wYW5lICB7IHotaW5kZXg6IDYwMDsgfVxuLmxlYWZsZXQtdG9vbHRpcC1wYW5lICAgeyB6LWluZGV4OiA2NTA7IH1cbi5sZWFmbGV0LXBvcHVwLXBhbmUgICB7IHotaW5kZXg6IDcwMDsgfVxuXG4ubGVhZmxldC1tYXAtcGFuZSBjYW52YXMgeyB6LWluZGV4OiAxMDA7IH1cbi5sZWFmbGV0LW1hcC1wYW5lIHN2ZyAgICB7IHotaW5kZXg6IDIwMDsgfVxuXG4ubGVhZmxldC12bWwtc2hhcGUge1xuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDFweDtcblx0fVxuLmx2bWwge1xuXHRiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG5cblxuLyogY29udHJvbCBwb3NpdGlvbmluZyAqL1xuXG4ubGVhZmxldC1jb250cm9sIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiA4MDA7XG5cdHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlUGFpbnRlZDsgLyogSUUgOS0xMCBkb2Vzbid0IGhhdmUgYXV0byAqL1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0fVxuLmxlYWZsZXQtdG9wLFxuLmxlYWZsZXQtYm90dG9tIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0fVxuLmxlYWZsZXQtdG9wIHtcblx0dG9wOiAwO1xuXHR9XG4ubGVhZmxldC1yaWdodCB7XG5cdHJpZ2h0OiAwO1xuXHR9XG4ubGVhZmxldC1ib3R0b20ge1xuXHRib3R0b206IDA7XG5cdH1cbi5sZWFmbGV0LWxlZnQge1xuXHRsZWZ0OiAwO1xuXHR9XG4ubGVhZmxldC1jb250cm9sIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdGNsZWFyOiBib3RoO1xuXHR9XG4ubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sIHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG4ubGVhZmxldC10b3AgLmxlYWZsZXQtY29udHJvbCB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cbi5sZWFmbGV0LWJvdHRvbSAubGVhZmxldC1jb250cm9sIHtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxuLmxlYWZsZXQtbGVmdCAubGVhZmxldC1jb250cm9sIHtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdH1cbi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wge1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdH1cblxuXG4vKiB6b29tIGFuZCBmYWRlIGFuaW1hdGlvbnMgKi9cblxuLmxlYWZsZXQtZmFkZS1hbmltIC5sZWFmbGV0LXRpbGUge1xuXHR3aWxsLWNoYW5nZTogb3BhY2l0eTtcblx0fVxuLmxlYWZsZXQtZmFkZS1hbmltIC5sZWFmbGV0LXBvcHVwIHtcblx0b3BhY2l0eTogMDtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuXHQgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG5cdCAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcblx0ICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuXHR9XG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtbWFwLXBhbmUgLmxlYWZsZXQtcG9wdXAge1xuXHRvcGFjaXR5OiAxO1xuXHR9XG4ubGVhZmxldC16b29tLWFuaW1hdGVkIHtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG5cdCAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuXHQgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcblx0fVxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXpvb20tYW5pbWF0ZWQge1xuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHR9XG4ubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpO1xuXHQgICAtbW96LXRyYW5zaXRpb246ICAgIC1tb3otdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLDAsMC4yNSwxKTtcblx0ICAgICAtby10cmFuc2l0aW9uOiAgICAgIC1vLXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwwLDAuMjUsMSk7XG5cdCAgICAgICAgdHJhbnNpdGlvbjogICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpO1xuXHR9XG4ubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtdGlsZSxcbi5sZWFmbGV0LXBhbi1hbmltIC5sZWFmbGV0LXRpbGUge1xuXHQtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG5cdCAgIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcblx0ICAgICAtby10cmFuc2l0aW9uOiBub25lO1xuXHQgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG5cdH1cblxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXpvb20taGlkZSB7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXG5cbi8qIGN1cnNvcnMgKi9cblxuLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cbi5sZWFmbGV0LWdyYWIge1xuXHRjdXJzb3I6IC13ZWJraXQtZ3JhYjtcblx0Y3Vyc29yOiAgICAtbW96LWdyYWI7XG5cdH1cbi5sZWFmbGV0LWNyb3NzaGFpcixcbi5sZWFmbGV0LWNyb3NzaGFpciAubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG5cdGN1cnNvcjogY3Jvc3NoYWlyO1xuXHR9XG4ubGVhZmxldC1wb3B1cC1wYW5lLFxuLmxlYWZsZXQtY29udHJvbCB7XG5cdGN1cnNvcjogYXV0bztcblx0fVxuLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtZ3JhYixcbi5sZWFmbGV0LWRyYWdnaW5nIC5sZWFmbGV0LWdyYWIgLmxlYWZsZXQtaW50ZXJhY3RpdmUsXG4ubGVhZmxldC1kcmFnZ2luZyAubGVhZmxldC1tYXJrZXItZHJhZ2dhYmxlIHtcblx0Y3Vyc29yOiBtb3ZlO1xuXHRjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG5cdGN1cnNvcjogICAgLW1vei1ncmFiYmluZztcblx0fVxuXG4vKiBtYXJrZXIgJiBvdmVybGF5cyBpbnRlcmFjdGl2aXR5ICovXG4ubGVhZmxldC1tYXJrZXItaWNvbixcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3csXG4ubGVhZmxldC1pbWFnZS1sYXllcixcbi5sZWFmbGV0LXBhbmUgPiBzdmcgcGF0aCxcbi5sZWFmbGV0LXRpbGUtY29udGFpbmVyIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuLmxlYWZsZXQtbWFya2VyLWljb24ubGVhZmxldC1pbnRlcmFjdGl2ZSxcbi5sZWFmbGV0LWltYWdlLWxheWVyLmxlYWZsZXQtaW50ZXJhY3RpdmUsXG4ubGVhZmxldC1wYW5lID4gc3ZnIHBhdGgubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG5cdHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlUGFpbnRlZDsgLyogSUUgOS0xMCBkb2Vzbid0IGhhdmUgYXV0byAqL1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0fVxuXG4vKiB2aXN1YWwgdHdlYWtzICovXG5cbi5sZWFmbGV0LWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQ6ICNkZGQ7XG5cdG91dGxpbmU6IDA7XG5cdH1cbi5sZWFmbGV0LWNvbnRhaW5lciBhIHtcblx0Y29sb3I6ICMwMDc4QTg7XG5cdH1cbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtYWN0aXZlIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIG9yYW5nZTtcblx0fVxuLmxlYWZsZXQtem9vbS1ib3gge1xuXHRib3JkZXI6IDJweCBkb3R0ZWQgIzM4Zjtcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuXHR9XG5cblxuLyogZ2VuZXJhbCB0eXBvZ3JhcGh5ICovXG4vKi5sZWFmbGV0LWNvbnRhaW5lciB7XG5cdGZvbnQ6IDEycHgvMS41IFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcblx0fSovXG5cblxuLyogZ2VuZXJhbCB0b29sYmFyIHN0eWxlcyAqL1xuXG4ubGVhZmxldC1iYXIge1xuXHRib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLDAsMCwwLjY1KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR9XG4ubGVhZmxldC1iYXIgYSxcbi5sZWFmbGV0LWJhciBhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG5cdHdpZHRoOiAyNnB4O1xuXHRoZWlnaHQ6IDI2cHg7XG5cdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdC8qY29sb3I6IGJsYWNrOyovXG5cdH1cbi5sZWFmbGV0LWJhciBhLFxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbi5sZWFmbGV0LWJhciBhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblx0fVxuLmxlYWZsZXQtYmFyIGE6Zmlyc3QtY2hpbGQge1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG5cdH1cbi5sZWFmbGV0LWJhciBhOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdH1cbi5sZWFmbGV0LWJhciBhLmxlYWZsZXQtZGlzYWJsZWQge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG5cdGNvbG9yOiAjYmJiO1xuXHR9XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWJhciBhIHtcblx0d2lkdGg6IDMwcHg7XG5cdGhlaWdodDogMzBweDtcblx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdH1cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWJhciBhOmZpcnN0LWNoaWxkIHtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuXHR9XG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIgYTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4O1xuXHR9XG5cbi8qIHpvb20gY29udHJvbCAqL1xuXG4ubGVhZmxldC1jb250cm9sLXpvb20taW4sXG4ubGVhZmxldC1jb250cm9sLXpvb20tb3V0IHtcblx0Zm9udDogYm9sZCAxOHB4ICdMdWNpZGEgQ29uc29sZScsIE1vbmFjbywgbW9ub3NwYWNlO1xuXHR0ZXh0LWluZGVudDogMXB4O1xuXHR9XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiwgLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC16b29tLW91dCAge1xuXHRmb250LXNpemU6IDIycHg7XG5cdH1cblxuXG4vKiBsYXllcnMgY29udHJvbCAqL1xuXG4ubGVhZmxldC1jb250cm9sLWxheWVycyB7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuNCk7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0fVxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvbGF5ZXJzLnBuZyk7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM2cHg7XG5cdH1cbi5sZWFmbGV0LXJldGluYSAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9sYXllcnMtMngucG5nKTtcblx0YmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XG5cdH1cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG5cdHdpZHRoOiA0NHB4O1xuXHRoZWlnaHQ6IDQ0cHg7XG5cdH1cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QsXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuXHRkaXNwbGF5OiBub25lO1xuXHR9XG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQge1xuXHRwYWRkaW5nOiA2cHggMTBweCA2cHggNnB4O1xuXHRjb2xvcjogIzMzMztcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0fVxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2Nyb2xsYmFyIHtcblx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0fVxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3Ige1xuXHRtYXJnaW4tdG9wOiAycHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAxcHg7XG5cdH1cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlcGFyYXRvciB7XG5cdGhlaWdodDogMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG5cdG1hcmdpbjogNXB4IC0xMHB4IDVweCAtNnB4O1xuXHR9XG5cbi8qIERlZmF1bHQgaWNvbiBVUkxzICovXG4ubGVhZmxldC1kZWZhdWx0LWljb24tcGF0aCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL21hcmtlci1pY29uLnBuZyk7XG5cdH1cblxuXG4vKiBhdHRyaWJ1dGlvbiBhbmQgc2NhbGUgY29udHJvbHMgKi9cblxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24ge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG5cdG1hcmdpbjogMDtcblx0fVxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbixcbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7XG5cdHBhZGRpbmc6IDAgNXB4O1xuXHRjb2xvcjogIzMzMztcblx0fVxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG4ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIGE6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24sXG4ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0fVxuLmxlYWZsZXQtbGVmdCAubGVhZmxldC1jb250cm9sLXNjYWxlIHtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0fVxuLmxlYWZsZXQtYm90dG9tIC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdH1cbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7XG5cdGJvcmRlcjogMnB4IHNvbGlkICM3Nzc7XG5cdGJvcmRlci10b3A6IG5vbmU7XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdHBhZGRpbmc6IDJweCA1cHggMXB4O1xuXHRmb250LXNpemU6IDExcHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0ICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcblx0fVxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICM3Nzc7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdG1hcmdpbi10b3A6IC0ycHg7XG5cdH1cbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZTpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3Nzc7XG5cdH1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbixcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLFxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIHtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1sYXllcnMsXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIge1xuXHRib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7XG5cdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cdH1cblxuXG4vKiBwb3B1cCAqL1xuXG4ubGVhZmxldC1wb3B1cCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG4ubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIge1xuXHRwYWRkaW5nOiAxcHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdH1cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQge1xuXHRtYXJnaW46IDEzcHggMTlweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0fVxuLmxlYWZsZXQtcG9wdXAtY29udGVudCBwIHtcblx0bWFyZ2luOiAxOHB4IDA7XG5cdH1cbi5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIge1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC0yMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0fVxuLmxlYWZsZXQtcG9wdXAtdGlwIHtcblx0d2lkdGg6IDE3cHg7XG5cdGhlaWdodDogMTdweDtcblx0cGFkZGluZzogMXB4O1xuXG5cdG1hcmdpbjogLTEwcHggYXV0byAwO1xuXG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHQgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdCAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHQgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLFxuLmxlYWZsZXQtcG9wdXAtdGlwIHtcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdC8qY29sb3I6ICMzMzM7Ki9cblx0Ym94LXNoYWRvdzogMCAzcHggMTRweCByZ2JhKDAsMCwwLDAuNCk7XG5cdH1cbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHRwYWRkaW5nOiA0cHggNHB4IDAgMDtcblx0Ym9yZGVyOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG5cdGZvbnQ6IDE2cHgvMTRweCBUYWhvbWEsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG5cdGNvbG9yOiAjYzNjM2MzO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxuLmxlYWZsZXQtY29udGFpbmVyIGEubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b246aG92ZXIge1xuXHRjb2xvcjogIzk5OTtcblx0fVxuLmxlYWZsZXQtcG9wdXAtc2Nyb2xsZWQge1xuXHRvdmVyZmxvdzogYXV0bztcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuXHR9XG5cbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XG5cdHpvb206IDE7XG5cdH1cbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLXRpcCB7XG5cdHdpZHRoOiAyNHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblxuXHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgsIE0xMj0wLjcwNzEwNjc4LCBNMjE9LTAuNzA3MTA2NzgsIE0yMj0wLjcwNzEwNjc4KVwiO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgsIE0xMj0wLjcwNzEwNjc4LCBNMjE9LTAuNzA3MTA2NzgsIE0yMj0wLjcwNzEwNjc4KTtcblx0fVxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IC0xcHg7XG5cdH1cblxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udHJvbC16b29tLFxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udHJvbC1sYXllcnMsXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIsXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC10aXAge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuXHR9XG5cblxuLyogZGl2IGljb24gKi9cblxuLmxlYWZsZXQtZGl2LWljb24ge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xuXHR9XG5cblxuLyogVG9vbHRpcCAqL1xuLyogQmFzZSBzdHlsZXMgZm9yIHRoZSBlbGVtZW50IHRoYXQgaGFzIGEgdG9vbHRpcCAqL1xuLmxlYWZsZXQtdG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cGFkZGluZzogNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGNvbG9yOiAjMjIyO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsMC40KTtcblx0fVxuLmxlYWZsZXQtdG9vbHRpcC5sZWFmbGV0LWNsaWNrYWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdH1cbi5sZWFmbGV0LXRvb2x0aXAtdG9wOmJlZm9yZSxcbi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tOmJlZm9yZSxcbi5sZWFmbGV0LXRvb2x0aXAtbGVmdDpiZWZvcmUsXG4ubGVhZmxldC10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29udGVudDogXCJcIjtcblx0fVxuXG4vKiBEaXJlY3Rpb25zICovXG5cbi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tIHtcblx0bWFyZ2luLXRvcDogNnB4O1xufVxuLmxlYWZsZXQtdG9vbHRpcC10b3Age1xuXHRtYXJnaW4tdG9wOiAtNnB4O1xufVxuLmxlYWZsZXQtdG9vbHRpcC1ib3R0b206YmVmb3JlLFxuLmxlYWZsZXQtdG9vbHRpcC10b3A6YmVmb3JlIHtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLTZweDtcblx0fVxuLmxlYWZsZXQtdG9vbHRpcC10b3A6YmVmb3JlIHtcblx0Ym90dG9tOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAtMTJweDtcblx0Ym9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcblx0fVxuLmxlYWZsZXQtdG9vbHRpcC1ib3R0b206YmVmb3JlIHtcblx0dG9wOiAwO1xuXHRtYXJnaW4tdG9wOiAtMTJweDtcblx0bWFyZ2luLWxlZnQ6IC02cHg7XG5cdGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG5cdH1cbi5sZWFmbGV0LXRvb2x0aXAtbGVmdCB7XG5cdG1hcmdpbi1sZWZ0OiAtNnB4O1xufVxuLmxlYWZsZXQtdG9vbHRpcC1yaWdodCB7XG5cdG1hcmdpbi1sZWZ0OiA2cHg7XG59XG4ubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlLFxuLmxlYWZsZXQtdG9vbHRpcC1yaWdodDpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luLXRvcDogLTZweDtcblx0fVxuLmxlYWZsZXQtdG9vbHRpcC1sZWZ0OmJlZm9yZSB7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IC0xMnB4O1xuXHRib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcblx0fVxuLmxlYWZsZXQtdG9vbHRpcC1yaWdodDpiZWZvcmUge1xuXHRsZWZ0OiAwO1xuXHRtYXJnaW4tbGVmdDogLTEycHg7XG5cdGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjtcblx0fSIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuLy8vXG4vLy8gMDkuMDcuMjAxOCBCZXJ0b3c6IEFkZGVkIHBhcm0gZm9yIGFkZGl0aW5hbCBtZWRpYSBxdWVyeSBwYXJtc1xuXG5AbWl4aW4gYnJlYWtwb2ludEV4dHJhUGFybXMoJHZhbHVlLCRleHRyYVBhcm1zKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9ICN7JGV4dHJhUGFybXN9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufSJdfQ== */
