@charset "UTF-8";
/* Color Variables */
.c-gold, .osh-list__list li:before {
  color: #fff;
}

@media (min-width: 1025px) {
  .c-gold, .osh-list__list li:before {
    background: linear-gradient(to right, #7e7e7e 0, #fff 20%, #797979 100%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

.c-blue {
  color: #002355;
}

@media (min-width: 1025px) {
  .c-blue {
    background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

/* Font Variables */
/* Media Queries Breakpoints */
/* Media Queries Breakpoints */
/* Layout sizes */
.arrow-right-blue {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.172 12.927L.438 25.3 7.51 12.927.44.67l17.733 12.257z' fill='%23002355'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.arrow-right-orange {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.172 12.927L.438 25.3 7.51 12.927.44.67l17.733 12.257z' fill='%23B18749'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.arrow-right-white {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.172 12.927L.438 25.3 7.51 12.927.44.67l17.733 12.257z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.icon-empty {
  height: 55px;
  width: 55px;
  min-width: 55px;
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.23.478l17.156 17.155M18.386.478L1.231 17.633' stroke='%23000' stroke-opacity='.5'/%3E%3C/svg%3E");
  background-color: #ededed;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  overflow: hidden;
}

.hero-fair .hero-banner__clouds {
  bottom: 0;
}

@media (max-width: 767px) {
  .hero-fair .hero-banner__clouds {
    display: block;
  }
}

.hero-fair .hero-banner__clouds:before {
  bottom: -200px;
}

@media (max-width: 767px) {
  .hero-fair .hero-banner__clouds:before {
    bottom: -10px;
    height: 100px;
    background-size: cover;
  }
}

.hero-fair .hero-banner__clouds:after {
  content: '';
  position: absolute;
  bottom: 0px;
  height: 46%;
  width: 100%;
  left: 0;
  background-image: linear-gradient(to bottom, transparent 12%, rgba(255, 255, 255, 0.5) 79%, #fff 100%);
  background-repeat: repeat-x;
}

@media (max-width: 767px) {
  .hero-fair .hero-banner__clouds:after {
    height: 50px;
  }
}

.hero-fair .btn-round {
  background: rgba(0, 35, 85, 0.5);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  width: auto;
  height: 50px;
  border-radius: 100px;
  margin: 0 auto;
  border-color: #B18749;
  transition: none;
}

.hero-fair .btn-round .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.hero-fair .btn-round .inner span {
  -webkit-text-fill-color: #B18749;
}

.hero-fair .btn-round svg {
  fill: #B18749;
}

.hero-fair .banner-landing__btns,
.hero-fair .banner-landing__subtitle,
.hero-fair .banner-landing__title {
  opacity: 1;
  transform: translateX(0);
}

.hero-fair .banner-landing__subtitle {
  font-weight: bold;
  font-size: 2.6rem;
  line-height: 1;
  text-align: center;
  letter-spacing: 1.3em;
  margin-bottom: .8em;
  transition: all .3s;
}

@media (max-width: 767px) {
  .hero-fair .banner-landing__subtitle {
    letter-spacing: .5em;
  }
}

.hero-fair .banner-landing__btns {
  transition: all .3s;
}

.hero-fair .banner-title {
  transition: all .3s;
}

@media (max-width: 767px) {
  .hero-fair .banner-title {
    font-size: 6rem;
  }
}

.hero-fair .banner-title span {
  display: inline-block;
  text-shadow: none;
  background: -webkit-linear-gradient(white, rgba(255, 255, 255, 0.1) 100%);
  background: linear-gradient(white, rgba(255, 255, 255, 0.1) 100%);
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
}

.hero-fair.is-playing .banner-title,
.hero-fair.is-playing .banner-landing__subtitle {
  opacity: 0 !important;
}

.hero-fair.is-playing .banner-landing__btns {
  right: 30px;
  bottom: 100px;
  position: absolute;
}

.hero-fair.pr-scroll .banner-landing__btns .btn-round {
  opacity: calc(1 - (var(--scrolly) * 0.0012));
  transform: translate3d(0, calc(var(--scrolly) * 1px / 1.8), 0) !important;
}

@media (max-width: 767px) {
  .hero-fair {
    padding: 150px 0;
  }
}

.section-dolce {
  min-height: 100vh;
  padding-top: 10vmin;
  background-repeat: no-repeat;
  background-position: 100% 100%;
  background-image: url(../jpg/bg-dolce-vita-table.jpg);
  background-size: cover;
  position: relative;
}

.section-dolce:before {
  content: '';
  width: 100%;
  height: 50px;
  left: 0;
  position: absolute;
  top: -20px;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%);
  background-repeat: repeat-x;
}

@media (max-width: 767px) {
  .section-dolce {
    min-height: 350px;
    background-size: contain;
  }
}

@media (min-width: 1025px) {
  .section-dolce {
    background-image: url(../jpg/bg-dolce-vita.jpg);
  }
}

.section-dolce .section-title {
  margin-bottom: .5em;
}

.section-dolce__text {
  max-width: 590px;
}

.section-dolce__text p {
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.bg-dark-wrap {
  background-color: #002355;
  color: #fff;
  padding: 10vmin 0;
}

.bg-dark-wrap .section-title {
  text-align: center;
}

.bg-dark-wrap .section-subtitle {
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  color: #CCD3D4;
  font-size: 2.2rem;
  margin: 1em 0;
}

.osh-list {
  --l-block-col: 3;
  --l-block-gap: 25px;
  --img-size: 160px;
  margin-top: var(--img-size);
  margin-bottom: 10vmin;
  display: grid;
  grid-template: auto/repeat(var(--l-block-col), minmax(0, 1fr));
  gap: var(--l-block-gap);
  text-align: center;
}

@media (min-width: 1025px) {
  .osh-list {
    --img-size: 248px;
    margin-top: 200px;
  }
}

@media (max-width: 767px) {
  .osh-list {
    --l-block-col: 1;
  }
}

.osh-list__item {
  background-color: rgba(255, 255, 255, 0.1);
  border-top: 2px solid #B18749;
}

@media (max-width: 767px) {
  .osh-list__item {
    margin-bottom: calc(var(--img-size) / 2.5);
  }
}

.osh-list__inner {
  padding: 25px;
}

.osh-list__img {
  height: var(--img-size);
  margin-top: calc(var(--img-size) / 2 * -1);
}

.osh-list__img img {
  max-width: 100%;
  max-height: 100%;
}

.osh-list__title {
  margin-bottom: 1em;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  font-weight: bold;
  font-size: 1.8rem;
}

@media (min-width: 1441px) {
  .osh-list__title {
    font-size: 2rem;
  }
}

.osh-list .-i {
  font-style: italic;
  letter-spacing: 0.1em;
  text-transform: capitalize;
  color: #CCD3D4;
  font-size: 1.8rem;
}

@media (min-width: 1441px) {
  .osh-list .-i {
    font-size: 2rem;
  }
}

.osh-list__links {
  text-align: center;
  display: flex;
  width: 100%;
  gap: 1px;
  position: relative;
  background-image: linear-gradient(110deg, #886635 0%, #896635 10%, #b58f53 23%, #cba264 31%, #947240 65%, #cda260 90%, #cda260 100%);
}

.osh-list__links > a, .osh-list__links .osh-list__link {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  width: 100%;
  padding: 10px 0;
  font-size: 2rem;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.1em;
  transition: background-color .3s;
}

.osh-list__links > a:not(:first-child), .osh-list__links .osh-list__link:not(:first-child) {
  border-left: 2px solid #002355;
}

.osh-list__links > a:hover, .osh-list__links details[open] .osh-list__link {
  background-color: #8d6b3a;
}

.osh-list__pre {
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: .5em;
  text-align: left;
}

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

.osh-list__list li {
  position: relative;
  margin-bottom: .5em;
  letter-spacing: 0.1em;
  padding-left: 30px;
  color: #CCD3D4;
}

.osh-list__list li:before {
  content: '—';
  position: absolute;
  left: 0;
  top: 4px;
  line-height: 1;
}

.section-italexp {
  padding: 10vmin 0;
}

.ita-exp__list {
  display: flex;
  width: 100%;
  text-align: center;
  justify-content: space-between;
  margin-top: 10vmin;
}

.ita-exp__item {
  width: 25%;
  position: relative;
}

.ita-exp__item:not(:last-child):after {
  content: '';
  height: 1px;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 29px;
  border: 1px dashed #819195;
}

.ita-exp__item:not(:first-child) .ita-exp__icon:before {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.83484 4.39443L.06114 9h3.72949l2.69013-4.05249h.77444L4.70772 8.95028h3.56647L12 4.39443 8.43723 0H4.66696l2.56786 3.95304H6.44L3.70911 0H0l2.83484 4.39443z' fill='%23819195'/%3E%3C/svg%3E");
  left: 0;
  top: 50%;
  transform: translateY(-50%) translateX(-100%);
  height: 9px;
  width: 12px;
  position: absolute;
}

.ita-exp__item p {
  display: inline-block;
  max-width: 65%;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.ita-exp__icon {
  --img-size: 165px;
  margin: 0 auto 40px;
  height: 60px;
  display: flex;
  align-items: center;
  max-width: var(--img-size);
  justify-content: center;
  background-color: #002355;
  position: relative;
  z-index: 2;
}

.ita-exp__icon img {
  max-width: 100%;
}

@media (max-width: 767px) {
  .ita-exp__icon {
    --img-size: 45px;
  }
}

.fair-bottom {
  text-align: center;
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: cover;
  color: #fff;
  padding: 8vmin 0;
  min-height: 500px;
  background-image: url(../jpg/bg-footer-mobile.jpg);
}

@media (min-width: 768px) {
  .fair-bottom {
    background-image: url(../jpg/bg-footer-780.jpg);
  }
}

@media (min-width: 1025px) {
  .fair-bottom {
    background-image: url(../jpg/bg-footer-1281.jpg);
    min-height: 100vh;
  }
}

@media (min-width: 1441px) {
  .fair-bottom {
    background-image: url(../jpg/bg-footer.jpg);
  }
}

.fair-bottom .section-title {
  margin-bottom: 5vmin;
}

.fair-bottom__link {
  position: relative;
}

.fair-bottom__link .link-arrow {
  margin-bottom: 0;
}

.fair-bottom__link:before {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 576 341' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M500.501 190.282v-34.854h-32.236L573.455 0h-155.24L306.239 153.544h-32.236L380.041 1.88398H231.588L88.2238 161.08H0v31.086h89.9205L224.801 341h156.937L274.851 191.224h33.084L421.608 341H576L468.265 190.282h32.236z' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  width: 576px;
  height: 341px;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  opacity: .1;
}

@media (max-width: 767px) {
  .fair-bottom__link:before {
    width: 90%;
    height: 200px;
  }
}

summary::-webkit-details-marker {
  display: none;
}

.osh-list__summary {
  cursor: default;
  width: 100%;
  display: block;
}

.osh-list__details {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  width: 100%;
}

.osh-popup {
  display: flex;
  padding: 1px;
  justify-content: space-between;
  gap: 1px;
  background: #16386a;
}

.osh-popup li {
  flex: 1 auto;
  position: relative;
}

.osh-popup li:not(:first-child):before {
  content: '';
  height: 4px;
  width: 4px;
  background: #B18749;
  position: absolute;
  left: -2px;
  margin-top: -1px;
  border-radius: 50%;
  top: 50%;
}

.osh-popup a {
  display: block;
  padding: 10px 2px;
}

.osh-popup a:hover {
  color: #B18749;
}

.dropdown-wrapper {
  position: absolute;
  width: 100%;
}

details[open] .dropdown-wrapper {
  animation: fade-in 0.5s forwards;
}

details.summary-closing[open] .dropdown-wrapper {
  animation: fade-out 0.5s forwards;
}

@keyframes fade-in {
  0% {
    transform: translateY(-20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpcmxwLmNzcyIsInNvdXJjZXMiOlsiZmFpcmxwLnNjc3MiLCJjb3JlL19jb3JlLnNjc3MiLCJjb3JlL21peGlucy9faW5jbHVkZS1tZWRpYS5zY3NzIiwiY29yZS9taXhpbnMvX2ZsZXhib3gtdG9vbGtpdC5zY3NzIiwiY29yZS9taXhpbnMvX21pbmktbWl4aW5zLnNjc3MiLCJjb3JlL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJjb3JlL3ZhcmlhYmxlcy9fZm9udC5zY3NzIiwiY29yZS92YXJpYWJsZXMvX2JyZWFrcG9pbnRzLnNjc3MiLCJjb3JlL3ZhcmlhYmxlcy9fcGFnZS1zaXplcy5zY3NzIiwiZWxlbWVudHMvX2ljb25zLnNjc3MiLCJwYWdlcy9fZmFpci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgc2V0dGluZ3NcbkBpbXBvcnQgJ2NvcmUvY29yZSc7XG5cbi8vIFNpdGUgQ29tcG9uZW50c1xuQGltcG9ydCAnZWxlbWVudHMvaWNvbnMnO1xuXG5AaW1wb3J0IFwicGFnZXMvZmFpclwiO1xuXG5cbiIsIkBpbXBvcnQgJ21peGlucy9pbmNsdWRlLW1lZGlhJyxcblx0XHQnbWl4aW5zL2ZsZXhib3gtdG9vbGtpdCcsXG5cdFx0J21peGlucy9taW5pLW1peGlucyc7XG5cbkBpbXBvcnQgJ3ZhcmlhYmxlcy9jb2xvcnMnLFxuXHRcdCd2YXJpYWJsZXMvZm9udCcsXG5cdFx0J3ZhcmlhYmxlcy9icmVha3BvaW50cycsXG5cdFx0J3ZhcmlhYmxlcy9wYWdlLXNpemVzJzsiLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLCAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmbGV4LWNvbHVtbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbkBtaXhpbiBmbGV4LWNlbnRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWl4aW4gZmxleC1jZW50ZXItY29sdW1uIHtcblx0QGluY2x1ZGUgZmxleC1jZW50ZXI7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbkBtaXhpbiBmbGV4LWNlbnRlci12ZXJ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuQG1peGluIGZsZXgtY2VudGVyLWhvcml6IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4iLCIvLyBjbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5AbWl4aW4gY292ZXItYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLy8gcm90YXRlXG5AbWl4aW4gcm90YXRlKCRkZWcpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKCN7JGRlZ31kZWcpKTtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLyBzY2FsZVxuQG1peGluIHNjYWxlKCR4LCR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCR4LCAkeSkpO1xufVxuXG4vLyB0cmFuc2xhdGVcbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbn1cblxuLy8gc2tld1xuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoI3skeH1kZWcsICN7JHl9ZGVnKSk7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudFxuICAgIH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudFxuICAgIH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudFxuICAgIH1cbn1cblxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLyogQ29sb3IgVmFyaWFibGVzICovXG5cbiRjLWJyYW5kLWRhcms6ICMwMDIzNTU7XG4kYy1icmFuZC1kYXJrMjogIzE0MzQ2MjtcbiRjLWJyYW5kLWxpZ2h0OiAjQjE4NzQ5O1xuXG4kYy1ib3JkZXItZ3JheTogI0NDRDNENDtcblxuJHdoaXRlOiAjZmZmO1xuJGJsdWU6ICMwMDIzNTU7XG4kYmx1ZS1kYXJrOiAjMTQzNDYyO1xuJGJsdWUtbGlnaHQ6ICMxODQ5ODI7XG5cbi8vICRjLXRleHQtcHJpbWFyeTogJGMtYnJhbmQtZGFyaztcbiRjLXRleHQtcHJpbWFyeTogJGJsdWU7XG4kYy10ZXh0LWxpZ2h0OiAjNTU1NTU1O1xuJGMtdGV4dC1ncmF5OiAjODE5MTk1O1xuXG4kYmctYm9keTogI2ZmZjtcbiRiZy1nb2xkOiBsaW5lYXItZ3JhZGllbnQoMTEwZGVnLCAgIzg4NjYzNSAwJSwjODk2NjM1IDEwJSwjYjU4ZjUzIDIzJSwjY2JhMjY0IDMxJSwjOTQ3MjQwIDY1JSwjY2RhMjYwIDkwJSwjY2RhMjYwIDEwMCUpO1xuJGJnLWJsdWU6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzE0MzM1ZiAwJSwgIzE1Mzk2ZCA2MCUsICMxNzQwNzYgODAlLCAjMTMzMzYyIDEwMCUpO1xuJGJnLXNpbHZlcjogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjN2U3ZTdlIDAsICNmZmYgMjAlLCAjNzk3OTc5IDEwMCUpO1xuXG4uYy1nb2xkIHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjQjE4NzQ5IDAlLCAjQ0JBMjY0IDIzJSwgIzk0NzI0MCA2NSUsICNDQ0EyNjAgMTAwJSk7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjN2U3ZTdlIDAsICNmZmYgMjAlLCAjNzk3OTc5IDEwMCUpO1xuXHRcdGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcblx0XHQtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcblx0XHQtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLmMtYmx1ZSB7XG5cdGNvbG9yOiAkYmx1ZTtcblx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjQjE4NzQ5IDAlLCAjQ0JBMjY0IDIzJSwgIzk0NzI0MCA2NSUsICNDQ0EyNjAgMTAwJSk7XG5cdFx0YmFja2dyb3VuZDogJGJnLWJsdWU7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuXHRcdC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuXHRcdC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuIiwiLyogRm9udCBWYXJpYWJsZXMgKi9cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2VyaWY6IEdlb3JnaWEsIHNlcmlmO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8gJGYtcHJpbWFyeTogXHQnbGF0bycsICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuLy8gJGYtc2Vjb25kYXJ5OiBcdCdwbGF5ZmFpcicsICRmb250LWZhbWlseS1zZXJpZjtcblxuJGYtcHJpbWFyeTogXCJpdGMtYXZhbnQtZ2FyZGUtZ290aGljLXByb1wiLCBzYW5zLXNlcmlmO1xuJGYtc2Vjb25kYXJ5OiBcIkZydXRpZ2VyIExUIFN0ZFwiLCBzYW5zLXNlcmlmO1xuXG4kZnctbm9ybWFsOlx0NDAwO1xuJGZ3LW1lZGl1bTpcdDUwMDtcbiRmdy1zZW1pOlx0NjAwO1xuJGZ3LWJvbGQ6XHQ3MDA7XG4kZnctYmxhY2s6XHQ5MDA7XG5cbiRsaC1iYXNlOiAxLjU7IiwiLyogTWVkaWEgUXVlcmllcyBCcmVha3BvaW50cyAqL1xuXG4kYnJlYWtwb2ludHM6IChcbiAgICAncGhvbmUnOiAzMjBweCxcbiAgICAndGFibGV0JzogNzY4cHgsXG4gICAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4gICAgJ2Rlc2t0b3AtbSc6IDEyODBweCxcbiAgICAnZGVza3RvcC1sJzogMTQ0MHB4LFxuICAgICdkZXNrdG9wLTE5MjAnOiAxOTIwcHhcbik7XG4iLCIvKiBNZWRpYSBRdWVyaWVzIEJyZWFrcG9pbnRzICovXG5cbiRicmVha3BvaW50czogKFxuICAgICdwaG9uZSc6IDMyMHB4LFxuICAgICdwaG9uZS1sJzogNTc2cHgsXG4gICAgJ3RhYmxldCc6IDc2OHB4LFxuICAgICdkZXNrdG9wJzogMTAyNHB4LFxuICAgICdkZXNrdG9wLW0nOiAxMjgwcHgsXG4gICAgJ2Rlc2t0b3AtbCc6IDE0NDBweCxcblx0J2Rlc2t0b3AtMTkyMCc6IDE5MjBweFxuKTtcblxuLyogTGF5b3V0IHNpemVzICovXG5cbiRjb250ZW50LXdpZHRoLXhsOiBcdDE4ODBweDtcbiRjb250ZW50LXdpZHRoOiBcdDE0NDBweDtcbiRjb250ZW50LXdpZHRoLWw6IFx0MTI4MHB4O1xuJGNvbnRlbnQtd2lkdGgtbTogXHQxMDI0cHg7XG4kY29udGVudC13aWR0aC1zOiBcdDc2OHB4O1xuJGNvbnRlbnQtd2lkdGgteHM6IFx0NTc2cHg7XG5cbiRzZWN0aW9uLXZlcnRpY2FsLWdhcDogOHZtaW47XG5cbiRuYXZiYXItd2lkdGhfX2w6IDYwcHg7XG4kbmF2YmFyLXdpZHRoOiA0NXB4O1xuXG4kcGFnZS10b3Atc3BhY2VfX2w6IDEyMHB4IiwiLmFycm93LXJpZ2h0LWJsdWUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxOScgaGVpZ2h0PScyNicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xOC4xNzIgMTIuOTI3TC40MzggMjUuMyA3LjUxIDEyLjkyNy40NC42N2wxNy43MzMgMTIuMjU3eicgZmlsbD0nJTIzMDAyMzU1Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLmFycm93LXJpZ2h0LW9yYW5nZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE5JyBoZWlnaHQ9JzI2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTE4LjE3MiAxMi45MjdMLjQzOCAyNS4zIDcuNTEgMTIuOTI3LjQ0LjY3bDE3LjczMyAxMi4yNTd6JyBmaWxsPSclMjNCMTg3NDknLyUzRSUzQy9zdmclM0VcIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uYXJyb3ctcmlnaHQtd2hpdGUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxOScgaGVpZ2h0PScyNicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xOC4xNzIgMTIuOTI3TC40MzggMjUuMyA3LjUxIDEyLjkyNy40NC42N2wxNy43MzMgMTIuMjU3eicgZmlsbD0nJTIzZmZmZmZmJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLmljb24tZW1wdHkge1xuXHRoZWlnaHQ6IDU1cHg7XG5cdHdpZHRoOiA1NXB4O1xuXHRtaW4td2lkdGg6IDU1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTknIGhlaWdodD0nMTgnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xLjIzLjQ3OGwxNy4xNTYgMTcuMTU1TTE4LjM4Ni40NzhMMS4yMzEgMTcuNjMzJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLW9wYWNpdHk9Jy41Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufSIsIi5oZXJvLWZhaXIge1xuXHQuaGVyby1iYW5uZXJfX2Nsb3VkcyB7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Ym90dG9tOiAtMjAwcHg7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdFx0XHRib3R0b206IC0xMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDEwMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAwcHg7XG5cdFx0XHRoZWlnaHQ6IDQ2JTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDEyJSwgcmdiYSgyNTUsMjU1LDI1NSwuNSkgNzklLCAjZmZmIDEwMCUpO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuYnRuLXJvdW5kIHtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRjLWJyYW5kLWRhcmssIC41KTtcblx0XHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGhlaWdodDogNTBweDtcblx0XHRib3JkZXItcmFkaXVzOiAxMDBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRib3JkZXItY29sb3I6ICRjLWJyYW5kLWxpZ2h0O1xuXHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0LmlubmVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHQvL0BleHRlbmQgLmMtZ29sZDtcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHQtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJGMtYnJhbmQtbGlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHN2ZyB7XG5cdFx0XHRmaWxsOiAkYy1icmFuZC1saWdodFxuXHRcdH1cblx0fVxuXHQuYmFubmVyLWxhbmRpbmdfX2J0bnMsXG5cdC5iYW5uZXItbGFuZGluZ19fc3VidGl0bGUsXG5cdC5iYW5uZXItbGFuZGluZ19fdGl0bGUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdC5iYW5uZXItbGFuZGluZ19fc3VidGl0bGUge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGZvbnQtc2l6ZTogMi42cmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRsZXR0ZXItc3BhY2luZzogMS4zZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogLjhlbTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLjVlbTtcblx0XHR9XG5cdH1cblx0LmJhbm5lci1sYW5kaW5nX19idG5zIHtcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXHR9XG5cdC5iYW5uZXItdGl0bGUge1xuXHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRcdGZvbnQtc2l6ZTogNnJlbTtcblx0XHR9XG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAxMDAlKTtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDEpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgMTAwJSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG5cdFx0XHQtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcblx0XHRcdC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblx0fVxuXHQmLmlzLXBsYXlpbmcge1xuXHRcdC5iYW5uZXItdGl0bGUsXG5cdFx0LmJhbm5lci1sYW5kaW5nX19zdWJ0aXRsZSB7XG5cdFx0XHRvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdC5iYW5uZXItbGFuZGluZ19fYnRucyB7XG5cdFx0XHRyaWdodDogMzBweDtcblx0XHRcdGJvdHRvbTogMTAwcHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0fVxuXHR9XG5cblx0Ji5wci1zY3JvbGwge1xuXHRcdC5iYW5uZXItbGFuZGluZ19fYnRucyAuYnRuLXJvdW5kIHtcblx0XHRcdG9wYWNpdHk6IGNhbGMoMSAtICh2YXIoLS1zY3JvbGx5KSAqIDAuMDAxMikpO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBjYWxjKHZhcigtLXNjcm9sbHkpICogMXB4IC8gMS44KSwgMCkgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdHBhZGRpbmc6IDE1MHB4IDA7XG5cdH1cbn1cblxuLnNlY3Rpb24tZG9sY2Uge1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0cGFkZGluZy10b3A6IDEwdm1pbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZhaXIvYmctZG9sY2Utdml0YS10YWJsZS5qcGcpO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDUwcHg7XG5cdFx0bGVmdDogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtMjBweDtcblx0XHRAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbChyZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpKTtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdG1pbi1oZWlnaHQ6IDM1MHB4O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZhaXIvYmctZG9sY2Utdml0YS5qcGcpO1xuXHR9XG5cblx0LnNlY3Rpb24tdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IC41ZW07XG5cdH1cblxuXHQmX190ZXh0IHtcblx0XHRtYXgtd2lkdGg6IDU5MHB4O1xuXHRcdHAge1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuODtcblx0XHR9XG5cdH1cbn1cblxuLmJnLWRhcmstd3JhcCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjLWJyYW5kLWRhcms7XG5cdGNvbG9yOiAjZmZmO1xuXHRwYWRkaW5nOiAxMHZtaW4gMDtcblxuXHQuc2VjdGlvbi10aXRsZSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdC5zZWN0aW9uLXN1YnRpdGxlIHtcblx0XHRmb250LWZhbWlseTogJGYtcHJpbWFyeTtcblx0XHRjb2xvcjogJGMtYm9yZGVyLWdyYXk7XG5cdFx0Zm9udC1zaXplOiAyLjJyZW07XG5cdFx0bWFyZ2luOiAxZW0gMDtcblx0fVxufVxuXG4ub3NoLWxpc3Qge1xuXHQtLWwtYmxvY2stY29sOiAzO1xuXHQtLWwtYmxvY2stZ2FwOiAyNXB4O1xuXHQtLWltZy1zaXplOiAxNjBweDtcblxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdC0taW1nLXNpemU6IDI0OHB4O1xuXHRcdG1hcmdpbi10b3A6IDIwMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHQtLWwtYmxvY2stY29sOiAxO1xuXHR9XG5cblx0bWFyZ2luLXRvcDogdmFyKC0taW1nLXNpemUpO1xuXHRtYXJnaW4tYm90dG9tOiAxMHZtaW47XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGU6IGF1dG8vcmVwZWF0KHZhcigtLWwtYmxvY2stY29sKSwgbWlubWF4KDAsIDFmcikpO1xuXHRnYXA6IHZhcigtLWwtYmxvY2stZ2FwKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdCZfX2l0ZW0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuXHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkYy1icmFuZC1saWdodDtcblx0XHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1pbWctc2l6ZSkgLyAyLjUpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2lubmVyIHtcblx0XHRwYWRkaW5nOiAyNXB4O1xuXHR9XG5cblx0Jl9faW1nIHtcblx0XHRoZWlnaHQ6IHZhcigtLWltZy1zaXplKTtcblx0XHRtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWltZy1zaXplKSAvIDIgKiAtMSk7XG5cdFx0aW1nIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdG1heC1oZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4zZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LWZhbWlseTogJGYtcHJpbWFyeTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLWxcIikge1xuXHRcdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdH1cblx0fVxuXHQuLWkge1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0Y29sb3I6ICRjLWJvcmRlci1ncmF5O1xuXHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XG5cdFx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0fVxuXHR9XG5cdCZfX2xpbmtzIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRnYXA6IDFweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogJGJnLWdvbGQ7XG5cdFx0PiBhLCAub3NoLWxpc3RfX2xpbmsge1xuXHRcdFx0ZmxleC1iYXNpczogMDtcblx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMTBweCAwO1xuXHRcdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3M7XG5cdFx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYy1icmFuZC1kYXJrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmX19saW5rcyB7XG5cdFx0PiBhOmhvdmVyLCBkZXRhaWxzW29wZW5dIC5vc2gtbGlzdF9fbGluayB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGMtYnJhbmQtbGlnaHQsIDEwKTtcblx0XHR9XG5cdH1cblx0Jl9fcHJlIHtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4zZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRmb250LXNpemU6IDEuNnJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAuNWVtO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblx0Jl9fbGlzdCB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRsaSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAuNWVtO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHRcdFx0Y29sb3I6ICRjLWJvcmRlci1ncmF5O1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAn4oCUJztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0b3A6IDRweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdEBleHRlbmQgLmMtZ29sZDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4uc2VjdGlvbi1pdGFsZXhwIHtcblx0cGFkZGluZzogMTB2bWluIDA7XG59XG5cbi5pdGEtZXhwIHtcblx0Jl9fbGlzdCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdG1hcmdpbi10b3A6IDEwdm1pbjtcblx0fVxuXHQmX19pdGVtIHtcblx0XHR3aWR0aDogMjUlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdHRvcDogMjlweDtcblx0XHRcdFx0Ym9yZGVyOiAxcHggZGFzaGVkICRjLXRleHQtZ3JheTtcblx0XHRcdH1cblxuXHRcdH1cblx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdC5pdGEtZXhwX19pY29uIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzknIHZpZXdCb3g9JzAgMCAxMiA5JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTIuODM0ODQgNC4zOTQ0M0wuMDYxMTQgOWgzLjcyOTQ5bDIuNjkwMTMtNC4wNTI0OWguNzc0NDRMNC43MDc3MiA4Ljk1MDI4aDMuNTY2NDdMMTIgNC4zOTQ0MyA4LjQzNzIzIDBINC42NjY5NmwyLjU2Nzg2IDMuOTUzMDRINi40NEwzLjcwOTExIDBIMGwyLjgzNDg0IDQuMzk0NDN6JyBmaWxsPSclMjM4MTkxOTUnLyUzRSUzQy9zdmclM0VcIik7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtMTAwJSk7XG5cdFx0XHRcdFx0aGVpZ2h0OiA5cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXgtd2lkdGg6IDY1JTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjg7XG5cdFx0fVxuXHR9XG5cdCZfX2ljb24ge1xuXHRcdC0taW1nLXNpemU6IDE2NXB4O1xuXHRcdG1hcmdpbjogMCBhdXRvIDQwcHg7XG5cdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRtYXgtd2lkdGg6IHZhcigtLWltZy1zaXplKTtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYy1icmFuZC1kYXJrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAyO1xuXHRcdGltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG5cdFx0XHQtLWltZy1zaXplOiA0NXB4O1xuXHRcdH1cblx0fVxufVxuXG4uZmFpci1ib3R0b20ge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0Y29sb3I6ICNmZmY7XG5cdHBhZGRpbmc6IDh2bWluIDA7XG5cdG1pbi1oZWlnaHQ6IDUwMHB4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZhaXIvYmctZm9vdGVyLW1vYmlsZS5qcGcpO1xuXHRAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZhaXIvYmctZm9vdGVyLTc4MC5qcGcpO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZmFpci9iZy1mb290ZXItMTI4MC5qcGcpO1xuXHRcdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9mYWlyL2JnLWZvb3Rlci5qcGcpO1xuXHR9XG5cblx0LnNlY3Rpb24tdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDV2bWluO1xuXHR9XG5cblx0Jl9fbGluayB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC5saW5rLWFycm93IHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZpZXdCb3g9JzAgMCA1NzYgMzQxJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTUwMC41MDEgMTkwLjI4MnYtMzQuODU0aC0zMi4yMzZMNTczLjQ1NSAwaC0xNTUuMjRMMzA2LjIzOSAxNTMuNTQ0aC0zMi4yMzZMMzgwLjA0MSAxLjg4Mzk4SDIzMS41ODhMODguMjIzOCAxNjEuMDhIMHYzMS4wODZoODkuOTIwNUwyMjQuODAxIDM0MWgxNTYuOTM3TDI3NC44NTEgMTkxLjIyNGgzMy4wODRMNDIxLjYwOCAzNDFINTc2TDQ2OC4yNjUgMTkwLjI4MmgzMi4yMzZ6JyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIik7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0XHRcdHdpZHRoOiA1NzZweDtcblx0XHRcdGhlaWdodDogMzQxcHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0b3BhY2l0eTogLjE7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdFx0XHR3aWR0aDogOTAlO1xuXHRcdFx0XHRoZWlnaHQ6IDIwMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG5cbnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ub3NoLWxpc3Qge1xuXHQmX19zdW1tYXJ5IHtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0Jl9fZGV0YWlscyB7XG5cdFx0ZmxleC1iYXNpczogMDtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5vc2gtcG9wdXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiAxcHg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Z2FwOiAxcHg7XG5cdGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGMtYnJhbmQtZGFyazIsIDIpO1xuXHRsaSB7XG5cdFx0ZmxleDogMSBhdXRvO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0d2lkdGg6IDRweDtcblx0XHRcdGJhY2tncm91bmQ6ICRjLWJyYW5kLWxpZ2h0O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogLTJweDtcblx0XHRcdG1hcmdpbi10b3A6IC0xcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHR9XG5cdH1cblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogMTBweCAycHg7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGMtYnJhbmQtbGlnaHQ7XG5cdFx0fVxuXHR9XG59XG4uZHJvcGRvd24td3JhcHBlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbmRldGFpbHNbb3Blbl0gLmRyb3Bkb3duLXdyYXBwZXIge1xuXHRhbmltYXRpb246IGZhZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cblxuZGV0YWlscy5zdW1tYXJ5LWNsb3Npbmdbb3Blbl0gLmRyb3Bkb3duLXdyYXBwZXIge1xuXHRhbmltYXRpb246IGZhZGUtb3V0IDAuNXMgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1pbiB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlLW91dCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcblx0fVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FLQUEscUJBQXFCO0FBdUJyQixBQUFBLE9BQU8sRUtvUEwsZUFBTSxDQUVOLEVBQUUsQUFNQSxPQUFPLENMNVBIO0VBQ1AsS0FBSyxFQWhCRSxJQUFJO0NBd0JYOztBSDRnQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VHcmhCN0IsQUFBQSxPQUFPLEVLb1BMLGVBQU0sQ0FFTixFQUFFLEFBTUEsT0FBTyxDTDVQSDtJQUlOLFVBQVUsRUFBRSw0REFBNEQ7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 */
