.re-nav ul, .sub-nav-slide ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

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

.ellipsis {
  white-space: nowrap;
  /* 1 */
  text-overflow: ellipsis;
  /* 2 */
  overflow: hidden;
}

.df-row {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 480px) {
  .df-row.df-rr-ph {
    flex-direction: row-reverse;
  }
}
@media (min-width: 480px) {
  .df-row.df-aic-ph {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .df-row.df-rr-sm {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .df-row.df-aic-sm {
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .df-row.df-rr-md {
    flex-direction: row-reverse;
  }
}
@media (min-width: 1024px) {
  .df-row.df-aic-md {
    align-items: center;
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-1 {
    flex: 1 0 calc(8.3333333333% * 1);
    max-width: calc(8.3333333333% * 1);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-2 {
    flex: 1 0 calc(8.3333333333% * 2);
    max-width: calc(8.3333333333% * 2);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-3 {
    flex: 1 0 calc(8.3333333333% * 3);
    max-width: calc(8.3333333333% * 3);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-4 {
    flex: 1 0 calc(8.3333333333% * 4);
    max-width: calc(8.3333333333% * 4);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-5 {
    flex: 1 0 calc(8.3333333333% * 5);
    max-width: calc(8.3333333333% * 5);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-6 {
    flex: 1 0 calc(8.3333333333% * 6);
    max-width: calc(8.3333333333% * 6);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-7 {
    flex: 1 0 calc(8.3333333333% * 7);
    max-width: calc(8.3333333333% * 7);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-8 {
    flex: 1 0 calc(8.3333333333% * 8);
    max-width: calc(8.3333333333% * 8);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-9 {
    flex: 1 0 calc(8.3333333333% * 9);
    max-width: calc(8.3333333333% * 9);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-10 {
    flex: 1 0 calc(8.3333333333% * 10);
    max-width: calc(8.3333333333% * 10);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-11 {
    flex: 1 0 calc(8.3333333333% * 11);
    max-width: calc(8.3333333333% * 11);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-12 {
    flex: 1 0 calc(8.3333333333% * 12);
    max-width: calc(8.3333333333% * 12);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-0 {
    margin-left: calc(8.3333333333% * 0);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-1 {
    margin-left: calc(8.3333333333% * 1);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-2 {
    margin-left: calc(8.3333333333% * 2);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-3 {
    margin-left: calc(8.3333333333% * 3);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-4 {
    margin-left: calc(8.3333333333% * 4);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-5 {
    margin-left: calc(8.3333333333% * 5);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-6 {
    margin-left: calc(8.3333333333% * 6);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-7 {
    margin-left: calc(8.3333333333% * 7);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-8 {
    margin-left: calc(8.3333333333% * 8);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-9 {
    margin-left: calc(8.3333333333% * 9);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-10 {
    margin-left: calc(8.3333333333% * 10);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-11 {
    margin-left: calc(8.3333333333% * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-1 {
    flex: 1 0 calc(8.3333333333% * 1);
    max-width: calc(8.3333333333% * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-2 {
    flex: 1 0 calc(8.3333333333% * 2);
    max-width: calc(8.3333333333% * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-3 {
    flex: 1 0 calc(8.3333333333% * 3);
    max-width: calc(8.3333333333% * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-4 {
    flex: 1 0 calc(8.3333333333% * 4);
    max-width: calc(8.3333333333% * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-5 {
    flex: 1 0 calc(8.3333333333% * 5);
    max-width: calc(8.3333333333% * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-6 {
    flex: 1 0 calc(8.3333333333% * 6);
    max-width: calc(8.3333333333% * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-7 {
    flex: 1 0 calc(8.3333333333% * 7);
    max-width: calc(8.3333333333% * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-8 {
    flex: 1 0 calc(8.3333333333% * 8);
    max-width: calc(8.3333333333% * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-9 {
    flex: 1 0 calc(8.3333333333% * 9);
    max-width: calc(8.3333333333% * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-10 {
    flex: 1 0 calc(8.3333333333% * 10);
    max-width: calc(8.3333333333% * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-11 {
    flex: 1 0 calc(8.3333333333% * 11);
    max-width: calc(8.3333333333% * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-12 {
    flex: 1 0 calc(8.3333333333% * 12);
    max-width: calc(8.3333333333% * 12);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-0 {
    margin-left: calc(8.3333333333% * 0);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-1 {
    margin-left: calc(8.3333333333% * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-2 {
    margin-left: calc(8.3333333333% * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-3 {
    margin-left: calc(8.3333333333% * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-4 {
    margin-left: calc(8.3333333333% * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-5 {
    margin-left: calc(8.3333333333% * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-6 {
    margin-left: calc(8.3333333333% * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-7 {
    margin-left: calc(8.3333333333% * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-8 {
    margin-left: calc(8.3333333333% * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-9 {
    margin-left: calc(8.3333333333% * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-10 {
    margin-left: calc(8.3333333333% * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-11 {
    margin-left: calc(8.3333333333% * 11);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-1 {
    flex: 1 0 calc(8.3333333333% * 1);
    max-width: calc(8.3333333333% * 1);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-2 {
    flex: 1 0 calc(8.3333333333% * 2);
    max-width: calc(8.3333333333% * 2);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-3 {
    flex: 1 0 calc(8.3333333333% * 3);
    max-width: calc(8.3333333333% * 3);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-4 {
    flex: 1 0 calc(8.3333333333% * 4);
    max-width: calc(8.3333333333% * 4);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-5 {
    flex: 1 0 calc(8.3333333333% * 5);
    max-width: calc(8.3333333333% * 5);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-6 {
    flex: 1 0 calc(8.3333333333% * 6);
    max-width: calc(8.3333333333% * 6);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-7 {
    flex: 1 0 calc(8.3333333333% * 7);
    max-width: calc(8.3333333333% * 7);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-8 {
    flex: 1 0 calc(8.3333333333% * 8);
    max-width: calc(8.3333333333% * 8);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-9 {
    flex: 1 0 calc(8.3333333333% * 9);
    max-width: calc(8.3333333333% * 9);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-10 {
    flex: 1 0 calc(8.3333333333% * 10);
    max-width: calc(8.3333333333% * 10);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-11 {
    flex: 1 0 calc(8.3333333333% * 11);
    max-width: calc(8.3333333333% * 11);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-12 {
    flex: 1 0 calc(8.3333333333% * 12);
    max-width: calc(8.3333333333% * 12);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-0 {
    margin-left: calc(8.3333333333% * 0);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-1 {
    margin-left: calc(8.3333333333% * 1);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-2 {
    margin-left: calc(8.3333333333% * 2);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-3 {
    margin-left: calc(8.3333333333% * 3);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-4 {
    margin-left: calc(8.3333333333% * 4);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-5 {
    margin-left: calc(8.3333333333% * 5);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-6 {
    margin-left: calc(8.3333333333% * 6);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-7 {
    margin-left: calc(8.3333333333% * 7);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-8 {
    margin-left: calc(8.3333333333% * 8);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-9 {
    margin-left: calc(8.3333333333% * 9);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-10 {
    margin-left: calc(8.3333333333% * 10);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-11 {
    margin-left: calc(8.3333333333% * 11);
  }
}
@media (min-width: 768px) {
  .df-row {
    margin: 0 -15px;
  }
}

.re-header {
  position: relative;
  z-index: 100;
}
.re-home .re-header, .re-inner .re-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.re-header > .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: static;
}
@media (min-width: 1024px) {
  .re-header > .container {
    align-items: stretch;
  }
}
.re-header .container {
  max-width: 1550px;
}
.re-header .container:after {
  display: none;
}
.re-header .re-logo {
  position: relative;
  z-index: 102;
  width: 105px;
}
@media (min-width: 768px) {
  .re-header .re-logo {
    width: 140px;
  }
}
@media (min-width: 1024px) {
  .re-header .re-logo {
    width: 164px;
    z-index: 1;
  }
}
@media (min-width: 1440px) {
  .re-header .re-logo {
    width: 204px;
  }
}

.rev-nav-opener {
  transition: background-color 0.3s ease-in-out;
  width: 74px;
  height: 74px;
  display: block;
  background-color: #e12726;
  position: relative;
  z-index: 102;
  margin: 0 -15px 0 0;
}
@media (min-width: 768px) {
  .rev-nav-opener {
    width: 100px;
    height: 100px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener {
    width: 160px;
    height: 160px;
  }
}
@media (min-width: 1440px) {
  .rev-nav-opener {
    width: 200px;
    height: 200px;
  }
}
@media (min-width: 1680px) {
  .rev-nav-opener {
    margin-right: -80px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener:hover {
    background-color: #52585b;
  }
}
@media (min-width: 1024px) {
  .re-home .rev-nav-opener:hover, .re-inner .rev-nav-opener:hover {
    background-color: #fff;
  }
}
@media (min-width: 1024px) {
  .re-home .rev-nav-opener:hover:after, .re-home .rev-nav-opener:hover:before,
  .re-home .rev-nav-opener:hover span, .re-inner .rev-nav-opener:hover:after, .re-inner .rev-nav-opener:hover:before,
  .re-inner .rev-nav-opener:hover span {
    background-color: #e12726;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener {
    background-color: transparent;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener:hover {
    background-color: transparent;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener span {
    opacity: 0;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener:after, .re-sub-menu-active .rev-nav-opener:before {
    transform: rotate(-45deg);
    top: 50%;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener:after {
    transform: rotate(45deg);
  }
}
@media (max-width: 1023px) {
  .re-mobile-drop-active .rev-nav-opener {
    background-color: transparent;
  }
}
@media (max-width: 1023px) {
  .re-mobile-drop-active .rev-nav-opener span {
    opacity: 0;
  }
}
@media (max-width: 1023px) {
  .re-mobile-drop-active .rev-nav-opener:after, .re-mobile-drop-active .rev-nav-opener:before {
    transform: rotate(-45deg);
    top: 50%;
  }
}
@media (max-width: 1023px) {
  .re-mobile-drop-active .rev-nav-opener:after {
    transform: rotate(45deg);
  }
}
.rev-nav-opener:after, .rev-nav-opener:before,
.rev-nav-opener span {
  transition: all 0.3s ease-in-out;
  width: calc(100% - 40px);
  height: 3px;
  position: absolute;
  left: 20px;
  background-color: #fff;
}
@media (min-width: 768px) {
  .rev-nav-opener:after, .rev-nav-opener:before,
  .rev-nav-opener span {
    width: calc(100% - 66px);
    left: 33px;
    height: 4px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener:after, .rev-nav-opener:before,
  .rev-nav-opener span {
    left: 52px;
    width: calc(100% - 104px);
  }
}
@media (min-width: 1440px) {
  .rev-nav-opener:after, .rev-nav-opener:before,
  .rev-nav-opener span {
    height: 8px;
    left: 66px;
    width: calc(100% - 132px);
  }
}
.rev-nav-opener:after, .rev-nav-opener:before {
  content: "";
}
.rev-nav-opener:before {
  top: 30px;
}
@media (min-width: 768px) {
  .rev-nav-opener:before {
    top: 40px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener:before {
    top: 64px;
  }
}
@media (min-width: 1440px) {
  .rev-nav-opener:before {
    top: 80px;
  }
}
.rev-nav-opener:after {
  bottom: 30px;
}
@media (min-width: 768px) {
  .rev-nav-opener:after {
    bottom: 40px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener:after {
    bottom: 64px;
  }
}
@media (min-width: 1440px) {
  .rev-nav-opener:after {
    bottom: 80px;
  }
}
.rev-nav-opener span {
  top: 50%;
  transform: translateY(-50%);
}

.re-mobile-drop-wrap {
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  position: absolute;
  top: 0;
  z-index: 101;
  background-color: rgba(82, 88, 91, 0.9);
  left: 0;
  right: 0;
  padding: 90px 0 20px;
  opacity: 0;
  visibility: hidden;
  height: calc(var(--vh, 1vh) * 100);
}
@media (min-width: 768px) {
  .re-mobile-drop-wrap {
    padding-top: 120px;
  }
}
@media (min-width: 1024px) {
  .re-mobile-drop-wrap {
    opacity: 1;
    visibility: visible;
    position: static;
    padding: 4px 0 0;
    background-color: transparent;
    height: auto;
    display: flex;
    align-items: center;
  }
}
.re-mobile-drop-active .re-mobile-drop-wrap {
  opacity: 1;
  visibility: visible;
}

.re-mobile-drop {
  overflow-y: auto;
  padding: 0 15px;
  height: 100%;
}
@media (min-width: 1024px) {
  .re-mobile-drop {
    overflow: visible;
    padding: 0;
    height: auto;
  }
}
.re-mobile-drop .re-btn {
  width: 100%;
  margin: 0 0 15px;
  padding-left: 5px;
  padding-right: 5px;
}
@media (min-width: 1024px) {
  .re-mobile-drop .re-btn {
    width: auto;
    margin-bottom: 83px;
  }
}

.re-mobile-drop-content {
  display: flex;
  flex-direction: column-reverse;
}

@media (min-width: 1024px) {
  .re-sub-menu-wrap {
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    position: absolute;
    top: 0;
    height: calc(var(--vh, 1vh) * 100);
    z-index: 101;
    background-color: rgba(82, 88, 91, 0.9);
    left: 0;
    right: 0;
    padding: 150px 0 20px;
    opacity: 0;
    visibility: hidden;
  }
}
@media (min-width: 1440px) {
  .re-sub-menu-wrap {
    padding-top: 197px;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .re-sub-menu-wrap {
    opacity: 1;
    visibility: visible;
  }
}
.re-sub-menu-wrap .container {
  padding: 0;
}
@media (min-width: 1024px) {
  .re-sub-menu-wrap .container {
    padding: 0 15px;
  }
}

@media (min-width: 1024px) {
  .re-sub-menu {
    overflow-y: auto;
    height: 100%;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu .container {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}

@media (min-width: 1024px) {
  .re-sub-bar {
    width: 20.8%;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    padding: 0 61px 0 0;
  }
}

@media (min-width: 1024px) {
  .re-sub-nav {
    width: 75%;
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 1024px) {
  .re-sub-nav .re-col {
    width: 30%;
  }
}

.re-search-form {
  margin: 0 0 15px;
  display: flex;
  align-items: center;
  border-bottom: 2px solid #fff;
}
.re-search-form input[type=search] {
  background-color: transparent;
  color: #fff;
  padding: 0;
  font-size: 18px;
  height: 36px;
  letter-spacing: 3.8px;
}
.re-search-form input[type=search]::-webkit-input-placeholder {
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form input[type=search]::-moz-placeholder {
  opacity: 1;
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form input[type=search]:-moz-placeholder {
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form input[type=search]:-ms-input-placeholder {
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form input[type=search].placeholder {
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form .submit {
  transition: color 0.3s ease-in-out;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: #fff;
  font-size: 18px;
}
.re-search-form .submit:hover {
  color: #e12726;
}
.re-search-form .submit svg {
  fill: currentColor;
  width: 18px;
}

.sub-nav-popup {
  border-bottom: 2px solid #fff;
}
@media (min-width: 1024px) {
  .sub-nav-popup {
    border-bottom: 0;
    margin: 0 0 25px;
  }
}

.re-nav-title {
  color: #fff;
  text-transform: uppercase;
  padding: 7px 0 5px;
  font-size: 18px;
  font-weight: 500;
  display: block;
}
@media (min-width: 1024px) {
  .re-nav-title {
    padding: 0;
    color: #e12726;
  }
}
.re-nav-title a {
  color: inherit;
}
@media (min-width: 1024px) {
  .re-nav-title a {
    pointer-events: none;
  }
}

.re-sub-nav-opener {
  transition: opacity 0.3s ease-in-out;
  position: relative;
  display: block;
  padding-right: 30px;
}
@media (min-width: 1024px) {
  .re-sub-nav-opener {
    display: inline-block;
  }
}
.re-sub-nav-opener:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-family: "icomoon";
  content: "\e905";
  font-size: 25px;
}
@media (min-width: 1024px) {
  .re-sub-nav-opener:after {
    display: none;
    padding-right: 0;
  }
}
.sub-nav-popup-active .re-sub-nav-opener {
  opacity: 0.5 !important;
}
.sub-nav-popup-active .re-sub-nav-opener:after {
  content: "\e904";
}

.sub-nav-slide {
  color: #fff;
}
.sub-nav-slide ul {
  margin: 0 0 10px;
}
@media (min-width: 1024px) {
  .sub-nav-slide ul {
    margin-bottom: 0;
  }
}
.sub-nav-slide ul li + li {
  margin-top: 5px;
}
@media (min-width: 1024px) {
  .sub-nav-slide ul li + li {
    margin-top: 0;
  }
}
.sub-nav-slide ul li.active a {
  color: #e12726;
}
.sub-nav-slide a {
  color: inherit;
}
@media (min-width: 1024px) {
  .sub-nav-slide a {
    transition: color 0.3s ease-in-out;
  }
}
@media (min-width: 1024px) {
  .sub-nav-slide a:hover {
    color: #e12726;
  }
}

.re-nav ul > li.active > a {
  color: #e12726;
}
.re-nav > ul {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .re-nav > ul {
    display: flex;
    font-size: 24px;
    margin: 0 -16px;
    color: #52585b;
  }
}
@media (min-width: 1440px) {
  .re-nav > ul {
    font-size: 30px;
    margin: 0 -38px;
  }
}
@media (min-width: 1024px) {
  .re-home .re-nav > ul, .re-inner .re-nav > ul {
    color: #fff;
  }
}
.re-nav > ul > li {
  border-bottom: 2px solid #fff;
}
@media (min-width: 1024px) {
  .re-nav > ul > li {
    border-bottom: 0;
    position: relative;
    padding: 0 0 0 14px;
    margin: 0 16px;
  }
}
@media (min-width: 1440px) {
  .re-nav > ul > li {
    margin: 0 38px;
  }
}
@media (min-width: 1024px) {
  .re-nav > ul > li:hover > a {
    color: #e12726;
  }
}
@media (min-width: 1024px) {
  .re-nav > ul > li:hover .re-drop {
    opacity: 1;
    visibility: visible;
  }
}
@media (min-width: 1024px) {
  .re-nav > ul > li:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 3px;
    height: 24px;
    background: #e12726;
  }
}
@media (min-width: 1440px) {
  .re-nav > ul > li:before {
    height: 30px;
  }
}
.re-nav > ul > li.re-drop-active > .has-drop-down-a {
  opacity: 0.5 !important;
}
.re-nav > ul > li.re-drop-active > .has-drop-down-a:after {
  content: "\e904";
}
.re-nav > ul > li > a {
  transition: opacity 0.3s ease-in-out;
  position: relative;
  padding: 7px 0 5px;
  text-transform: uppercase;
  color: inherit;
  display: block;
}
@media (min-width: 1024px) {
  .re-nav > ul > li > a {
    transition: color 0.3s ease-in-out;
    text-transform: none;
    padding: 0;
    text-shadow: 0 0 2px #000;
  }
}
.re-nav > ul > li > a.has-drop-down-a {
  padding-right: 30px;
  position: relative;
}
@media (min-width: 1024px) {
  .re-nav > ul > li > a.has-drop-down-a {
    padding-right: 0;
  }
}
.re-nav > ul > li > a.has-drop-down-a:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-family: "icomoon";
  content: "\e905";
  font-size: 25px;
}
@media (min-width: 1024px) {
  .re-nav > ul > li > a.has-drop-down-a:after {
    display: none;
  }
}
.re-nav .re-drop {
  font-size: 14px;
  line-height: 19px;
  font-weight: 400;
  padding: 0 0 10px;
  color: #fff;
}
@media (min-width: 1024px) {
  .re-nav .re-drop {
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    position: absolute;
    left: 0;
    width: 215px;
    top: 100%;
    font-size: 18px;
    line-height: 20px;
    opacity: 0;
    visibility: hidden;
    padding: 17px 0 0;
  }
}
@media (min-width: 1440px) {
  .re-nav .re-drop {
    width: 336px;
    font-size: 22px;
    line-height: 24px;
  }
}
@media (min-width: 1024px) {
  .re-nav .re-drop ul {
    background-color: #e12726;
    padding: 20px 26px 12px;
  }
}
@media (min-width: 1440px) {
  .re-nav .re-drop ul {
    padding: 26px 32px 18px;
  }
}
@media (min-width: 1024px) {
  .re-nav .re-drop li.active a {
    opacity: 0.6;
    color: #fff;
  }
}
.re-nav .re-drop li + li {
  margin-top: 5px;
}
@media (min-width: 1024px) {
  .re-nav .re-drop li + li {
    margin-top: 12px;
  }
}
@media (min-width: 1440px) {
  .re-nav .re-drop li + li {
    margin-top: 16px;
  }
}
.re-nav .re-drop a {
  color: inherit;
}
@media (min-width: 1024px) {
  .re-nav .re-drop a {
    transition: opacity 0.3s ease-in-out;
  }
}
@media (min-width: 1024px) {
  .re-nav .re-drop a:hover {
    opacity: 0.8;
  }
}

.re-footer {
  padding: 50px 0 40px;
  color: #fff;
  font-size: 16px;
  text-align: center;
  background-color: #52585b;
}
@media (min-width: 768px) {
  .re-footer {
    padding: 65px 0 40px;
    font-size: 18px;
    text-align-last: left;
  }
}
.re-footer ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.re-footer li:hover a {
  color: #e12726;
}
.re-footer li.active {
  color: #e12726;
}
.re-footer a {
  color: inherit;
  transition: all 0.3s;
}
.re-footer .container {
  max-width: 1560px;
}
@media (min-width: 1024px) {
  .re-footer .re-copyright {
    padding-top: 72px;
  }
}
.re-footer .re-footer-menu {
  padding-top: 5px;
}
.re-footer .re-copyright {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media (min-width: 768px) {
  .re-footer .re-copyright {
    margin: 0 -16px;
    justify-content: flex-end;
  }
}
.re-footer .re-copyright li {
  padding: 0 10px;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .re-footer .re-copyright li {
    padding: 0 16px;
  }
}

.re-columns-footer {
  margin: 0 -15px;
}
@media (min-width: 480px) {
  .re-columns-footer {
    display: flex;
    flex-wrap: wrap;
  }
}
.re-columns-footer > * {
  padding: 0 15px;
}
.re-columns-footer .re-col {
  margin-bottom: 30px;
}
@media (min-width: 480px) {
  .re-columns-footer .re-col {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .re-columns-footer .re-col {
    margin-bottom: 40px;
  }
}
@media (min-width: 1024px) {
  .re-columns-footer .re-col {
    margin-bottom: 0;
    justify-content: flex-start;
    width: 24.5%;
    display: flex;
  }
}
.re-columns-footer .re-col-small {
  margin-bottom: 30px;
}
@media (min-width: 480px) {
  .re-columns-footer .re-col-small {
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .re-columns-footer .re-col-small {
    width: 17%;
    margin-bottom: 0;
  }
}
.re-columns-footer .re-col-small:last-child {
  width: 100%;
  padding-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .re-columns-footer .re-col-small:last-child {
    width: 17%;
    padding-top: 0;
    margin-bottom: 0;
  }
}

.re-footer-menu li {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .re-footer-menu li {
    margin-bottom: 15px;
  }
}

.re-address-item address {
  font-size: 18px;
  line-height: 34px;
  font-weight: 400;
  font-style: normal;
}
@media (min-width: 768px) {
  .re-address-item address {
    line-height: 40px;
    font-size: 24px;
  }
}
@media (min-width: 1024px) {
  .re-address-item address {
    text-align: left;
  }
}

.re-soc-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .re-soc-menu {
    justify-content: flex-end;
  }
}
@media (min-width: 1024px) {
  .re-soc-menu {
    justify-content: flex-start;
  }
}
.re-soc-menu li {
  padding: 7px 3px 0;
}
.re-soc-menu .icon-twitter,
.re-soc-menu .icon-instagram {
  font-size: 22px;
}
.re-soc-menu .icon-facebook {
  display: inline-block;
  padding-top: 2px;
}

.no-space #main {
  padding: 0;
}

/**
 * Swiper 9.2.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 21, 2023
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

.swiper, swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide, swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet, :host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  -ms-touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification, swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-next + .swiper-slide, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

@font-face {
  font-family: "icomoon";
  src: url("fonts/icomoon.eot?hn1ugs");
  src: url("fonts/icomoon.eot?hn1ugs#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?hn1ugs") format("truetype"), url("fonts/icomoon.woff?hn1ugs") format("woff"), url("fonts/icomoon.svg?hn1ugs#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-facebook:before {
  content: "\e900";
}

.icon-twitter:before {
  content: "\e901";
}

.icon-arrow-left:before {
  content: "\e8f5";
}

.icon-instagram:before {
  content: "\e903";
}

.icon-minus:before {
  content: "\e904";
}

.icon-plus:before {
  content: "\e905";
}

.icon-search:before {
  content: "\e906";
}

.icon-cross:before {
  content: "\e8fe";
}

.icon-download:before {
  content: "\e908";
}

.icon-classes:before {
  content: "\e90a";
}

.icon-events:before {
  content: "\e90b";
}

.icon-icons8-twitterx:before {
  content: "\e988";
}

.icon-instagram-new:before {
  content: "\e902";
}

/**
 * calendar calendar table styles
 */
.calendar-calendar tr.odd, .calendar-calendar tr.even {
  background-color: #fff;
}

.calendar-calendar table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 auto;
  padding: 0;
  width: 100%; /* Setting at 100% causes problem in Internet Explorer. */
}

.calendar-calendar table.full {
  margin-top: 50px !important;
}
@media (max-width: 1023px) {
  .calendar-calendar table.full {
    margin-top: 20px !important;
  }
}

@media (max-width: 1023px) {
  .view-content {
    overflow: auto;
  }
}

@media (max-width: 1023px) {
  .calendar-calendar .month-view {
    overflow: auto;
  }
}

.calendar-calendar .month-view table {
  border: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
@media (max-width: 1023px) {
  .calendar-calendar .month-view table {
    width: 1024px;
  }
}

/**
 * IE needs a little help to get the side by side tables to the right size
 */
.calendar-calendar .year-view td {
  width: 32%;
  padding: 1px;
  border: none;
}

.calendar-calendar .year-view td table td {
  width: 13%;
  padding: 0;
}

.calendar-calendar tr {
  padding: 0;
  margin: 0;
  background-color: white;
}

.calendar-calendar th {
  text-align: center;
  margin: 0;
}

.calendar-calendar th a {
  font-weight: bold;
}

.calendar-calendar td {
  width: 14%;
  border: 1px solid #fff;
  color: #52585b;
  text-align: right;
  vertical-align: top;
  margin: 0;
  padding: 0;
}

/**
 * simplify the mini calendar by removing borders
 */
.calendar-calendar .mini {
  border: none;
}

/**
 * format for the week number in the first cell
 */
.calendar-calendar td.week {
  width: 1%;
  min-width: 1%;
}

.calendar-calendar .week {
  clear: both;
  font-style: normal;
  color: #555;
  font-size: 0.8em;
}

/**
 * IE6 does not support min-height, using Min-Height fast hack from http://www.dustindiaz.com/min-height-fast-hack
 */
.calendar-calendar .inner {
  height: auto !important;
  height: 5em;
  padding: 0;
  margin: 0;
}

.calendar-calendar .inner div {
  padding: 0;
  margin: 0;
}

/**
 * Make sure paragraphs buried in calendar cells use padding, not margins, for separation so the background color doesn't come through.
 */
.calendar-calendar .inner p {
  padding: 0 0 0.8em 0;
  margin: 0;
}

.calendar-calendar td a {
  font-weight: 500;
  text-decoration: none;
}

.calendar-calendar td a:hover {
  text-decoration: underline;
}

.calendar-calendar td.year,
.calendar-calendar td.month {
  text-align: center;
}

/**
 * format days of the week header cells
 */
.calendar-calendar th.days {
  color: #ccc;
  background-color: transparent;
  text-align: center;
  padding: 1px;
  margin: 0;
  font-weight: 500;
}

/**
 * floating day number div
 */
.calendar-calendar div.day {
  float: right;
  text-align: center;
  padding: 20px 0.25em 15px 0.25em;
  margin: 0;
  background-color: #f3f3f3;
  border: 1px solid gray;
  border-width: 0 0 1px 1px;
  clear: both;
  font-size: 45px;
  font-weight: 100;
}

/**
 * individual node container
 */
.calendar-calendar div.calendar {
  background-color: #fff;
  border: solid 1px #ddd;
  text-align: left;
  margin: 0 0.25em 0.25em 0;
  width: 96%;
  float: right; /* needed to keep IE from hiding the floating day number */
  clear: both;
}

/**
 * No floating of day view content because there is no floating day number
 */
.calendar-calendar .day-view div.calendar {
  float: none;
  width: 98%;
  margin: 1% 1% 0 1%;
}

.calendar-calendar div.title {
  font-size: 0.8em;
  text-align: center;
}

.calendar-calendar div.title a {
  color: #000;
}

.calendar-calendar div.title a:hover {
  color: #c00;
}

.calendar-calendar .content {
  clear: both;
  padding: 3px;
  padding-left: 5px;
}

.calendar div.form-item {
  white-space: normal;
}

table td.mini,
table th.mini,
table.mini td.week {
  padding: 0 1px 0 0;
  margin: 0;
}

table td.mini a {
  font-weight: normal;
}

.calendar-calendar .mini-day-off {
  padding: 0px;
}

.calendar-calendar .mini-day-on {
  padding: 0px;
}

table .mini-day-on a {
  text-decoration: underline;
}

.calendar-calendar .mini .title {
  font-size: 0.8em;
}

.mini .calendar-calendar .week {
  font-size: 0.7em;
}

.mini-row {
  width: 100%;
  border: none;
}

.mini {
  width: 32%;
  vertical-align: top;
}

/**
 * formatting for the legend stripe and block
 */
.calendar-calendar .stripe {
  height: 5px;
  width: auto;
  font-size: 1px !important;
  line-height: 1px !important;
}

.calendar-calendar .day-view .stripe {
  width: 100%;
}

table.calendar-legend {
  background-color: #ccc;
  width: 100%;
  margin: 0;
  padding: 0;
}

table.calendar-legend tr.odd .stripe,
table.calendar-legend tr.even .stripe {
  height: 12px !important;
  font-size: 9px !important;
  line-height: 10px !important;
}

.calendar-legend td {
  text-align: left;
  padding-left: 5px;
}

.calendar-empty {
  font-size: 1px;
  line-height: 1px;
}

/**
 * formatting for the full day view
 */
.calendar-calendar td.calendar-agenda-hour {
  text-align: right;
  border: none;
  border-top: 1px solid #CCCCCC;
  padding-top: 0.25em;
  width: 1%;
}

.calendar-calendar td.calendar-agenda-no-hours {
  min-width: 1%;
}

.calendar-calendar td.calendar-agenda-hour .calendar-hour {
  font-size: 1.2em;
  font-weight: bold;
}

.calendar-calendar td.calendar-agenda-hour .calendar-ampm {
  font-size: 1em;
}

.calendar-calendar td.calendar-agenda-items {
  border: 1px solid #CCCCCC;
  text-align: left;
}

.calendar-calendar td.calendar-agenda-items div.calendar {
  width: auto;
  padding: 0.25em;
  margin: 0;
}

.calendar-calendar div.calendar div.inner .calendar-agenda-empty {
  width: 100%;
  text-align: center;
  vertical-align: middle;
  padding: 1em 0;
  background-color: #fff;
}

/**
 * the popup date selector for jumping to a new date
 */
.calendar-date-select form {
  text-align: right;
  float: right;
  width: 25%;
}

.calendar-date-select div,
.calendar-date-select input,
.calendar-date-select label {
  text-align: right;
  padding: 0;
  margin: 0;
  float: right;
  clear: both;
}

.calendar-date-select .description {
  float: right;
}

.calendar-label {
  font-weight: bold;
  display: block;
  clear: both;
}

.calendar-calendar div.date-nav {
  background-color: #ccc;
  color: #52585b;
  padding: 0.2em;
  width: auto;
  border: 1px solid #ccc;
}

.calendar-calendar div.date-nav a,
.calendar-calendar div.date-nav h3 {
  color: #52585b;
  text-decoration: none;
}

.calendar-calendar th.days {
  background-color: transparent;
  color: #52585b;
  font-weight: 500;
  border: 1px solid #fff;
  font-size: 24px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: right;
}

.calendar-calendar td.empty {
  background: #f2f2f3;
  border-color: #fff;
  color: rgba(82, 88, 91, 0.2);
}

.calendar-calendar table.mini td.empty {
  background: #fff;
  border-color: #fff;
}

.calendar-calendar td div.day {
  border: 1px solid #ccc;
  border-top: none;
  border-right: none;
  margin-bottom: 2px;
}

.calendar-calendar td .inner div,
.calendar-calendar td .inner div a {
  background: #eee;
}

/**
 * Set small font size for all items in calendar div, themes can override this.
 * Use x-small instead of em to avoid multiplying effect in nested items.
 */
.calendar-calendar div.calendar {
  border: none;
  font-size: x-small;
}

.calendar-calendar td .inner div.calendar div,
.calendar-calendar td .inner div.calendar div a {
  border: none;
  background: transparent;
  padding: 0;
}

.calendar-calendar td .inner div.calendar div.calendar-more,
.calendar-calendar td .inner div.calendar div.calendar-more a {
  color: #444;
  background: #fff;
  text-align: right;
}

.calendar-calendar td .inner .view-field,
.calendar-calendar td .inner .view-field a {
  color: #444;
  font-weight: normal;
}

.calendar-calendar td span.date-display-single,
.calendar-calendar td span.date-display-start,
.calendar-calendar td span.date-display-end,
.calendar-calendar td span.date-display-separator {
  font-weight: 400;
}

.calendar-calendar td .inner div.day a {
  color: #52585b;
  font-weight: 100;
}

.calendar-calendar tr td.today,
.calendar-calendar tr.odd td.today,
.calendar-calendar tr.even td.today {
  background-color: #C3D6E4;
}

/**
 * The following are not used by default but are available for themes
 */
/**
 * Multi day styles
 */
.calendar-calendar tbody {
  border-top: none;
}

.calendar-calendar .month-view .full .inner,
.calendar-calendar .week-view .full .multi-day .inner {
  height: auto;
  min-height: 130px;
}

.calendar-calendar .week-view .full .calendar-agenda-hour .calendar-calendar .month-view .full .single-day .inner .view-item {
  float: left;
  width: 100%;
}

.calendar-calendar .week-view .full .calendar-agenda-hour,
.calendar-calendar .day-view .full .calendar-agenda-hour {
  padding-right: 2px;
}

.calendar-calendar .week-view .full .calendar-agenda-hour {
  width: 6%;
  min-width: 0px;
}

.calendar-calendar .week-view .full .days {
  width: 13%;
}

.calendar-calendar .month-view .full div.calendar,
.calendar-calendar .week-view .full div.calendar,
.calendar-calendar .day-view div.calendar {
  width: auto;
}

.calendar-calendar .month-view .full tr.date-box,
.calendar-calendar .month-view .full tr.date-box td,
.calendar-calendar .month-view .full tr.multi-day,
.calendar-calendar .month-view .full tr.multi-day td {
  height: 19px;
  max-height: 19px;
}

.calendar-calendar .month-view .full tr.single-day .no-entry,
.calendar-calendar .month-view .full tr.single-day .no-entry .inner {
  height: 44px !important;
  line-height: 44px;
}

.calendar-calendar .month-view .full tr.single-day .noentry-multi-day,
.calendar-calendar .month-view .full tr.single-day .noentry-multi-day .inner {
  height: 22px !important;
  line-height: 22px;
}

.calendar-calendar .month-view .full td,
.calendar-calendar .week-view .full td,
.calendar-calendar .day-view td {
  vertical-align: top;
  padding: 1px 2px 0 2px;
}

.calendar-calendar .month-view .full td.date-box {
  height: 1%;
  border-bottom: 0px;
  padding-bottom: 2px;
}

.calendar-calendar .month-view .full .week {
  font-size: inherit;
}

.calendar-calendar .month-view .full .week a,
.calendar-calendar .week-view .full .week a {
  color: #4b85ac;
}

.calendar-calendar .month-view .full td .inner div.day,
.calendar-calendar .month-view .full td .inner div.day a {
  border: none;
  background: none;
  margin-bottom: 0px;
}

.calendar-calendar .month-view .full td.date-box .inner,
.calendar-calendar .week-view .full td.date-box .inner {
  min-height: inherit;
}

.calendar-calendar .month-view .full td.multi-day,
.calendar-calendar .week-view .full td.multi-day {
  border-top: 0px;
  border-bottom: 0px;
}

.calendar-calendar .week-view .full .first td.multi-day {
  border-top: 1px solid #CCCCCC;
}

.calendar-calendar .month-view .full td.single-day {
  border-top: 0px;
}

.calendar-calendar .month-view .full td.multi-day .inner,
.calendar-calendar .week-view .full td.multi-day .inner,
.calendar-calendar .day-view .full td.multi-day .inner {
  min-height: inherit;
  width: auto;
  position: relative;
}

.calendar-calendar .month-view .full td.multi-day.no-entry {
  min-height: 0px;
}

.calendar-calendar .month-view .full td.single-day .calendar-empty,
.calendar-calendar .month-view .full td.single-day.empty,
.calendar-calendar .month-view .full td.date-box.empty,
td {
  background: #f2f2f3;
}

.calendar-calendar .month-view .full td.single-day .inner div,
.calendar-calendar .month-view .full td.single-day .inner div a,
.calendar-calendar .month-view .full td.multi-day .inner div,
.calendar-calendar .month-view .full td.multi-day .inner div a,
.calendar-calendar .month-view .full td .inner div.calendar.monthview div,
.calendar-calendar .month-view .full td .inner div.calendar.monthview div a,
.calendar-calendar .week-view .full td.single-day .inner div,
.calendar-calendar .week-view .full td.single-day .inner div a,
.calendar-calendar .week-view .full td.multi-day .inner div,
.calendar-calendar .week-view .full td.multi-day .inner div a,
.calendar-calendar .week-view .full td .inner div.calendar.weekview div,
.calendar-calendar .week-view .full td .inner div.calendar.weekview div a,
.calendar-calendar .day-view .full td .inner div.view-item,
.calendar-calendar .day-view .full td .inner div.calendar div,
.calendar-calendar .day-view .full td .inner div.calendar div a {
  background: none;
}

.calendar-calendar .day-view .full td .inner div.calendar div,
.calendar-calendar .day-view .full td .inner div.calendar div a {
  margin: 0px 3px;
}

.calendar-calendar .day-view .full td .inner div.calendar div.stripe {
  margin: 0px;
}

.calendar-calendar .month-view .full tr td.today,
.calendar-calendar .month-view .full tr.odd td.today,
.calendar-calendar .month-view .full tr.even td.today {
  background: none;
  border-left: 2px solid #7C7F12;
  border-right: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full td.date-box.today {
  border-width: 2px 2px 0px 2px;
  border-style: solid;
  border-color: #7C7F12;
}

.calendar-calendar .month-view .full tr td.single-day.today {
  border-bottom: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full tr td.multi-day.starts-today {
  border-left: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full tr td.multi-day.ends-today {
  border-right: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full tr td.multi-day,
.calendar-calendar .month-view .full tr td.single-day {
  border-top: 0px;
}

.calendar-calendar .month-view .full tr td.multi-day,
.calendar-calendar .month-view .full tr td.date-box {
  border-bottom: 0px;
}

.calendar-calendar .month-view .full .inner .monthview,
.calendar-calendar .week-view .full .inner .weekview,
.calendar-calendar .day-view .full .inner .dayview {
  -moz-border-radius: 5px;
  border-radius: 5px;
  width: auto;
  float: none;
  display: block;
  margin: 0.25em auto;
  position: relative;
}

.calendar-calendar .month-view .full td.single-day div.monthview,
.calendar-calendar .week-view .full td.single-day div.weekview,
.calendar-calendar .day-view .full td.single-day div.dayview {
  background: transparent;
  width: auto;
  padding: 5px 12px 5px 25px;
  overflow: hidden;
  text-align: right;
  font-size: 18px;
  line-height: 1;
}

.calendar-calendar .month-view .full td.single-day .calendar-more div.monthview {
  background: none;
}

.calendar-calendar .day-view td div.dayview {
  padding: 0px;
}

.calendar-calendar .month-view .full td.multi-day div.monthview,
.calendar-calendar .week-view .full td.multi-day div.weekview,
.calendar-calendar .day-view .full td.multi-day div.dayview {
  background: #74a5d7;
  height: 1.9em;
  overflow: hidden;
  margin: 0px auto;
  color: #ffffff;
  position: relative;
}

.calendar-calendar .week-view .full td.multi-day div.weekview {
  height: 3.5em;
}

.calendar-calendar li {
  list-style-type: none;
}

.calendar-calendar li .text a {
  display: block;
  margin: 0 0 7px;
  color: #e12726;
}

.calendar-calendar .month-view .full td.multi-day .inner .view-field,
.calendar-calendar .month-view .full td.multi-day .inner .view-field a,
.calendar-calendar .week-view .full td.multi-day .inner .view-field,
.calendar-calendar .week-view .full td.multi-day .inner .view-field a,
.calendar-calendar .day-view .full td.multi-day .inner .view-field,
.calendar-calendar .day-view .full td.multi-day .inner .view-field a {
  color: #ffffff;
}

.calendar-calendar .day-view .full td.multi-day div.dayview,
.calendar-calendar .week-view .full td.multi-day div.weekview {
  margin-bottom: 2px;
}

.calendar-calendar .month-view .full td.multi-day .calendar.monthview .view-field {
  white-space: nowrap;
  float: left;
  margin-right: 3px;
}

.calendar-calendar .week-view .full td.multi-day .calendar.weekview .view-field {
  white-space: nowrap;
  display: inline;
  margin-right: 3px;
}

.calendar-calendar .day-view .full td.multi-day .calendar.weekview .view-field {
  display: block;
}

.calendar-calendar .month-view .full td.multi-day .calendar.monthview .contents,
.calendar-calendar .week-view .full td.multi-day .calendar.weekview .contents {
  position: absolute;
  width: 3000px;
  left: 5px;
}

.calendar-calendar .day-view td .stripe,
.calendar-calendar .month-view .full td .stripe,
.calendar-calendar .week-view .full td .stripe {
  -moz-border-radius: 5px 5px 0px 0px;
  border-radius: 5px 5px 0px 0px;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 3px;
  z-index: 2;
}

.calendar-calendar .full td.single-day .continuation,
.calendar-calendar .full td.single-day .continues,
.calendar-calendar .full td.single-day .cutoff {
  display: none;
}

.calendar-calendar .month-view .full td.multi-day .inner .monthview .continuation,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .continuation {
  float: left;
  margin-right: 3px;
  height: 1.9em;
}

.calendar-calendar .week-view .full td.multi-day .inner .weekview .continuation {
  height: 2.75em;
  padding-top: 0.75em;
  margin-right: 8px;
}

.calendar-calendar .month-view .full td.multi-day .inner .monthview .continues,
.calendar-calendar .month-view .full td.multi-day .inner .monthview .cutoff,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .continues,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
  position: absolute;
  right: 0px !important;
  right: -1px;
  width: 10px;
  text-align: left;
  background: #74a5d7;
  -moz-border-radius: 0px 5px 5px 0px;
  border-radius: 0px 5px 5px 0px;
  height: 1.9em;
  padding-left: 6px;
  z-index: 1;
}

.calendar-calendar .week-view .full td.multi-day .inner .weekview .continues,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
  height: 2.75em;
  padding-top: 0.75em;
}

.calendar-calendar .month-view .full td.multi-day .inner .monthview .cutoff,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
  width: 8px;
  padding-left: 0px;
}

.calendar-calendar .week-view .full td.multi-day {
  padding: 2px;
}

.calendar-calendar .week-view td.single-day div.calendar {
  width: 100%;
  padding-left: 0px;
  padding-right: 0px;
}

.calendar-calendar .week-view .full tr.last td.multi-day {
  border-bottom: 1px solid #CCCCCC;
}

/**
 * Restyle Header
 */
.view .date-nav-wrapper .clear-block {
  margin-bottom: 10px;
}

.view .date-nav-wrapper {
  position: relative;
  background-color: #52585b;
  width: 100%;
}

.view .date-nav-wrapper .date-nav {
  background-color: transparent;
  border: 0px;
  min-height: 30px;
  position: relative;
  padding: 7px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.view .pager {
  display: flex;
  align-items: center;
  list-style-type: none;
  justify-content: space-between;
}

.view .date-nav-wrapper .date-prev a,
.view .date-nav-wrapper .date-next a {
  text-decoration: none;
  color: inherit;
  font-size: 0;
}

.view .date-nav-wrapper.date-nav a:hover {
  text-decoration: underline;
}

.view .date-nav-wrapper .date-prev {
  -moz-border-radius: 5px 0 0 5px;
  border-radius: 5px 0 0 5px;
  background: transparent;
  float: none;
  right: 80px;
  left: auto;
  text-align: right;
  top: 0px;
  width: auto;
  z-index: 1;
  font-size: 0;
  line-height: 0;
  margin: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-prev {
    margin: 0 10px;
  }
}

.block-views .view .date-nav-wrapper .date-prev {
  left: 0;
  right: auto;
}

.view .date-nav-wrapper .date-prev a {
  margin-left: 10px;
  font-weight: bold;
  width: 30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-prev a {
    width: 60px;
  }
}
.view .date-nav-wrapper .date-prev a::before {
  content: "";
  background-image: url("images/arrow-prev.svg");
  width: 30px;
  height: 20px;
  background-repeat: no-repeat;
  display: block;
  left: 0;
  top: 50%;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-prev a::before {
    width: 60px;
    height: 40px;
  }
}
.view .date-nav-wrapper .date-prev a:hover {
  opacity: 0.7;
}

.view .date-nav-wrapper .date-heading {
  position: relative;
  top: 0px;
  text-align: center;
  z-index: 0;
}

.view .date-nav-wrapper .date-heading h3 {
  line-height: 1;
  font-size: 24px;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-heading h3 {
    font-size: 30px;
    letter-spacing: 2px;
  }
}

.view .date-nav-wrapper .date-next {
  -moz-border-radius: 0px 5px 5px 0px;
  border-radius: 0px 5px 5px 0px;
  background: transparent;
  float: none;
  right: 0px;
  text-align: right;
  top: 0px;
  width: auto;
  z-index: 1;
  font-size: 0;
  margin: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-next {
    margin: 0 10px;
  }
}

.view .date-nav-wrapper .date-next a {
  margin-right: 0;
  font-weight: bold;
  width: 30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-next a {
    width: 60px;
  }
}
.view .date-nav-wrapper .date-next a::before {
  content: "";
  background-image: url("images/arrow-next.svg");
  width: 30px;
  height: 20px;
  background-repeat: no-repeat;
  display: block;
  left: 0;
  top: 50%;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-next a::before {
    width: 60px;
    height: 40px;
  }
}
.view .date-nav-wrapper .date-next a:hover {
  opacity: 0.7;
}

.attachment .calendar-calendar {
  margin-top: 20px;
  clear: both;
}

.calendar-calendar th a,
.attachment .calendar-calendar th {
  background-color: transparent;
  border: 0px;
}

.attachment .calendar-calendar th.calendar-agenda-hour {
  color: #777777;
  font-weight: bold;
  text-align: right;
}

.view-calendar .feed-icon {
  margin-top: 5px;
}

.view table.mini .date-prev,
.view table.mini .date-next {
  background: none;
}

.date-nav div.date-prev,
.date-nav div.date-next,
.date-nav {
  width: auto;
}

ul.calendar-links,
.region-content ul.calendar-links {
  margin: 0;
  padding: 0;
}

.year-view div.month-view div.date-nav {
  background-color: #DFDFDF;
  min-height: 20px;
}

.tabs-multiday {
  margin: 0;
  padding: 25px 0;
}
@media (max-width: 767px) {
  .tabs-multiday {
    display: flex;
    flex-direction: column;
  }
}
.tabs-multiday .tabs__tab {
  border: none;
  background: transparent;
  margin-right: 30px;
}
@media (max-width: 1023px) {
  .tabs-multiday .tabs__tab {
    margin-right: 20px;
  }
}
.tabs-multiday .tabs__tab.is-active .tabs__tab-link {
  color: #e12726;
}
.tabs-multiday .tabs__tab-link {
  font-size: 20px;
  text-transform: uppercase;
  background: transparent;
  padding: 0;
  text-align: left;
  letter-spacing: 5px;
  font-weight: 500;
  color: #52585b;
}
@media (max-width: 1023px) {
  .tabs-multiday .tabs__tab-link {
    font-size: 18px;
    letter-spacing: 1px;
  }
}
.tabs-multiday .tabs__tab-link:hover {
  background: transparent;
  color: #c00f08;
}

.re-btn {
  transition: color 0.3s ease-in-out;
  background: #000;
  color: #fff;
  border-color: #000;
  text-transform: uppercase;
  display: inline-block;
  border-width: 2px;
  border-style: solid;
  font-size: 20px;
  line-height: 22px;
  font-weight: 500;
  padding: 12px 10px;
  vertical-align: top;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .re-btn {
    padding: 21px 24px 19px;
  }
}
@media (min-width: 1440px) {
  .re-btn {
    letter-spacing: 2px;
    font-size: 24px;
    line-height: 26px;
  }
}
@media (min-width: 1680px) {
  .re-btn {
    letter-spacing: 4.7px;
  }
}
.re-btn:hover {
  color: #fff;
}
.re-btn:hover:before {
  width: 100%;
}
.re-btn:before {
  transition: width 0.3s ease-in-out;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  bottom: 0;
  background: #fff;
  z-index: -1;
}
.re-btn-default {
  background: #000;
  color: #fff;
  border-color: #000;
}
.re-btn-danger {
  background: #e12726;
  color: #fff;
  border-color: #e12726;
}
.re-btn-danger:hover {
  color: #e12726;
}
.re-btn-danger:before {
  background-color: #fff;
}
.re-btn-outline-light {
  background: transparent;
  color: #fff;
  border-color: #fff;
}
.re-btn-outline-light:hover {
  color: #e12726;
}
.re-btn-outline-light:before {
  background-color: #fff;
}
.re-btn-sm {
  border-radius: 0;
  padding: 4px 10px;
}

.btn-group {
  margin: 0 -5px -10px;
  display: flex;
  flex-wrap: wrap;
}
.btn-group .btn {
  margin: 0 5px 10px;
}

.swiper {
  --swiper-theme-color: #e12726;
  --swiper-pagination-bullet-width: 18px;
  --swiper-pagination-bullet-height: 18px;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-vertical-gap: 25px;
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-scrollbar-size: 7px;
  --swiper-scrollbar-border-radius: 0;
  --swiper-scrollbar-bg-color: #52585b;
  --swiper-scrollbar-drag-bg-color: var(--swiper-theme-color);
}

.swiper-pagination-bullet {
  transition: transform 0.3s ease-in-out;
  box-shadow: 0 0 2px #000;
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
  transform: scale(1.1);
}

.swiper-button-next,
.swiper-button-prev {
  transition: color 0.3s ease-in-out;
  width: auto;
  height: auto;
  margin: 0;
  text-transform: uppercase;
  font-size: 0;
}
@media (min-width: 1024px) {
  .swiper-button-next,
  .swiper-button-prev {
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 4px;
  }
}
@media (min-width: 1440px) {
  .swiper-button-next,
  .swiper-button-prev {
    font-size: 24px;
    letter-spacing: 5px;
  }
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
  color: #52585b;
}
.swiper-button-next:after,
.swiper-button-prev:after {
  display: none;
}
.swiper-button-next svg,
.swiper-button-prev svg {
  width: 30px;
  fill: currentColor;
}
@media (min-width: 1024px) {
  .swiper-button-next svg,
  .swiper-button-prev svg {
    width: 44px;
  }
}
@media (min-width: 1440px) {
  .swiper-button-next svg,
  .swiper-button-prev svg {
    width: 55px;
  }
}

.swiper-button-next svg {
  margin: 0 0 0 17px;
}

.swiper-button-prev svg {
  margin: 0 17px 0 0;
}

.swiper-hero {
  height: calc(var(--vh, 1vh) * 100);
  width: 100%;
  min-height: 480px;
}
.swiper-hero.swiper-vertical > .swiper-pagination-bullets,
.swiper-hero .swiper-pagination-vertical.swiper-pagination-bullets {
  max-width: 1560px;
  width: 100%;
  pointer-events: none;
  right: auto;
  left: 50%;
  top: 50%;
  padding: 100px 15px 0;
  transform: translate(-50%, -50%);
  z-index: 10;
}
@media (min-width: 1024px) {
  .swiper-hero.swiper-vertical > .swiper-pagination-bullets,
  .swiper-hero .swiper-pagination-vertical.swiper-pagination-bullets {
    padding-top: 160px;
  }
}
@media (min-width: 1440px) {
  .swiper-hero.swiper-vertical > .swiper-pagination-bullets,
  .swiper-hero .swiper-pagination-vertical.swiper-pagination-bullets {
    padding-top: 200px;
  }
}
.swiper-hero.swiper-vertical > .swiper-pagination-bullets > *,
.swiper-hero .swiper-pagination-vertical.swiper-pagination-bullets > * {
  pointer-events: auto;
}

.swiper-event.swiper-horizontal > .swiper-scrollbar,
.swiper-event .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: static;
  width: 100%;
}
.swiper-event .swiper-wrapper {
  margin: 0 0 30px;
}
@media (min-width: 1024px) {
  .swiper-event .swiper-wrapper {
    margin-bottom: 44px;
  }
}
.swiper-event .swiper-button-wrap {
  display: flex;
  justify-content: space-between;
  margin: 0 0 15px;
}
@media (min-width: 1024px) {
  .swiper-event .swiper-button-wrap {
    margin-bottom: 22px;
  }
}
.swiper-event .swiper-button-next,
.swiper-event .swiper-button-prev {
  position: static;
}

.paging-gallery .container {
  max-width: 1560px;
}

.swiper-direction-paging-wrap {
  background-color: #fbe7dd;
  margin: 0 0 30px;
}
@media (min-width: 1024px) {
  .swiper-direction-paging-wrap {
    margin-bottom: 77px;
  }
}
.swiper-direction-paging-wrap .container {
  max-width: 1570px;
}

.swiper-direction-paging.swiper-horizontal > .swiper-scrollbar,
.swiper-direction-paging .swiper-scrollbar.swiper-scrollbar-horizontal {
  bottom: 0;
}
.swiper-direction-paging .swiper-wrapper {
  justify-content: space-between;
}
.swiper-direction-paging .swiper-slide {
  width: auto;
  padding: 20px 5px 17px;
}
@media (min-width: 768px) {
  .swiper-direction-paging .swiper-slide {
    padding: 30px 5px 27px;
  }
}
@media (min-width: 1024px) {
  .swiper-direction-paging .swiper-slide {
    padding: 43px 5px 37px;
  }
}
.swiper-direction-paging .swiper-slide-thumb-active {
  color: #e12726;
}
.swiper-direction-paging .swiper-slide-thumb-active .bullet:before {
  opacity: 1;
  visibility: visible;
}
.swiper-direction-paging .bullet {
  transition: color 0.3s ease-in-out;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 14px;
  cursor: pointer;
  display: block;
  position: relative;
  z-index: 1;
  letter-spacing: 0.1em;
  color: #52585b;
}
@media (min-width: 768px) {
  .swiper-direction-paging .bullet {
    font-size: 20px;
    letter-spacing: 0.2em;
  }
}
@media (min-width: 1024px) {
  .swiper-direction-paging .bullet {
    font-size: 24px;
  }
}
@media (min-width: 1440px) {
  .swiper-direction-paging .bullet {
    font-size: 28px;
  }
}
.swiper-direction-paging .bullet:hover {
  color: #e12726;
}
.swiper-direction-paging .bullet:before {
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  content: "";
  position: absolute;
  left: 0;
  top: calc(100% + 7px);
  opacity: 0;
  visibility: hidden;
  border-style: solid;
  border-color: #fff transparent;
  border-width: 0 20px 20px;
}
@media (min-width: 1024px) {
  .swiper-direction-paging .bullet:before {
    top: calc(100% + 18px);
  }
}

.swiper-direction.nav-custome-position .swiper-wrapper {
  padding: 0 0 80px;
}
.swiper-direction .swiper-button-disabled {
  display: none;
}
.swiper-direction .swiper-button-next,
.swiper-direction .swiper-button-prev {
  bottom: 32px;
  top: auto;
}
@media (min-width: 768px) {
  .swiper-direction .swiper-button-next {
    right: 0;
  }
}
@media (min-width: 1440px) {
  .swiper-direction .swiper-button-next {
    right: 0;
  }
}
@media (min-width: 768px) {
  .swiper-direction .swiper-button-prev {
    left: 0;
  }
}
@media (min-width: 1440px) {
  .swiper-direction .swiper-button-prev {
    left: 0;
  }
}

.swiper-card-hero {
  height: 100%;
  position: relative;
  z-index: 1;
}
.swiper-card-hero .container {
  max-width: 1440px;
}
.swiper-card-hero .swiper-hero-img,
.swiper-card-hero .swiper-hero-video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.swiper-card-hero .swiper-hero-img video,
.swiper-card-hero .swiper-hero-img img,
.swiper-card-hero .swiper-hero-video video,
.swiper-card-hero .swiper-hero-video img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

.swiper-hero-body {
  position: absolute;
  bottom: 30px;
  left: 0;
  color: #fff;
  width: 100%;
  text-align: center;
  text-shadow: 0 0 2px #000;
  padding: 100px 0 30px;
  font-size: 20px;
  line-height: 1.2;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .swiper-hero-body {
    padding-top: 160px;
    font-size: 31px;
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
  }
}
@media (min-width: 1440px) {
  .swiper-hero-body {
    padding-top: 240px;
    font-size: 38px;
  }
}
.swiper-hero-body .body-wrap {
  max-width: 550px;
  padding: 0 30px;
}
.swiper-hero-body .body-wrap > * {
  pointer-events: auto;
}
.swiper-hero-body h1 {
  color: #fff;
  text-transform: capitalize;
  font-weight: 500;
  margin: 0 0 13px;
  font-size: 36px;
  line-height: 1;
}
@media (min-width: 1024px) {
  .swiper-hero-body h1 {
    font-size: 54px;
  }
}
@media (min-width: 1440px) {
  .swiper-hero-body h1 {
    font-size: 68px;
  }
}
.swiper-hero-body .text {
  display: block;
  margin: 0 0 33px;
}
.swiper-hero-body .re-btn:hover {
  text-shadow: none;
}

.section-event {
  padding: 30px 0;
}
@media (min-width: 768px) {
  .section-event {
    padding: 50px 0;
  }
}
@media (min-width: 1024px) {
  .section-event {
    padding: 68px 0;
  }
}
.section-event .container {
  max-width: 1560px;
}
.section-event.custome {
  padding: 30px 0 10px;
}
@media (min-width: 768px) {
  .section-event.custome {
    padding: 50px 0 10px;
  }
}
@media (min-width: 1024px) {
  .section-event.custome {
    padding: 68px 0 10px;
  }
}
.section-event.custome-spase {
  padding: 30px 0 10px;
}
@media (min-width: 768px) {
  .section-event.custome-spase {
    padding: 50px 0 10px;
  }
}
@media (min-width: 1024px) {
  .section-event.custome-spase {
    padding: 68px 0 10px;
  }
}
@media (min-width: 1024px) {
  .section-event.calendar h1 {
    margin-bottom: 0px;
  }
}
.section-event h1 {
  color: #e12726;
  margin: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .section-event h1 {
    font-size: 48px;
    margin-bottom: 47px;
  }
}
@media (min-width: 1440px) {
  .section-event h1 {
    font-size: 60px;
  }
}
.section-event .title-holder {
  border-bottom: 2px solid #e12726;
  display: flex;
  justify-content: space-between;
}
.section-event .title-holder .title-decor {
  border-bottom: none;
}
.section-event .title-holder .option-holder {
  display: flex;
}
.section-event .title-holder .option-holder a {
  display: block;
  flex-shrink: 0;
  margin: 0 0 0 15px;
}
@media (min-width: 1024px) {
  .section-event .title-holder .option-holder a {
    margin: 0 0 0 35px;
  }
}
.section-event .title-holder .option-holder a:hover svg {
  fill: #e12726;
}
.section-event .title-holder .option-holder a.active svg {
  fill: #e12726;
}
.section-event .title-holder .option-holder a.block {
  width: 45px;
  height: 30px;
}
@media (min-width: 1024px) {
  .section-event .title-holder .option-holder a.block {
    width: 61px;
    height: 40px;
  }
}
.section-event .title-holder .option-holder a.list {
  width: 57px;
  height: 30px;
}
@media (min-width: 1024px) {
  .section-event .title-holder .option-holder a.list {
    width: 77px;
    height: 40px;
  }
}
.section-event .title-holder .option-holder a svg {
  fill: #52585b;
  transition: 0.3s;
}
.section-event .title-decor {
  padding: 0 0 10px;
  border-bottom: 2px solid #e12726;
}
@media (min-width: 1024px) {
  .section-event .title-decor {
    padding-bottom: 20px;
  }
}
.section-event .description {
  font-size: 18px;
  font-weight: 300;
  color: #000;
  line-height: 1;
  padding: 30px 0 0;
}
@media (min-width: 768px) {
  .section-event .description {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (min-width: 1024px) {
  .section-event .description {
    font-size: 32px;
    line-height: 42px;
  }
}

.card-event {
  display: block;
  padding-top: 80%;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .card-event {
    padding-top: 72%;
  }
}
.card-event:hover .card-event-body {
  background-color: rgba(225, 39, 38, 0.9);
}
.card-event:hover .card-event-img img {
  transform: scale(1.02) translateY(-5px);
}

.card-event-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}
.card-event-img img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
  transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.card-event-body {
  transition: background-color 0.8s ease-in-out;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 15px 60px 10px 10px;
  background-color: rgba(225, 39, 38, 0.8);
  color: #fff;
  text-align: right;
  font-size: 20px;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .card-event-body {
    padding: 31px 88px 22px 15px;
    font-size: 22px;
  }
}
@media (min-width: 1440px) {
  .card-event-body {
    font-size: 27px;
    padding-right: 111px;
  }
}
.card-event-body h2 {
  color: #fff;
  text-transform: capitalize;
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
  margin: 0;
}
@media (min-width: 1024px) {
  .card-event-body h2 {
    font-size: 22px;
    margin-bottom: 8px;
  }
}
@media (min-width: 1440px) {
  .card-event-body h2 {
    font-size: 27px;
  }
}
.card-event-body .icon {
  width: 30px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
@media (min-width: 1024px) {
  .card-event-body .icon {
    width: 34px;
    right: 31px;
  }
}
@media (min-width: 1440px) {
  .card-event-body .icon {
    width: 43px;
    right: 38px;
  }
}
.card-event-body .icon svg {
  fill: currentColor;
}

.table-calendar__item {
  display: flex;
  border-bottom: 1px solid #fff;
}
.table-calendar__item .date-holder {
  width: 150px;
  flex-shrink: 0;
  padding: 20px;
  background-color: #e8e9eb;
  color: #52585b;
}
@media (min-width: 768px) {
  .table-calendar__item .date-holder {
    width: 300px;
  }
}
.table-calendar__item .date-holder h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
  margin: 0 0 5px;
}
@media (min-width: 768px) {
  .table-calendar__item .date-holder h3 {
    font-size: 24px;
    letter-spacing: 2px;
  }
}
.table-calendar__item .date-holder h4 {
  font-size: 32px;
  font-weight: 300;
  line-height: 1.1;
  text-transform: uppercase;
  margin: 0;
}
@media (min-width: 768px) {
  .table-calendar__item .date-holder h4 {
    font-size: 45px;
  }
}
.table-calendar__item .list-holder {
  background-color: #f2f2f3;
  width: 100%;
  padding: 20px;
  display: flex;
  align-items: center;
}
.table-calendar__item .list-holder .list {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.table-calendar__item .list-holder .list li {
  padding: 0;
  margin: 0 0 20px;
}
.table-calendar__item .list-holder .list li:last-child {
  margin: 0;
}
.table-calendar__item .list-holder .list li::before {
  content: none;
}
.table-calendar__item .list-holder .list a {
  display: block;
  font-size: 16px;
  line-height: 1.1;
  color: #e12726;
  font-weight: 500;
}
@media (min-width: 768px) {
  .table-calendar__item .list-holder .list a {
    font-size: 18px;
  }
}
.table-calendar__item .list-holder .list time {
  color: #52585b;
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 768px) {
  .table-calendar__item .list-holder .list time {
    font-size: 18px;
  }
}

.navigation-items {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 -15px;
  list-style-type: none;
  padding: 25px 0 0;
}
@media (min-width: 768px) {
  .navigation-items {
    margin: 0 0 -30px;
  }
}
@media (min-width: 1024px) {
  .navigation-items {
    margin: 0 0 -45px;
  }
}
.navigation-items .item {
  margin: 5px 10px;
  font-size: 30px;
  color: #52585b;
}
.navigation-items .item.item-prev, .navigation-items .item.item-next {
  margin: 0 20px;
}
.navigation-items .item.item-prev a, .navigation-items .item.item-next a {
  width: 55px;
  display: block;
}
.navigation-items .item.item-prev a svg, .navigation-items .item.item-next a svg {
  fill: #52585b;
}
.navigation-items .item a {
  color: #52585b;
  font-weight: 500;
}
.navigation-items .item a:hover {
  color: #e12726;
}
.navigation-items .item a:hover svg {
  fill: #e12726;
}

.section-direction {
  padding: 0 0 30px;
}

.card-direction {
  background-color: #f0f0f0;
  font-size: 21px;
  font-weight: 300;
  line-height: 1.63;
  color: #000;
  background-color: #f0f0f0;
}
@media (min-width: 768px) {
  .card-direction {
    display: flex;
  }
}
@media (min-width: 1024px) {
  .card-direction {
    font-size: 25px;
    line-height: 42px;
  }
}
@media (min-width: 1440px) {
  .card-direction {
    font-size: 32px;
  }
}

@media (min-width: 1024px) {
  .card-direction-img {
    width: 50%;
  }
}
.card-direction-img img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
}

.card-direction-body {
  padding: 50px 15px 90px;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .card-direction-body {
    padding-left: 45px;
    padding-right: 45px;
    display: flex;
    align-items: center;
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .card-direction-body {
    padding-right: 77px;
    padding-left: 77px;
  }
}
@media (min-width: 1440px) {
  .card-direction-body {
    padding-right: 97px;
    padding-left: 97px;
  }
}
.card-direction-body .text {
  display: block;
  margin: 0 0 30px;
}
@media (min-width: 768px) {
  .card-direction-body .text {
    margin-bottom: 40px;
  }
}
@media (min-width: 1440px) {
  .card-direction-body .text {
    margin-bottom: 52px;
  }
}
.card-direction-body h1 {
  font-size: 40px;
  font-weight: 300;
  line-height: 1;
  color: inherit;
  margin: 0 0 15px;
  text-transform: capitalize;
}
@media (min-width: 1024px) {
  .card-direction-body h1 {
    font-size: 64px;
    margin-bottom: 28px;
  }
}
@media (min-width: 1440px) {
  .card-direction-body h1 {
    font-size: 80px;
  }
}

.section-re-about {
  color: #fff;
  background-color: #e12726;
  font-size: 18px;
  line-height: 1.625;
}
.section-re-about.bg-gray {
  background-color: #52585b;
}
.section-re-about.bg-gray h1 {
  color: #fff;
  padding: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 300;
  margin: 0;
}
@media (min-width: 1024px) {
  .section-re-about.bg-gray h1 {
    font-size: 60px;
    padding-bottom: 30px;
  }
}
@media (min-width: 1440px) {
  .section-re-about.bg-gray h1 {
    font-size: 80px;
  }
}
.section-re-about.bg-gray P b {
  font-weight: 500;
}
.section-re-about.bg-gray P a {
  text-transform: none;
}
@media (min-width: 768px) {
  .section-re-about {
    font-size: 25px;
  }
}
@media (min-width: 1440px) {
  .section-re-about {
    font-size: 32px;
  }
}
.section-re-about a {
  color: inherit;
  transition: all 0.3s;
  text-transform: uppercase;
}
.section-re-about .container {
  max-width: 1560px;
}
.section-re-about .re-btn {
  width: 245px;
}

@media (min-width: 1024px) {
  .re-columns-about {
    display: flex;
    flex-direction: row-reverse;
  }
}
@media (min-width: 1024px) {
  .re-columns-about .re-col {
    display: flex;
    width: 50%;
  }
}
.re-columns-about .re-col:last-child {
  padding: 20px 0 40px;
  align-items: center;
}
@media (min-width: 768px) {
  .re-columns-about .re-col:last-child {
    padding: 55px 3% 55px 0;
  }
}

.re-about-content-left {
  width: 100%;
  text-align: center;
  font-weight: 300;
}
@media (min-width: 1024px) {
  .re-about-content-left {
    text-align: left;
  }
}

.re-about-content-right {
  margin: 0 -15px;
  background-color: #52585b;
}
@media (min-width: 578px) {
  .re-about-content-right {
    margin: 0 0 0 -15px;
    display: flex;
  }
}
@media (min-width: 1024px) {
  .re-about-content-right {
    width: 100%;
    margin: 0;
  }
}

.re-about-menu {
  padding: 40px 0 20px;
  margin: 0;
  font-weight: 500;
  list-style: none;
  text-align: center;
  letter-spacing: 0.2em;
}
@media (min-width: 578px) {
  .re-about-menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 59.7%;
    padding: 42px 9.3% 20px 3%;
    text-align: right;
  }
}
@media (min-width: 768px) {
  .re-about-menu {
    padding: 42px 9% 20px 3%;
    font-size: 20px;
  }
}
@media (min-width: 1440px) {
  .re-about-menu {
    font-size: 24px;
  }
}
.re-about-menu li {
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  .re-about-menu li {
    margin: 0 0 40px;
  }
}
@media (min-width: 1440px) {
  .re-about-menu li {
    margin-bottom: 51px;
  }
}
.re-about-menu li:hover a {
  color: #e12726;
}

.re-about-visual-wrap {
  flex-grow: 1;
  min-height: 300px;
}
@media (min-width: 578px) {
  .re-about-visual-wrap {
    min-height: 443px;
    width: 40%;
  }
}

.re-about-visual {
  margin: 0 -15px;
  height: 100%;
  overflow: hidden;
}
@media (min-width: 578px) {
  .re-about-visual {
    margin: 0 -15px 0 0;
  }
}
@media (min-width: 1560px) {
  .re-about-visual {
    margin-right: -75px;
  }
}
.re-about-visual img {
  vertical-align: top;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
}

.section-hero {
  position: relative;
  height: calc(var(--vh, 1vh) * 85);
  width: 100%;
}
.section-hero .bg-holder {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.section-hero .bg-holder img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
.section-hero .container {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  max-width: 1560px;
  height: calc(100% - 150px);
}
.section-hero .container h1 {
  color: #fff;
  margin: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .section-hero .container h1 {
    font-size: 48px;
    margin-bottom: 47px;
  }
}
@media (min-width: 1440px) {
  .section-hero .container h1 {
    font-size: 75px;
  }
}
.section-hero .container .re-btn {
  display: inline-flex;
  align-items: center;
}
.section-hero .container .re-btn svg {
  width: 30px;
  margin: 0 0 0 10px;
  fill: #fff;
  transition: 0.3s;
}
.section-hero .container .re-btn:hover svg {
  fill: #e12726;
}

.section-all-option .container {
  max-width: 1535px;
}
.section-all-option h1 {
  color: #e12726;
  text-transform: uppercase;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
  margin-bottom: -5px;
}
@media (min-width: 1024px) {
  .section-all-option h1 {
    font-size: 48px;
    margin-bottom: -9px;
  }
}
@media (min-width: 1440px) {
  .section-all-option h1 {
    font-size: 60px;
    margin-bottom: -12px;
  }
}
.section-all-option .bg-holder {
  background-color: #fdf4ee;
  padding: 30px 0 20px;
}
.section-all-option .df-row {
  margin: 0 -20px;
}
.section-all-option .df-row .col {
  padding: 0 27px;
  width: 100%;
  margin: 0 0 25px;
}
@media (min-width: 1024px) {
  .section-all-option .df-row .col {
    margin: 0 0 45px;
  }
}
.section-all-option .card-option .card-option-img {
  margin: 0 0 10px;
}
@media (min-width: 1024px) {
  .section-all-option .card-option .card-option-img {
    margin: 0 0 20px;
  }
}
.section-all-option .card-option .card-option-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.section-all-option .card-option h3 {
  font-size: 28px;
  line-height: 1;
  font-weight: 500;
  color: #e12726;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .section-all-option .card-option h3 {
    font-size: 36px;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}
@media (min-width: 1024px) {
  .section-all-option .card-option h3 {
    font-size: 43px;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.section-all-option .card-option .re-btn {
  width: 100%;
}
@media (min-width: 1024px) {
  .section-all-option .card-option .re-btn {
    padding: 21px 16px 19px;
  }
}

.section-tabs-faqs .bg-title {
  padding: 30px 0 0;
  background-color: #fbe7dd;
}
.section-tabs-faqs .bg-title .container {
  max-width: 1535px;
}
@media (max-width: 767px) {
  .section-tabs-faqs .bg-title .container {
    padding: 0 15px;
  }
}
.section-tabs-faqs .container {
  max-width: 1535px;
}
@media (max-width: 767px) {
  .section-tabs-faqs .container {
    padding: 0;
  }
}
.section-tabs-faqs h1 {
  color: #e12726;
  padding: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
  margin: 0;
}
@media (min-width: 1024px) {
  .section-tabs-faqs h1 {
    font-size: 36px;
    padding-bottom: 30px;
  }
}
@media (min-width: 1440px) {
  .section-tabs-faqs h1 {
    font-size: 45px;
  }
}
.section-tabs-faqs .tabs-holder {
  display: flex;
  position: relative;
  flex-direction: column;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabs-holder {
    flex-direction: row;
  }
}
.section-tabs-faqs .tabs-holder::before {
  width: 10000px;
  height: 100%;
  left: -10000px;
  top: 0;
  position: absolute;
  background-color: #e12726;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabs-holder::before {
    content: "";
  }
}
.section-tabs-faqs .tabs-holder::after {
  width: 10000px;
  height: 100%;
  right: -10000px;
  top: 0;
  position: absolute;
  background-color: #fbe7dd;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabs-holder::after {
    content: "";
  }
}
.section-tabs-faqs .tabset {
  margin: 0;
  padding: 0;
  list-style-type: none;
  background-color: #e12726;
  padding: 30px 0px;
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  z-index: 0;
  position: relative;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabset {
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.section-tabs-faqs .tabset::before {
  width: 10000px;
  height: 100%;
  left: 50%;
  transform: translate(-50%);
  top: 0;
  position: absolute;
  background-color: #e12726;
  z-index: -1;
}
@media (max-width: 767px) {
  .section-tabs-faqs .tabset::before {
    content: "";
  }
}
.section-tabs-faqs .tabset li {
  width: 50%;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabset li {
    width: auto;
  }
}
.section-tabs-faqs .tabset a {
  font-size: 14px;
  text-transform: uppercase;
  line-height: 32px;
  color: #fff;
  position: relative;
  padding: 15px 10px 15px 15px;
  font-weight: 500;
  transition: 0.3s;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabset a {
    font-size: 20px;
    line-height: 48px;
    padding: 0px 88px 0 45px;
    letter-spacing: 1px;
  }
}
@media (min-width: 1024px) {
  .section-tabs-faqs .tabset a {
    font-size: 24px;
    line-height: 60px;
    letter-spacing: 5px;
  }
}
.section-tabs-faqs .tabset a::after {
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid #e12726;
  position: absolute;
  right: -19px;
  top: 50%;
  transform: translateY(-50%);
}
.section-tabs-faqs .tabset a.active {
  color: #f5dba7;
}
.section-tabs-faqs .tabset a.active::after {
  content: "";
}
.section-tabs-faqs .tabset a:hover {
  color: #f5dba7;
}
.section-tabs-faqs .tab-content {
  background-color: #fbe7dd;
  width: 100%;
  padding: 20px 15px 20px 15px;
  position: relative;
  z-index: -1;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tab-content {
    padding: 40px 35px 40px 50px;
  }
}
@media (min-width: 1024px) {
  .section-tabs-faqs .tab-content {
    padding: 40px 100px 40px 80px;
  }
}
.section-tabs-faqs .tab-content::before {
  width: 10000px;
  height: 100%;
  left: 50%;
  transform: translate(-50%);
  top: 0;
  position: absolute;
  background-color: #fbe7dd;
  z-index: -1;
}
@media (max-width: 767px) {
  .section-tabs-faqs .tab-content::before {
    content: "";
  }
}
.section-tabs-faqs .tab-content::after {
  width: 0;
  height: 0;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  border-top: 14px solid #e12726;
  position: absolute;
  left: 15px;
  top: 7px;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .section-tabs-faqs .tab-content::after {
    content: "";
  }
}
.section-tabs-faqs .tab-content ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: 15px;
  font-weight: 300;
  color: #000;
  line-height: 1;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tab-content ul {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (min-width: 1024px) {
  .section-tabs-faqs .tab-content ul {
    font-size: 32px;
    line-height: 42px;
  }
}
.section-tabs-faqs .tab-content ul b {
  font-weight: 500;
}
.section-tabs-faqs .tab-content ul:first-child {
  margin: 0 0 30px;
}

.js-tab-hidden {
  display: block !important;
  left: -9999px !important;
  position: absolute !important;
  top: -9999px !important;
}

.section-bio {
  padding: 0 0 72px;
}
.section-bio .container {
  max-width: 1550px;
}
.section-bio .df-row {
  margin: 0;
}
.section-bio .img-holder {
  margin: 0 0px 20px 0;
}
@media (min-width: 1024px) {
  .section-bio .img-holder {
    margin: 0 20px 0px 0;
  }
}
.section-bio .title {
  margin: 0 0 30px;
}
@media (min-width: 1024px) {
  .section-bio .title {
    margin: 0 0 53px;
  }
}
.section-bio .title h3 {
  font-size: 24px;
  font-weight: 500;
  color: #e12726;
  margin: 0 0 8px;
  line-height: 1;
}
@media (min-width: 768px) {
  .section-bio .title h3 {
    font-size: 32px;
  }
}
@media (min-width: 1024px) {
  .section-bio .title h3 {
    font-size: 42px;
  }
}
.section-bio .title h4 {
  font-size: 18px;
  font-weight: 500;
  color: #52585b;
  line-height: 1.1;
  margin: 0;
}
@media (min-width: 768px) {
  .section-bio .title h4 {
    font-size: 24px;
  }
}
@media (min-width: 1024px) {
  .section-bio .title h4 {
    font-size: 32px;
  }
}
.section-bio .description {
  font-size: 18px;
  font-weight: 300;
  color: #000;
  line-height: 1;
}
@media (min-width: 768px) {
  .section-bio .description {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (min-width: 1024px) {
  .section-bio .description {
    font-size: 32px;
    line-height: 42px;
  }
}
.section-bio .description p {
  margin: 1.5rem 0;
  color: #000;
}
@media (min-width: 1024px) {
  .section-bio .description p {
    margin: 2.5rem 0;
  }
}
.section-bio .btn-wrapp {
  padding: 13px 0 0;
}
.section-bio .re-btn {
  display: inline-flex;
  align-items: center;
}
@media (min-width: 1024px) {
  .section-bio .re-btn {
    font-size: 24px;
  }
}
.section-bio .re-btn svg {
  width: 46px;
  margin: 0 0 0 32px;
  fill: #fff;
  transition: 0.3s;
}
.section-bio .re-btn:hover svg {
  fill: #e12726;
}

.section-instructors {
  padding: 0 0 70px;
}
.section-instructors .container {
  max-width: 1560px;
}
.section-instructors .title h1 {
  color: #e12726;
  margin: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .section-instructors .title h1 {
    font-size: 48px;
    margin-bottom: 47px;
  }
}
@media (min-width: 1440px) {
  .section-instructors .title h1 {
    font-size: 60px;
  }
}
.section-instructors .df-row {
  margin: 0;
}
.section-instructors .df-row.reverse .col:nth-child(2n) .img-holder::before {
  background-color: rgba(225, 39, 38, 0.6);
}
@media (min-width: 1024px) {
  .section-instructors .df-row.reverse .col:nth-child(2n) .img-holder::before {
    background-color: rgba(82, 88, 91, 0.6);
  }
}
.section-instructors .df-row.reverse .col .img-holder::before {
  background-color: rgba(82, 88, 91, 0.6);
}
@media (min-width: 1024px) {
  .section-instructors .df-row.reverse .col .img-holder::before {
    background-color: rgba(225, 39, 38, 0.6);
  }
}
.section-instructors .col {
  width: 100%;
}
.section-instructors .col:nth-child(2n) .img-holder::before {
  background-color: rgba(225, 39, 38, 0.6);
}
.section-instructors .col .card {
  position: relative;
}
.section-instructors .col .card:hover .img-holder::before {
  opacity: 0;
}
.section-instructors .col .img-holder {
  position: relative;
  z-index: 0;
  font-size: 0;
  line-height: 0;
}
.section-instructors .col .img-holder::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  background-color: rgba(82, 88, 91, 0.6);
  transition: 0.3s;
}
.section-instructors .col .img-holder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.section-instructors .col .title {
  position: absolute;
  bottom: 15px;
  left: 15px;
}
.section-instructors .col .title h5 {
  line-height: 1;
  color: #fff;
  font-size: 16px;
  margin: 0;
  font-weight: 500;
}
@media (min-width: 768px) {
  .section-instructors .col .title h5 {
    font-size: 18px;
  }
}
@media (min-width: 1024px) {
  .section-instructors .col .title h5 {
    font-size: 22px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJ2ZW5kb3JzL19zd2lwZXIuc2NzcyIsInZlbmRvcnMvX2ljb21vb24uc2NzcyIsInZlbmRvcnMvX2NhbGVuZGFyLW11bHRpZGF5LnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX3N3aXBlci1jdXN0b20uc2NzcyIsImNvbXBvbmVudHMvX3N3aXBlci1jYXJkLWhlcm8uc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtZXZlbnQuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtZGlyZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLXJlLWFib3V0LnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLWhlcm8uc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24tYWxsLW9wdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbi10YWJzLWZhcXMuc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24tYmlvLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLWluc3RydWN0b3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSTtFQUNBO0VBQ0E7OztBQUtBO0VBQ0k7RUFDQTtFQUNBOzs7QUFzRFI7RUFDSTtBQUNBO0VBQ0E7QUFDQTtFQUNBOzs7QUFHSjtFQUlJO0VBQ0E7O0FDOGRBO0VDbE9JO0lBRVE7OztBRGdPWjtFQzVOSTtJQUVROzs7QUQwTlo7RUNsT0k7SUFFUTs7O0FEZ09aO0VDNU5JO0lBRVE7OztBRDBOWjtFQ2xPSTtJQUVROzs7QURnT1o7RUM1Tkk7SUFFUTs7O0FEME5aO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VEbmVKO0lBUVE7Ozs7QUdsRlI7RUFDQztFQUNBOztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUY2aEJFO0VFamlCSDtJQU9FOzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0FGMmdCRTtFRTlnQkg7SUFNRTs7O0FGd2dCQztFRTlnQkg7SUFVRTtJQUNBOzs7QUZtZ0JDO0VFOWdCSDtJQWVFOzs7O0FBS0g7RURzTUksWUFIVztFQTdKWCxPQ3BDWTtFRHFDWixRQ3JDWTtFQUNmO0VBQ0Esa0JDbEJLO0VEbUJMO0VBQ0E7RUFDQTs7QUZtZkc7RUUxZko7SURzQ0ksT0M1QmE7SUQ2QmIsUUM3QmE7OztBRmdmYjtFRTFmSjtJRHNDSSxPQ3hCYTtJRHlCYixRQ3pCYTs7O0FGNGViO0VFMWZKO0lEc0NJLE9DcEJhO0lEcUJiLFFDckJhOzs7QUZ3ZWI7RUUxZko7SUFzQkU7OztBRm9lRTtFRWplSDtJQUVFLGtCQ2xFUTs7O0FIaWlCUDtFRXpkRjtJQUVFLGtCQ2pGSTs7O0FId2lCSjtFRXBkRDtBQUFBO0FBQUE7SUFJRSxrQkN4REM7OztBSHdnQkY7RUUxY0g7SUFFRTs7O0FGd2NDO0VFcmNGO0lBRUU7OztBRm1jQTtFRS9iRjtJQUVFOzs7QUY2YkE7RUV6YkY7SUFHRTtJQUNBOzs7QUZxYkE7RUVqYkY7SUFFRTs7O0FGK2FBO0VFMWFIO0lBRUU7OztBRndhQztFRXJhRjtJQUVFOzs7QUZtYUE7RUUvWkY7SUFHRTtJQUNBOzs7QUYyWkE7RUV0WkY7SUFFRTs7O0FBS0g7QUFBQTtFRDJGRyxZQUhXO0VDcEZiO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JDaktNOztBSHdpQko7RUUvWUg7QUFBQTtJQVdFO0lBQ0E7SUFDQTs7O0FGa1lDO0VFL1lIO0FBQUE7SUFpQkU7SUFDQTs7O0FGNlhDO0VFL1lIO0FBQUE7SUFzQkU7SUFDQTtJQUNBOzs7QUFJRjtFQUVDOztBQUdEO0VBQ0M7O0FGNldFO0VFOVdIO0lBSUU7OztBRjBXQztFRTlXSDtJQVFFOzs7QUZzV0M7RUU5V0g7SUFZRTs7O0FBSUY7RUFDQzs7QUY2VkU7RUU5Vkg7SUFJRTs7O0FGMFZDO0VFOVZIO0lBUUU7OztBRnNWQztFRTlWSDtJQVlFOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUlGO0VEb0JJLFlBSFc7RUNmZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUY2VEc7RUV4VUo7SUFjRTs7O0FGMFRFO0VFeFVKO0lBa0JFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUdEO0VBQ0M7RUFDQTs7O0FBSUY7RUFDQztFQUNBLFNDekptQjtFRDBKbkI7O0FGbVNHO0VFdFNKO0lBTUU7SUFDQTtJQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBRnVSRTtFRTNSSDtJQU9FO0lBQ0E7Ozs7QUFLSDtFQUNDO0VBQ0E7OztBRjRRRztFRXpRSjtJRDNDSSxZQUhXO0lDaURiO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUY2UEU7RUV6UUo7SUFnQkU7OztBRnlQRTtFRXRQSDtJQUVFO0lBQ0E7OztBQUlGO0VBQ0M7O0FGOE9FO0VFL09IO0lBSUU7Ozs7QUYyT0M7RUV0T0o7SUFFRTtJQUNBOzs7QUZtT0U7RUVoT0g7SUFFRTtJQUNBO0lBQ0E7Ozs7QUY0TkM7RUV2Tko7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7O0FGaU5FO0VFN01KO0lBRUU7SUFDQTtJQUNBOzs7QUZ5TUU7RUV0TUg7SUFFRTs7OztBQUtIO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBLE9DalhNO0VEa1hOO0VBQ0E7RUFDQTtFQUNBOztBRDlHRTtFQ2lIRCxPQ3hYSztFRHlYTDtFQUNBOztBRC9HQztFQUNJO0VDNEdMLE9DeFhLO0VEeVhMO0VBQ0E7O0FEMUdDO0VDd0dELE9DeFhLO0VEeVhMO0VBQ0E7O0FEdEdDO0VDb0dELE9DeFhLO0VEeVhMO0VBQ0E7O0FEbEdDO0VDZ0dELE9DeFhLO0VEeVhMO0VBQ0E7O0FBSUY7RUQxSUcsWUFIVztFQytJYjtFQUNBO0VBQ0E7RUFDQSxPQ25ZTTtFRG9ZTjs7QUFFQTtFQUNDLE9DdldHOztBRDBXSjtFQUNDO0VBQ0E7OztBQUtIO0VBQ0M7O0FGc0pHO0VFdkpKO0lBSUU7SUFDQTs7OztBQUlGO0VBQ0MsT0MzWk87RUQ0WlA7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZ3SUc7RUU5SUo7SUFTRTtJQUNBLE9DcFlJOzs7QUR1WUw7RUFDQzs7QUZnSUU7RUVqSUg7SUFJRTs7OztBQUtIO0VENUxJLFlBSFc7RUNpTWQ7RUFDQTtFQUNBOztBRm9IRztFRXhISjtJQU9FOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRnVHRTtFRTlHSDtJQVVFO0lBQ0E7OztBQUlGO0VBQ0M7O0FBRUE7RUFDQzs7O0FBS0g7RUFDQyxPQ25kTzs7QURxZFA7RUFFQzs7QUZpRkU7RUVuRkg7SUFLRTs7O0FBSUE7RUFDQzs7QUZ5RUE7RUUxRUQ7SUFJRTs7O0FBS0Q7RUFDQyxPQ3hjQzs7QUQ4Y0w7RUFDQzs7QUZ5REU7RUUxREg7SUQxUEcsWUFIVzs7O0FEdVRYO0VFbkRGO0lBRUUsT0N2ZEU7Ozs7QURtZUY7RUFDQyxPQ3BlQzs7QUQwZUw7RUFDQyxPQzNnQk07RUQ0Z0JOO0VBQ0E7O0FGMkJFO0VFOUJIO0lBTUU7SUFDQTtJQUNBO0lBQ0EsT0M1Z0JROzs7QUhpaUJQO0VFOUJIO0lBYUU7SUFDQTs7O0FGZ0JDO0VFYkY7SUFHRSxPQzloQkk7OztBRGtpQk47RUFDQzs7QUZLQztFRU5GO0lBSUU7SUFDQTtJQUNBO0lBQ0E7OztBRkRBO0VFTkY7SUFXRTs7O0FGTEE7RUVTQTtJQUVFLE9DbmhCQTs7O0FId2dCRjtFRWVBO0lBRUU7SUFDQTs7O0FGbEJGO0VFdUJEO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsWUN2aUJDOzs7QUh3Z0JGO0VFdUJEO0lBWUU7OztBQUtEO0VBQ0M7O0FBRUE7RUFDQzs7QUFLSDtFRHJXQyxZQUhXO0VDMFdYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGdkRBO0VFaUREO0lEcldDLFlBSFc7SUNrWFY7SUFDQTtJQUNBOzs7QUFHRDtFQUNDO0VBQ0E7O0FGbEVEO0VFZ0VBO0lBS0U7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGL0VGO0VFd0VDO0lBVUU7OztBQVFOO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ3ZvQk07O0FId2lCSjtFRTBGSDtJRDlZRyxZQUhXO0lDMFpaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FGM0dDO0VFMEZIO0lBcUJFO0lBQ0E7SUFDQTs7O0FGakhDO0VFb0hGO0lBRUUsa0JDOW5CRTtJRCtuQkY7OztBRnZIQTtFRW9IRjtJQU9FOzs7QUYzSEE7RUVpSUE7SUFFRTtJQUNBLE9DNXFCRTs7O0FEaXJCTDtFQUNDOztBRjFJQTtFRXlJRDtJQUlFOzs7QUY3SUQ7RUV5SUQ7SUFRRTs7O0FBS0g7RUFDQzs7QUZ2SkM7RUVzSkY7SUQxY0UsWUFIVzs7O0FEdVRYO0VFNkpEO0lBRUU7Ozs7QUV6c0JMO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkRJVTs7QUhpaUJQO0VJMWlCSjtJQVFFO0lBQ0E7SUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBTUM7RUFDQyxPRFdFOztBQ1BKO0VBQ0MsT0RNRzs7QUNGTDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQzs7QUpvZ0JFO0VJamdCSDtJQUVFOzs7QUFJRjtFQUNDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FKbWZFO0VJdmZIO0lBT0U7SUFDQTs7O0FBR0Q7RUFDQztFQUNBOztBSjBlQztFSTVlRjtJQUtFOzs7O0FBTUo7RUFDQzs7QUpnZUc7RUlqZUo7SUFJRTtJQUNBOzs7QUFNRDtFQUNDOztBQUdEO0VBQ0M7O0FKaWRFO0VJbGRIO0lBSUU7OztBSjhjQztFSWxkSDtJQVFFOzs7QUowY0M7RUlsZEg7SUFZRTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUY7RUFDQzs7QUo4YkU7RUkvYkg7SUFJRTs7O0FKMmJDO0VJL2JIO0lBUUU7SUFDQTs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0FKK2FFO0VJbGJIO0lBTUU7SUFDQTtJQUNBOzs7O0FBT0Y7RUFDQzs7QUprYUU7RUluYUg7SUFJRTs7OztBQU9GO0VBQ0M7RUFDQTtFQUNBLGFENUJPO0VDNkJQOztBSm9aRTtFSXhaSDtJQU9FO0lBQ0E7OztBSmdaQztFSXhaSDtJQVlFOzs7O0FBS0g7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FKaVlHO0VJdllKO0lBU0U7OztBSjhYRTtFSXZZSjtJQWFFOzs7QUFHRDtFQUNDOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtFQUNDO0VBQ0E7OztBQU1EO0VBQ0M7OztBQ3hNRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUM7RUFBVztFQUF5QjtFQUE2ckU7RUFBZ0I7O0FBQWtCO0VBQU07OztBQUE2QjtFQUF5QjtFQUFpQjtFQUFrQjtFQUFrQjtFQUFnQjtFQUFnQjtFQUFVO0VBQVU7OztBQUFjO0VBQWlDOzs7QUFBc0I7RUFBZ0I7RUFBa0I7RUFBVztFQUFZO0VBQVU7RUFBYTtFQUE4QjtFQUFvRjs7O0FBQXVCO0VBQThDOzs7QUFBK0I7RUFBbUI7OztBQUFtQjtFQUFpQjs7O0FBQW1CO0VBQTJCO0VBQWM7RUFBVztFQUFZO0VBQWtCO0VBQThCOzs7QUFBYztFQUE4Qjs7O0FBQWtCO0VBQW9EOzs7QUFBWTtFQUFtQztFQUF1Qjs7O0FBQXFDO0VBQXNDO0VBQXdCO0VBQW1DOzs7QUFBMkI7RUFBMkM7OztBQUFtQjtFQUEyQjs7O0FBQTRCO0VBQVc7OztBQUFtQjtFQUE4Tzs7O0FBQTRCO0VBQXNMO0VBQWtCO0VBQU87RUFBTTtFQUFXO0VBQVk7RUFBb0I7OztBQUFXO0VBQWdDOzs7QUFBMkI7RUFBcUM7OztBQUF1RTtFQUFzQzs7O0FBQXdFO0VBQW9DOzs7QUFBc0U7RUFBdUM7OztBQUF5RTtFQUFpQztFQUFjO0VBQXFCOzs7QUFBd0I7RUFBb0Q7OztBQUFhO0VBQStDOzs7QUFBOEI7RUFBbUQ7OztBQUE2QjtFQUFpRDs7O0FBQTZCO0VBQXlDO0VBQVc7RUFBYzs7O0FBQVc7RUFBK0M7RUFBZ0M7OztBQUF3QjtFQUE2RTs7O0FBQXlEO0VBQTJEO0VBQVk7RUFBZTs7O0FBQTBDO0VBQTJFOzs7QUFBd0Q7RUFBeUQ7RUFBVztFQUFjOzs7QUFBMkM7RUFBdUI7RUFBVztFQUFZO0VBQWtCO0VBQVM7RUFBUTtFQUFrQjtFQUFpQjtFQUFXO0VBQXFCO0VBQXNCO0VBQXlFO0VBQWtCOzs7QUFBNkI7RUFBbU07OztBQUFtRDtFQUE2Qjs7O0FBQThCO0VBQTZCOzs7QUFBOEI7RUFBaUM7SUFBRzs7RUFBdUI7SUFBSzs7O0FBQTBCO0VBQThCO0VBQW1DOzs7QUFBd0I7RUFBdUQ7RUFBVztFQUFrQjtFQUFPO0VBQU07OztBQUFvQjtFQUF5RTtFQUFXOzs7QUFBaUM7RUFBdUU7RUFBVTs7O0FBQWtDO0VBQU07OztBQUE4QjtFQUF3QztFQUFrQjtFQUE0QztFQUFtRDtFQUFxQztFQUEwRDtFQUFXO0VBQWU7RUFBYTtFQUFtQjtFQUF1Qjs7O0FBQStEO0VBQXNGO0VBQVk7RUFBWTs7O0FBQW9CO0VBQWtGO0VBQVU7RUFBWTs7O0FBQW9CO0VBQWdHOzs7QUFBdUI7RUFBb0Q7RUFBeUI7RUFBd0M7RUFBOEI7RUFBaUI7RUFBcUI7OztBQUFjO0VBQW9EO0VBQWdEOzs7QUFBVztFQUFnRTs7O0FBQWU7RUFBb0Q7RUFBaUQ7OztBQUFVO0VBQWdFOzs7QUFBZTtFQUFvQjs7O0FBQWE7RUFBbUI7RUFBa0I7RUFBa0I7RUFBdUI7RUFBNkI7OztBQUFXO0VBQTRDOzs7QUFBVTtFQUE2Rjs7O0FBQXVCO0VBQTRKO0VBQTJDO0VBQXNDO0VBQU87OztBQUFXO0VBQW1DO0VBQWdCOzs7QUFBWTtFQUE2RDtFQUFxQjs7O0FBQWtCO0VBQW9FOzs7QUFBbUI7RUFBeUU7OztBQUFtQjtFQUF5RTs7O0FBQXFCO0VBQThFOzs7QUFBcUI7RUFBeUU7OztBQUFxQjtFQUE4RTs7O0FBQXFCO0VBQTBCO0VBQXFGO0VBQXVGO0VBQXFCO0VBQWdFO0VBQStEOzs7QUFBNkQ7RUFBZ0M7RUFBWTtFQUFTO0VBQVU7RUFBZ0I7RUFBd0I7OztBQUFnQjtFQUF1RDs7O0FBQWU7RUFBcUM7OztBQUF1QjtFQUFpQztFQUFtRDs7O0FBQW9FO0VBQWtHO0VBQXlDO0VBQXdDO0VBQVE7OztBQUFrQztFQUFzSjtFQUEwRDs7O0FBQWM7RUFBc0s7RUFBUTtFQUEyQjs7O0FBQVU7RUFBME47RUFBcUI7OztBQUFpQztFQUEwSjs7O0FBQTREO0VBQTBLO0VBQVM7RUFBMkI7OztBQUFtQjtFQUE4Tjs7O0FBQWtDO0VBQTZMOzs7QUFBbUM7RUFBNEI7OztBQUFzRDtFQUErQjtFQUF5RTs7O0FBQWtCO0VBQW1FO0VBQW9FO0VBQWtCO0VBQU87RUFBTTtFQUFXO0VBQVk7RUFBbUI7OztBQUEwQjtFQUErRTs7O0FBQTJCO0VBQXNTO0VBQVc7RUFBcUQ7RUFBTzs7O0FBQU07RUFBc1M7RUFBb0Q7RUFBWTtFQUFPOzs7QUFBTTtFQUF3Qjs7O0FBQWE7RUFBa0I7RUFBeUQ7RUFBa0I7RUFBc0I7OztBQUEyRDtFQUF5Rjs7O0FBQXVCO0VBQW1GO0VBQWtCO0VBQTZDO0VBQTBDO0VBQXFDO0VBQVc7RUFBd0M7OztBQUErRDtFQUErRTtFQUFrQjtFQUF1QztFQUF3QztFQUE0QztFQUFXO0VBQXVDOzs7QUFBZ0U7RUFBdUI7RUFBWTtFQUFXO0VBQWtCO0VBQWdFO0VBQXlEO0VBQU87OztBQUFNO0VBQThCOzs7QUFBWTtFQUF1Qjs7O0FBQWE7RUFBdUI7RUFBVztFQUFZO0VBQWE7RUFBdUI7RUFBbUI7OztBQUFrQjtFQUFvRjtFQUFlO0VBQWdCOzs7QUFBbUI7RUFBcUI7RUFBWTs7O0FBQWtCO0VBQW1FO0VBQWtCO0VBQU87RUFBTTtFQUFvQjtFQUFVOzs7QUFBYztFQUFrQztFQUFvQzs7O0FBQWM7RUFBNkI7OztBQUFlO0VBQW9DO0VBQWU7OztBQUFzQjtFQUE0Qzs7O0FBQW9DO0VBQTJCO0VBQW9COzs7QUFBNEI7RUFBeUM7OztBQUFvQjtFQUF5Rjs7O0FBQW9CO0VBQWE7OztBQUFpQjtFQUEyQjtFQUFvQjtFQUFtQztFQUEyQjtFQUFVO0VBQWtCO0VBQXFCO0VBQVc7OztBQUFZO0VBQXlDOzs7QUFBb0I7RUFBc0M7OztBQUF3QjtFQUF5Rjs7O0FBQW9CO0VBQWdKO0VBQW9COzs7QUFBbUI7RUFBOEo7RUFBVTtFQUFtQzs7O0FBQTJCO0VBQWlDO0VBQWtCO0VBQU87RUFBVztFQUFXO0VBQVk7RUFBVzs7O0FBQVU7RUFBd0M7RUFBVztFQUFnQjtFQUFrQjtFQUFPO0VBQU07RUFBUztFQUFROzs7QUFBa0I7RUFBYTs7O0FBQWlCO0VBQTJCO0VBQW9CO0VBQW1DO0VBQTJCOzs7QUFBVTtFQUF5Qzs7O0FBQW9CO0VBQXlGOzs7QUFBb0I7RUFBOEo7RUFBVTtFQUFtQzs7O0FBQTJCO0VBQStCO0VBQW1DO0VBQTJCO0VBQWdCOzs7QUFBNkM7RUFBYzs7O0FBQWlCO0VBQTRCO0VBQStCO0VBQW1DO0VBQTJCOzs7QUNadHVpQjtFQUNFO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTs7QUFHRjtBQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQ2hFRjtBQUFBO0FBQUE7QUFHQztFQUNHOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7O0FQOGhCQTtFTy9oQkY7SUFHSTs7OztBUDRoQkY7RU94aEJGO0lBRUk7Ozs7QVBzaEJGO0VPbGhCRjtJQUVJOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QVB3Z0JBO0VPNWdCRjtJQU9JOzs7O0FBSUo7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBR0E7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUtGO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFFRjtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBZUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQSxPSnhuQkU7OztBSTJuQko7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7OztBQU9GO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTs7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UTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QWpCa2ZKO0VpQnRmQTtJQU9RO0lBQ0E7OztBakI4ZVI7RWlCdGZBO0lBWVE7SUFDQTs7O0FBR0o7RUFDSTtFQUNBOztBakJvZVI7RWlCdGVJO0lBSVE7OztBQUtaO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBakJ1ZEo7RWlCemRBO0lBSVE7OztBQUVKO0VBQ0k7RUFDQTtFQUNBLE1keEZKO0VjeUZJOztBQUlBO0VBQ0ksTWQ5RFY7OztBZXJDTjtFQUNJOztBQUNBO0VBQ0k7O0FBSUE7RUFDSSxPZjZCTjtFZTVCTTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBbEJnaUJSO0VrQnRpQkk7SUFTUTtJQUNBOzs7QWxCNGhCWjtFa0J0aUJJO0lBY1E7OztBQUtaO0VBQ0k7O0FBT2dCO0VBQ0k7O0FsQjBnQnhCO0VrQjNnQm9CO0lBR1E7OztBQU9aO0VBQ0k7O0FsQmdnQnBCO0VrQmpnQmdCO0lBR1E7OztBQVF4QjtFQUNJOztBQUdRO0VBQ0k7O0FBS1o7RUFDSTs7QUFJUTtFQUNJOztBQUtoQjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBLE9mdkdSO0Vld0dRO0VBQ0E7RUFDQTs7QWxCOGJaO0VrQm5jUTtJQU9ROzs7QWxCNGJoQjtFa0JuY1E7SUFXUSIsImZpbGUiOiJyZXN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGxpc3QgcmVzZXRcbiVsaXN0cmVzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vIGNsZWFyZml4XG4lY2xlYXJmaXgge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLmNsZWFyZml4IHtcbiAgICBAZXh0ZW5kICVjbGVhcmZpeDtcbn1cblxuLy8gdHJhbnNpdGlvblxuJXRyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vLyBqdXN0aWZ5IG5hdlxuJWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgZm9udC1zaXplOiAxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICA+KiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxufVxuXG4lYmdDb3ZlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuJWFic29sdXRlQ292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG59XG5cbi8vLyAqIEhlbHBlciBjbGFzcyB0byB0cnVuY2F0ZSBhbmQgYWRkIGVsbGlwc2lzIHRvIGEgc3RyaW5nIHRvbyBsb25nIGZvciBpdCB0byBmaXRcbi8vLyAqIG9uIGEgc2luZ2xlIGxpbmUuXG4vLy8gKiAxLiBQcmV2ZW50IGNvbnRlbnQgZnJvbSB3cmFwcGluZywgZm9yY2luZyBpdCBvbiBhIHNpbmdsZSBsaW5lLlxuLy8vICogMi4gQWRkIGVsbGlwc2lzIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUuXG5cbi5lbGxpcHNpcyB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kZi1yb3cge1xuICAgIEBpbmNsdWRlIGFkZC1wYXJhbXMoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQoKTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luOiAwICgtJGd1dHRlcik7XG4gICAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gdmVydGljYWwgYWxpZ24gZWwgaW5zaWRlIHBhcmVudCB3aXRoIGZpeGVkIGhlaWdodC9taW4taGVpZ2h0XG4vLyB1c2FnZVxuLy8gaHRtbCAtIC5wYXJlbnQ+LmNoaWxkXG4vLyBzY3NzIC0gQGluY2x1ZGUgdi1hbGlnbjtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduKDI1MHB4KTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduKDI1MHB4LCBib3R0b20sIGJlZm9yZSk7XG4vL1xuQG1peGluIHYtYWxpZ24oJHZhLWhlaWdodDogMTAwJSwgJHZhLWRpcmVjdGlvbjogbWlkZGxlLCAkdmEtcHNldWRvOiBhZnRlcikge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjojeyR2YS1wc2V1ZG99IHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICR2YS1kaXJlY3Rpb247XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAkdmEtaGVpZ2h0O1xuICAgIH1cblxuICAgID4qIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhLWRpcmVjdGlvbjtcbiAgICAgICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgfVxufVxuXG4vLyB2ZXJ0aWNhbCBhbGlnbiBhIHBhaXIgb2YgY2hpbGQgZWwgaW5zaWRlIHBhcmVudFxuLy8gdXNhZ2Vcbi8vIGh0bWwgLSAucG9zdD4uaW1hZ2UrLnRleHRcbi8vIHNjc3MgLSBAaW5jbHVkZSB2LWFsaWduLXBhaXIoaW1hZ2UsIHRleHQpO1xuLy8gICAgIG9yIEBpbmNsdWRlIHYtYWxpZ24tcGFpcihpbWFnZSwgdGV4dCwgYm90dG9tKTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduLXBhaXIoaW1hZ2UsIHRleHQsIG1pZGRsZSwgMjAwcHgpO1xuLy9cbkBtaXhpbiB2LWFsaWduLXBhaXIoJGNoaWxkLW5hbWUxLCAkY2hpbGQtbmFtZTIsICR2YWxpZ246IG1pZGRsZSwgJHdpZHRoMTogYXV0bywgJHdpZHRoMjogYXV0bykge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgLiN7JGNoaWxkLW5hbWUxfSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmFsaWduO1xuICAgICAgICB3aWR0aDogJHdpZHRoMTtcbiAgICB9XG5cbiAgICAuI3skY2hpbGQtbmFtZTJ9IHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICR2YWxpZ247XG4gICAgICAgIHdpZHRoOiAkd2lkdGgyO1xuICAgIH1cbn1cblxuLy8gdmVydGljYWwgYWxpZ24gZWxcbi8vIHVzYWdlOiBAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbi1lbDtcbi8vXG5AbWl4aW4gdmVydGljYWwtYWxpZ24tZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBNaXhpbiBoZWxwaW5nIGRlZmluaW5nIGJvdGggYHdpZHRoYCBhbmQgYGhlaWdodGAgc2ltdWx0YW5lb3VzbHkuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHdpZHRoIC0gRWxlbWVudOKAmXMgYHdpZHRoYFxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkaGVpZ2h0ICgkd2lkdGgpIC0gRWxlbWVudOKAmXMgYGhlaWdodGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZvbyB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5iYXIge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDEwMCUsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmZvbyB7XG4vLy8gICAgIHdpZHRoOiAxMGVtO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5iYXIge1xuLy8vICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG4vLy8gZm9udC1zbW90aGluZ1xuLy8vIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9uKTtcbi8vLyBAaW5jbHVkZSBmb250LXNtb290aGluZyhvZmYpO1xuQG1peGluIGZvbnQtc21vb3RoaW5nKCR2YWx1ZTogb24pIHtcbiAgICBAaWYgJHZhbHVlID09b24ge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59XG5cblxuLy8vIEhpZGVzIHRoZSB0ZXh0IGluIGFuIGVsZW1lbnQsIGNvbW1vbmx5IHVzZWQgdG8gc2hvdyBhbiBpbWFnZS4gU29tZSBlbGVtZW50cyB3aWxsIG5lZWQgYmxvY2stbGV2ZWwgc3R5bGVzIGFwcGxpZWQuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGhpZGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICB9XG4vLy9cbkBtaXhpbiBoaWRlLXRleHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4vLy8gQ3JlYXRlcyBhIHZpc3VhbCB0cmlhbmdsZS5cbi8vLyBNaXhpbiB0YWtlcyAoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbilcbi8vLyBUaGUgJHNpemUgYXJndW1lbnQgY2FuIHRha2Ugb25lIG9yIHR3byB2YWx1ZXPigJR3aWR0aCBoZWlnaHQuXG4vLy8gVGhlICRjb2xvciBhcmd1bWVudCBjYW4gdGFrZSBvbmUgb3IgdHdvXG4vLy8gdmFsdWVz4oCUZm9yZWdyb3VuZC1jb2xvciBiYWNrZ3JvdW5kLWNvbG9yLlxuLy8vXG4vLy8gQGF1dGhvciBodHRwOi8vYm91cmJvbi5pby9kb2NzLyN0cmlhbmdsZVxuLy8vXG4vLy8gJGRpcmVjdGlvbjpcbi8vLyB1cCwgZG93biwgbGVmdCwgcmlnaHQsIHVwLXJpZ2h0LCB1cC1sZWZ0LCBkb3duLXJpZ2h0LCBkb3duLWxlZnRcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEycHgsIGdyYXksIGRvd24pO1xuLy8vICAgQGluY2x1ZGUgdHJpYW5nbGUoMTJweCA2cHgsIGdyYXkgYmx1ZSwgdXAtbGVmdCk7XG4vLy9cbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAgICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAgICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKT09MiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG5cbiAgICBAaWYgKCRkaXJlY3Rpb24gPT11cCkgb3IgKCRkaXJlY3Rpb24gPT1kb3duKSBvciAoJGRpcmVjdGlvbiA9PXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PWxlZnQpIHtcbiAgICAgICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PXVwIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09cmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09ZG93biB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PWxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT11cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT11cC1sZWZ0KSB7XG4gICAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT11cC1yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PXVwLWxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09ZG93bi1sZWZ0KSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT1kb3duLXJpZ2h0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09ZG93bi1sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1pbnNldC11cCkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09aW5zZXQtZG93bikge1xuICAgICAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09aW5zZXQtcmlnaHQpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWluc2V0LWxlZnQpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICB9XG59XG5cblxuLy8vIEFuaW1hdGUgY3NzIHByb3BlcnRpZXNcbi8vIHVzYWdlXG4vLyBzY3NzIC0gQGluY2x1ZGUgYW5pbWF0ZShjb2xvcik7XG4vLyAgICAgb3IgQGluY2x1ZGUgYW5pbWF0ZShjb2xvciB3aWR0aCk7XG4vLyAgICAgb3IgQGluY2x1ZGUgYW5pbWF0ZShjb2xvciB3aWR0aCwgMXMsIGxpbmVhcik7XG4vL1xuJGFuaW1hdGlvbi1zcGVlZDogMC4zcyAhZGVmYXVsdDtcblxuQG1peGluIGFuaW1hdGUoJHByb3BlcnRpZXMsICRkdXJhdGlvbjogJGFuaW1hdGlvbi1zcGVlZCwgJGVhc2luZzogZWFzZS1pbi1vdXQpIHtcbiAgICAkbGlzdDogKCk7XG5cbiAgICBAZWFjaCAkcHJvcCBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICRzdHI6ICN7JHByb3B9ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xuICAgICAgICAkbGlzdDogam9pbigkbGlzdCwgI3skc3RyfSwgY29tbWEpO1xuICAgIH1cblxuICAgIHRyYW5zaXRpb246ICRsaXN0O1xufVxuXG5cbi8vLyBNaXhpbiBmb3Igc3R5bGluZyBmb3JtLXBsYWNlaG9sZGVyc1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuLy8vICAgIGNvbG9yOiAjMzMzO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPSd0ZXh0J10sXG4vLy8gICBpbnB1dFt0eXBlPSd0ZWwnXSxcbi8vLyAgIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuLy8vICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgICB9XG4vLy8gICB9XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICYucGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vLyBGb250LXNpemUgcHggdG8gcmVtIGNhbGNcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyBzZWxlY3RvciB7XG4vLy8gICAgQGluY2x1ZGUgcmVtLWZvbnQtc2l6ZSgxNnB4KTtcbi8vLyB9XG5cbkBtaXhpbiByZW0tZm9udC1zaXplKCRweC1zaXplKSB7XG4gICAgZm9udC1zaXplOiAkcHgtc2l6ZTtcbiAgICBmb250LXNpemU6ICgkcHgtc2l6ZSAvIDEwcHgpICsgcmVtO1xufVxuXG4vLyBvYmplY3QgZml0IGZvciBpbWFnZVxuQG1peGluIGltZy1zY2FsZSB7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbiAgfVxuXG4vL2ZvbnQtZmFjZVxuQG1peGluIGZvbnQtZmFjZSgkZm9udC1uYW1lLCAkZm9udC1wYXRoLCAkd2VpZ2h0LCAkc3R5bGUpIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICcjeyRmb250LW5hbWV9JztcbiAgICAgICAgc3JjOiB1cmwoJ2ZvbnRzLyN7JGZvbnQtcGF0aH0ud29mZjInKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCdmb250cy8jeyRmb250LXBhdGh9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1jb2xvcigkYnRuLWJhY2tncm91bmQsICRidG4tY29sb3IsICRidG4tYm9yZGVyKSB7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnRuLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJ0bi1ib3JkZXI7XG59XG5cbkBtaXhpbiBhZGQtcGFyYW1zKCkge1xuXG4gICAgQGVhY2ggJHZhbCxcbiAgICAkbWVkaWEgaW4gJGdyaWQge1xuICAgICAgICAmLmRmLXJyLSN7JHZhbH0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRmLWFpYy0jeyR2YWx9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaUnICsgJG1lZGlhKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gZmxleCBncmlkXG5AbWl4aW4gZmxleC1ncmlkKCkge1xuXG4gICAgQGVhY2ggJHZhbCxcbiAgICAkbWVkaWEgaW4gJGdyaWQge1xuICAgICAgICBAZm9yICRndXR0ZXIgZnJvbSAxIHRocm91Z2ggMTIge1xuICAgICAgICAgICAgLmNvbC0jeyR2YWx9LSN7JGd1dHRlcn0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaUnICsgJG1lZGlhKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCBjYWxjKDEwMCUgLyAxMiAqICN7JGd1dHRlcn0pO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogI3skZ3V0dGVyfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAkZ3V0dGVyIGZyb20gMCB0aHJvdWdoIDExIHtcbiAgICAgICAgICAgIC5jb2wtb2Zmc2V0LSN7JHZhbH0tI3skZ3V0dGVyfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTAwJSAvIDEyICogI3skZ3V0dGVyfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gdi1jZW50ZXIoJG1pbi1oZWlnaHQ6IDQwMHB4KSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgID4qIHtcbiAgICAgICAgbWluLWhlaWdodDogJG1pbi1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59IiwiLnJlLWhlYWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTAwO1xuXG5cdC5yZS1ob21lICYsXG5cdC5yZS1pbm5lciAmIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cblxuXHQ+IC5jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdFx0fVxuXHR9XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiAxNTUwcHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LnJlLWxvZ28ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxMDI7XG5cdFx0d2lkdGg6IDEwNXB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdHdpZHRoOiAxNDBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHdpZHRoOiAxNjRweDtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHR3aWR0aDogMjA0cHg7XG5cdFx0fVxuXHR9XG59XG5cbi5yZXYtbmF2LW9wZW5lciB7XG5cdEBpbmNsdWRlIGFuaW1hdGUgKGJhY2tncm91bmQtY29sb3IpO1xuXHRAaW5jbHVkZSBzaXplICg3NHB4KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTAyO1xuXHRtYXJnaW46IDAgKC0kZ3V0dGVyKSAwIDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRAaW5jbHVkZSBzaXplICgxMDBweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRAaW5jbHVkZSBzaXplICgxNjBweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRAaW5jbHVkZSBzaXplICgyMDBweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbi1sZycpIHtcblx0XHRtYXJnaW4tcmlnaHQ6IC04MHB4O1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS02MDA7XG5cdFx0fVxuXHR9XG5cblx0LnJlLWhvbWUgJixcblx0LnJlLWlubmVyICYge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblxuXHRcdFx0JjphZnRlcixcblx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucmUtc3ViLW1lbnUtYWN0aXZlICYge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmFmdGVyLFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdH1cblx0XHR9XG5cdFxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucmUtbW9iaWxlLWRyb3AtYWN0aXZlICYge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XG5cdFx0JjphZnRlcixcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuXHRcblx0XHQmOmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCY6YWZ0ZXIsXG5cdCY6YmVmb3JlLFxuXHRzcGFuIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlKGFsbCk7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXHRcdGhlaWdodDogM3B4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAyMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gNjZweCk7XG5cdFx0XHRsZWZ0OiAzM3B4O1xuXHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRsZWZ0OiA1MnB4O1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEwNHB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdGhlaWdodDogOHB4O1xuXHRcdFx0bGVmdDogNjZweDtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxMzJweCk7XG5cdFx0fVxuXHR9XG5cblx0JjphZnRlcixcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdHRvcDogMzBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHR0b3A6IDQwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHR0b3A6IDY0cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHR0b3A6IDgwcHg7XG5cdFx0fVxuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Ym90dG9tOiAzMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdGJvdHRvbTogNDBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGJvdHRvbTogNjRweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdGJvdHRvbTogODBweDtcblx0XHR9XG5cdH1cblxuXHRzcGFuIHtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdH1cbn1cblxuLnJlLW1vYmlsZS1kcm9wLXdyYXAge1xuXHRAaW5jbHVkZSBhbmltYXRlIChvcGFjaXR5IHZpc2liaWxpdHkpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0ei1pbmRleDogMTAxO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmF5LTYwMCwgMC45KTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHBhZGRpbmc6IDkwcHggMCAyMHB4O1xuXHRvcGFjaXR5OiAwO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApKTtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdHBhZGRpbmctdG9wOiAxMjBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdHBhZGRpbmc6IDRweCAwIDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdC5yZS1tb2JpbGUtZHJvcC1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG59XG5cbi5yZS1tb2JpbGUtZHJvcCB7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6ICRwYWRkaW5nLWNvbnRhaW5lcjtcblx0aGVpZ2h0OiAxMDAlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0LnJlLWJ0biB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luOiAwIDAgMTVweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogODNweDtcblx0XHR9XG5cdH1cbn1cblxuLnJlLW1vYmlsZS1kcm9wLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cbi5yZS1zdWItbWVudS13cmFwIHtcblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZSAob3BhY2l0eSB2aXNpYmlsaXR5KTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApKTtcblx0XHR6LWluZGV4OiAxMDE7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JheS02MDAsIDAuOSk7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRwYWRkaW5nOiAxNTBweCAwIDIwcHg7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRwYWRkaW5nLXRvcDogMTk3cHg7XG5cdH1cblxuXHQucmUtc3ViLW1lbnUtYWN0aXZlICYge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXHR9XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0cGFkZGluZzogMCAkZ3V0dGVyO1xuXHRcdH1cblx0fVxufVxuXG4ucmUtc3ViLW1lbnUge1xuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG5cdC5jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHR9XG5cdH1cbn1cblxuLnJlLXN1Yi1iYXIge1xuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHR3aWR0aDogMjAuOCU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRwYWRkaW5nOiAwIDYxcHggMCAwO1xuXHR9XG59XG5cbi5yZS1zdWItbmF2IHtcblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0d2lkdGg6IDc1JTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxuXG5cdC5yZS1jb2wge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0d2lkdGg6IDMwJTtcblx0XHR9XG5cdH1cbn1cblxuLnJlLXNlYXJjaC1mb3JtIHtcblx0bWFyZ2luOiAwIDAgMTVweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcblxuXHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGhlaWdodDogMzZweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMy44cHg7XG5cblx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cblx0LnN1Ym1pdCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZSAoY29sb3IpO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGRhbmdlcjtcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRcdFx0d2lkdGg6IDE4cHg7XG5cdFx0fVxuXHR9XG59XG5cbi5zdWItbmF2LXBvcHVwIHtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdG1hcmdpbjogMCAwIDI1cHg7XG5cdH1cbn1cblxuLnJlLW5hdi10aXRsZSB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IDdweCAwIDVweDtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGNvbG9yOiAkZGFuZ2VyO1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4ucmUtc3ViLW5hdi1vcGVuZXIge1xuXHRAaW5jbHVkZSBhbmltYXRlIChvcGFjaXR5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1yaWdodDogMzBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcblx0XHRjb250ZW50OiBcIlxcZTkwNVwiO1xuXHRcdGZvbnQtc2l6ZTogMjVweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG5cblx0LnN1Yi1uYXYtcG9wdXAtYWN0aXZlICYge1xuXHRcdG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlxcZTkwNFwiO1xuXHRcdH1cblx0fVxufVxuXG4uc3ViLW5hdi1zbGlkZSB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cblx0dWwge1xuXHRcdEBleHRlbmQgJWxpc3RyZXNldDtcblx0XHRtYXJnaW46IDAgMCAxMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdCsgbGkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAkZGFuZ2VyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdEBpbmNsdWRlIGFuaW1hdGUgKGNvbG9yKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRjb2xvcjogJGRhbmdlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnJlLW5hdiB7XG5cdHVsIHtcblx0XHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cblx0XHQ+IGxpIHtcblx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRjb2xvcjogJGRhbmdlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdD4gdWwge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRtYXJnaW46IDAgLTE2cHg7XG5cdFx0XHRjb2xvcjogJGdyYXktNjAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0bWFyZ2luOiAwIC0zOHB4O1xuXHRcdH1cblxuXHRcdC5yZS1ob21lICYsXG5cdFx0LnJlLWlubmVyICYge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0PiBsaSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAxNHB4O1xuXHRcdFx0XHRtYXJnaW46IDAgMTZweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRcdG1hcmdpbjogMCAzOHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkZGFuZ2VyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5yZS1kcm9wIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAzcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRkYW5nZXI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5yZS1kcm9wLWFjdGl2ZSB7XG5cdFx0XHRcdD4gLmhhcy1kcm9wLWRvd24tYSB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdD4gYSB7XG5cdFx0XHRcdEBpbmNsdWRlIGFuaW1hdGUgKG9wYWNpdHkpO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHBhZGRpbmc6IDdweCAwIDVweDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGFuaW1hdGUgKGNvbG9yKTtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdHRleHQtc2hhZG93OiAwIDAgMnB4ICRibGFjaztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuaGFzLWRyb3AtZG93bi1hIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogXCJpY29tb29uXCI7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZTkwNVwiO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyNXB4O1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucmUtZHJvcCB7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0cGFkZGluZzogMCAwIDEwcHg7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0QGluY2x1ZGUgYW5pbWF0ZSAob3BhY2l0eSB2aXNpYmlsaXR5KTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMjE1cHg7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRwYWRkaW5nOiAxN3B4IDAgMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdHdpZHRoOiAzMzZweDtcblx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdH1cblxuXHRcdHVsIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFuZ2VyO1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDI2cHggMTJweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDI2cHggMzJweCAxOHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjY7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQrIGxpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNXB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDEycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxNnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdEBpbmNsdWRlIGFuaW1hdGUgKG9wYWNpdHkpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBDb2xvcnNcbi8vIENvbG9yIGNhbGN1bGF0b3IgLSBodHRwOi8vcmF6b3JqYW0uZ2l0aHViLmlvL3Nhc3Njb2xvdXJmdW5jdGlvbmNhbGN1bGF0b3IvXG4vLyBDb2xvciBuYW1lcyAtIGh0dHA6Ly9uYW1lLW9mLWNvbG9yLmNvbS9cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICNmZmY7XG4kZ3JheTogI2RkZCAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2YwZjBmMDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzUyNTg1YjtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogIzAwMDtcblxuJGdyYXlzOiAoXG4gICAgKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZSgoXCIxMDBcIjogJGdyYXktMTAwLFxuICAgICAgICAgICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgICAgICAgICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgICAgICAgICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgICAgICAgICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgICAgICAgICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgICAgICAgICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgICAgICAgICAgXCI5MDBcIjogJGdyYXktOTAwICksXG4gICAgICAgICRncmF5c1xuKTtcblxuJGJsdWU6ICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogI2UxMjcyNjtcbiRiZWlnZTogI2ZiZTdkZDtcbiRvcmFuZ2U6ICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKFxuICAgICkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKChcImJsdWVcIjogJGJsdWUsXG4gICAgICAgICAgICBcImluZGlnb1wiOiAkaW5kaWdvLFxuICAgICAgICAgICAgXCJwdXJwbGVcIjogJHB1cnBsZSxcbiAgICAgICAgICAgIFwicGlua1wiOiAkcGluayxcbiAgICAgICAgICAgIFwicmVkXCI6ICRyZWQsXG4gICAgICAgICAgICBcIm9yYW5nZVwiOiAkb3JhbmdlLFxuICAgICAgICAgICAgXCJ5ZWxsb3dcIjogJHllbGxvdyxcbiAgICAgICAgICAgIFwiZ3JlZW5cIjogJGdyZWVuLFxuICAgICAgICAgICAgXCJ0ZWFsXCI6ICR0ZWFsLFxuICAgICAgICAgICAgXCJjeWFuXCI6ICRjeWFuLFxuICAgICAgICAgICAgXCJ3aGl0ZVwiOiAkd2hpdGUsXG4gICAgICAgICAgICBcImdyYXlcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgXCJncmF5LWRhcmtcIjogJGdyYXktODAwICksXG4gICAgICAgICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICRyZWQ7XG4kbGlnaHQ6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6IChcbiAgICApICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZSgoXCJwcmltYXJ5XCI6ICRwcmltYXJ5LFxuICAgICAgICAgICAgXCJzZWNvbmRhcnlcIjogJHNlY29uZGFyeSxcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiAkc3VjY2VzcyxcbiAgICAgICAgICAgIFwiaW5mb1wiOiAkaW5mbyxcbiAgICAgICAgICAgIFwid2FybmluZ1wiOiAkd2FybmluZyxcbiAgICAgICAgICAgIFwiZGFuZ2VyXCI6ICRkYW5nZXIsXG4gICAgICAgICAgICBcImxpZ2h0XCI6ICRsaWdodCxcbiAgICAgICAgICAgIFwiZGFya1wiOiAkZGFyayApLFxuICAgICAgICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBmb250cyBuYW1lXG4kYmFzZS1mb250LXNhbnMtc2VyaWY6ICdBcmlhbCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuJGJhc2UtZm9udC1zZXJpZjogJ1RpbWVzIE5ldyBSb21hbicsICdUaW1lcycsICdCYXNrZXJ2aWxsZScsICdHZW9yZ2lhJywgc2VyaWY7XG5cbiRiYXNlLWZvbnQ6ICRiYXNlLWZvbnQtc2Fucy1zZXJpZjtcblxuLy8gQm9keVxuJGJhc2UtdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuJGJhc2UtYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGJhc2UtYmFja2dyb3VuZC1ib2R5OiAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFzZS1iYWNrZ3JvdW5kLWZvb3RlcjogJGdyYXktNjAwO1xuJGZvbnQtc2l6ZS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuMiAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZS1sYWdyZTogMThweCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlLWxhZ3JlOiAxLjIgIWRlZmF1bHQ7XG4kYmFzZS1mb250LWZhbWlseTogJGJhc2UtZm9udCAhZGVmYXVsdDtcbiRiYXNlLW1pbi13aWR0aDogMzIwcHg7XG5cbi8vIGJhc2UgdmFyaWFibGVzXG4kYmFzZS1yYWRpdXM6IDA7XG4kYmFzZS1yYWRpdXMtc21hbGw6IDA7XG5cbi8vIGNvbnRhaW5lciBzZXR0aW5nc1xuJG1heC13aWR0aC1jZW50ZXItY29udGFpbmVyOiAxMjAwcHg7XG4kZ3V0dGVyOiAxNXB4O1xuJHBhZGRpbmctY29udGFpbmVyOiAwICRndXR0ZXI7XG5cbi8vIGdyaWQgc2lzdGVtXG4kZ3JpZDogKFxuICAgIHBoOiAncGhvbmUnLFxuICAgIHNtOiAndGFibGV0JyxcbiAgICBtZDogJ2Rlc2t0b3AnXG4pO1xuXG4vLyBmb250IHdlaWdodFxuJHRoaW46IDEwMDtcbiRsaWdodC1mb250OiAzMDA7XG4kbm9ybWFsOiA0MDA7XG4kbWVkaXVtOiA1MDA7XG4kc2VtaWJvbGQ6IDYwMDtcbiRib2xkOiA3MDA7XG4kZXh0cmE6IDgwMDtcbiRibGFjay1mb250OiA5MDA7XG5cbi8vIGRlZmF1bHQgbWFyZ2luc1xuJHZlcnRpY2FsLXJoeXRobTogJGZvbnQtc2l6ZS1iYXNlICsgNDtcbiR3aWRnZXQtbWFyZ2luOiAyMHB4O1xuXG4vLyBCdXR0b25zXG4vLyBidG4gZGVmYXVsdFxuJGJ0bi1ib3JkZXItcmFkaXVzOiAkYmFzZS1yYWRpdXM7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICRiYXNlLXJhZGl1cy1zbWFsbDtcbiRidG4tcGFkZGluZzogMTJweCAxMHB4O1xuJGJ0bi1wYWRkaW5nLXNtOiA0cHggMTBweCAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAyMHB4O1xuJGJ0bi1saW5lLWhlaWdodDogJGJ0bi1mb250LXNpemUgKyAyO1xuXG4kYnRuLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcbiRidG4tYm9yZGVyOiAkYnRuLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnRuLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGJ0biB3YXJuaW5nXG4kYnRuLWJhY2tncm91bmQtZGFuZ2VyOiAkZGFuZ2VyO1xuJGJ0bi1ib3JkZXItZGFuZ2VyOiAkYnRuLWJhY2tncm91bmQtZGFuZ2VyO1xuJGJ0bi1jb2xvci1kYW5nZXI6ICR3aGl0ZTtcbi8vIGhvdmVyXG4kYnRuLWhvdmVyLWNvbG9yLWRhbmdlcjogJGRhbmdlcjtcblxuLy8gYnRuIG91dGxpbmUgbGlnaHRcbiRidG4tYmFja2dyb3VuZC1vdXRsaW5lLWxpZ2h0OiB0cmFuc3BhcmVudDtcbiRidG4tYm9yZGVyLW91dGxpbmUtbGlnaHQ6ICR3aGl0ZTtcbiRidG4tY29sb3Itb3V0bGluZS1saWdodDogJHdoaXRlO1xuLy8gaG92ZXJcbiRidG4taG92ZXItY29sb3Itb3V0bGluZS1saWdodDogJGRhbmdlcjtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBmb290ZXIgb2YgdGhlIHNpdGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucmUtZm9vdGVyIHtcblx0cGFkZGluZzogNTBweCAwIDQwcHg7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1iYWNrZ3JvdW5kLWZvb3Rlcjtcblx0XG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0cGFkZGluZzogNjVweCAwIDQwcHg7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdHRleHQtYWxpZ24tbGFzdDogbGVmdDtcblx0fVxuXG5cdHVsIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHR9XG5cblx0bGkge1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC4zcztcblx0fVxuXG5cdC5jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogMTU2MHB4O1xuXHR9XG5cblx0LnJlLWNvcHlyaWdodCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogNzJweDtcblx0XHR9XG5cdH1cblxuXHQucmUtZm9vdGVyLW1lbnUge1xuXHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cdH1cblxuXHQucmUtY29weXJpZ2h0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRtYXJnaW46IDAgLTEwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0bWFyZ2luOiAwIC0xNnB4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHR9XG5cblx0XHRsaSB7XG5cdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDE2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5yZS1jb2x1bW5zLWZvb3RlciB7XG5cdG1hcmdpbjogMCAtMTVweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlcGhvbmUnKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblx0XG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHR9XG5cblx0JiA+ICoge1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0fVxuXHRcblx0LnJlLWNvbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVwaG9uZScpIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdH1cblx0XHRcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHR3aWR0aDogMjQuNSU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdH1cblx0fVxuXG5cdC5yZS1jb2wtc21hbGwge1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlcGhvbmUnKSB7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdH1cblx0XHRcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHdpZHRoOiAxNyU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5yZS1jb2wtc21hbGw6bGFzdC1jaGlsZCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0d2lkdGg6IDE3JTtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cblxuLnJlLWZvb3Rlci1tZW51IHtcblxuXHRsaSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdH1cblx0fVxufVxuXG4ucmUtYWRkcmVzcy1pdGVtIHtcblxuXHRhZGRyZXNzIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDM0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6ICRub3JtYWw7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRsaW5lLWhlaWdodDogNDBweDtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnRcblx0XHR9XG5cdH1cbn1cblxuLnJlLXNvYy1tZW51IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0d2lkdGg6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHR9XG5cblx0bGkge1xuXHRcdHBhZGRpbmc6IDdweCAzcHggMDtcblx0fVxuXHRcblx0Lmljb24tdHdpdHRlcixcblx0Lmljb24taW5zdGFncmFtIHtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdH1cblxuXHQuaWNvbi1mYWNlYm9vayB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdH1cbn1cblxuXG4ubm8tc3BhY2UgIHtcblx0I21haW4ge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cbiIsIi8qKlxuICogU3dpcGVyIDkuMi40XG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDIzIFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IEFwcmlsIDIxLCAyMDIzXG4gKi9cblxuIEBmb250LWZhY2V7Zm9udC1mYW1pbHk6c3dpcGVyLWljb25zO3NyYzp1cmwoJ2RhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBJyk7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfTpyb290ey0tc3dpcGVyLXRoZW1lLWNvbG9yOiMwMDdhZmZ9LnN3aXBlcixzd2lwZXItY29udGFpbmVye21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7ei1pbmRleDoxO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MTtkaXNwbGF5OmZsZXg7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tc3dpcGVyLXdyYXBwZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24saW5pdGlhbCk7Ym94LXNpemluZzpjb250ZW50LWJveH0uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSwuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwwLDApfS5zd2lwZXItaG9yaXpvbnRhbHt0b3VjaC1hY3Rpb246cGFuLXl9LnN3aXBlci12ZXJ0aWNhbHt0b3VjaC1hY3Rpb246cGFuLXh9LnN3aXBlci1zbGlkZSxzd2lwZXItc2xpZGV7ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmt7dmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1hdXRvaGVpZ2h0LC5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRle2hlaWdodDphdXRvfS5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxoZWlnaHR9LnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItM2Quc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcntwZXJzcGVjdGl2ZToxMjAwcHh9LnN3aXBlci0zZCAuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5zd2lwZXItM2R7cGVyc3BlY3RpdmU6MTIwMHB4fS5zd2lwZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdywuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUsLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdywuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdywuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6MTB9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvd3tiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjE1KX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHRvcCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7b3ZlcmZsb3c6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZX0uc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGV7c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQgc3RhcnR9LnN3aXBlci1ob3Jpem9udGFsLnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7c2Nyb2xsLXNuYXAtdHlwZTp4IG1hbmRhdG9yeX0uc3dpcGVyLXZlcnRpY2FsLnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7c2Nyb2xsLXNuYXAtdHlwZTp5IG1hbmRhdG9yeX0uc3dpcGVyLWNlbnRlcmVkPi5zd2lwZXItd3JhcHBlcjo6YmVmb3Jle2NvbnRlbnQ6Jyc7ZmxleC1zaHJpbms6MDtvcmRlcjo5OTk5fS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGV7c2Nyb2xsLXNuYXAtYWxpZ246Y2VudGVyIGNlbnRlcjtzY3JvbGwtc25hcC1zdG9wOmFsd2F5c30uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpfS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVyOjpiZWZvcmV7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoxcHg7d2lkdGg6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcil9LnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGR7bWFyZ2luLWJsb2NrLXN0YXJ0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKX0uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXI6OmJlZm9yZXt3aWR0aDoxMDAlO21pbi13aWR0aDoxcHg7aGVpZ2h0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpfS5zd2lwZXItbGF6eS1wcmVsb2FkZXJ7d2lkdGg6NDJweDtoZWlnaHQ6NDJweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMXB4O21hcmdpbi10b3A6LTIxcHg7ei1pbmRleDoxMDt0cmFuc2Zvcm0tb3JpZ2luOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnR9LnN3aXBlci13YXRjaC1wcm9ncmVzcyAuc3dpcGVyLXNsaWRlLXZpc2libGUgLnN3aXBlci1sYXp5LXByZWxvYWRlciwuc3dpcGVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSAuc3dpcGVyLWxhenktcHJlbG9hZGVyLHN3aXBlci1jb250YWluZXI6bm90KC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MpIC5zd2lwZXItbGF6eS1wcmVsb2FkZXJ7YW5pbWF0aW9uOnN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXJ9LnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZXstLXN3aXBlci1wcmVsb2FkZXItY29sb3I6I2ZmZn0uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrey0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojMDAwfUBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5zd2lwZXItdmlydHVhbCAuc3dpcGVyLXNsaWRley13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZSAuc3dpcGVyLXdyYXBwZXI6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItaG9yaXpvbnRhbCAuc3dpcGVyLXdyYXBwZXI6OmFmdGVye2hlaWdodDoxcHg7d2lkdGg6dmFyKC0tc3dpcGVyLXZpcnR1YWwtc2l6ZSl9LnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItdmVydGljYWwgLnN3aXBlci13cmFwcGVyOjphZnRlcnt3aWR0aDoxcHg7aGVpZ2h0OnZhcigtLXN3aXBlci12aXJ0dWFsLXNpemUpfTpyb290ey0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTo0NHB4fS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1idXR0b24tcHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tdG9wLW9mZnNldCw1MCUpO3dpZHRoOmNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDQ0ICogMjcpO2hlaWdodDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTttYXJnaW4tdG9wOmNhbGMoMHB4IC0gKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyAyKSk7ei1pbmRleDoxMDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSl9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZHtvcGFjaXR5Oi4zNTtjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1oaWRkZW4sLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWhpZGRlbntvcGFjaXR5OjA7Y3Vyc29yOmF1dG87cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQgLnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQgLnN3aXBlci1idXR0b24tcHJldntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1idXR0b24tcHJldjphZnRlcntmb250LWZhbWlseTpzd2lwZXItaWNvbnM7Zm9udC1zaXplOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO3RleHQtdHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOjA7Zm9udC12YXJpYW50OmluaXRpYWw7bGluZS1oZWlnaHQ6MX0uc3dpcGVyLWJ1dHRvbi1wcmV2LC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHR7bGVmdDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsMTBweCk7cmlnaHQ6YXV0b30uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXJ7Y29udGVudDoncHJldid9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2e3JpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwxMHB4KTtsZWZ0OmF1dG99LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2NvbnRlbnQ6J25leHQnfS5zd2lwZXItYnV0dG9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItcGFnaW5hdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOi4zcyBvcGFjaXR5O3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7ei1pbmRleDoxMH0uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVue29wYWNpdHk6MH0uc3dpcGVyLXBhZ2luYXRpb24tZGlzYWJsZWQ+LnN3aXBlci1wYWdpbmF0aW9uLC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9ue2JvdHRvbTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1ib3R0b20sOHB4KTt0b3A6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tdG9wLGF1dG8pO2xlZnQ6MDt3aWR0aDoxMDAlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTowfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2Zvcm06c2NhbGUoLjMzKTtwb3NpdGlvbjpyZWxhdGl2ZX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle3RyYW5zZm9ybTpzY2FsZSgxKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW57dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHR7dHJhbnNmb3JtOnNjYWxlKC42Nil9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHR7dHJhbnNmb3JtOnNjYWxlKC4zMyl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt3aWR0aDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGgsdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsOHB4KSk7aGVpZ2h0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQsdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsOHB4KSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYm9yZGVyLXJhZGl1cyw1MCUpO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yLCMwMDApO29wYWNpdHk6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHksIC4yKX1idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtjdXJzb3I6cG9pbnRlcn0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Om9ubHktY2hpbGR7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtvcGFjaXR5OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1vcGFjaXR5LCAxKTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpfS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHN7cmlnaHQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcmlnaHQsOHB4KTtsZWZ0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWxlZnQsYXV0byk7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LC01MCUsMCl9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXAsNnB4KSAwO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6OHB4fS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyB0b3B9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjowIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ob3Jpem9udGFsLWdhcCw0cHgpfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2hpdGUtc3BhY2U6bm93cmFwfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgbGVmdH0uc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLXJ0bD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsOmhvc3QoLnN3aXBlci1ob3Jpem9udGFsLnN3aXBlci1ydGwpIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIHJpZ2h0fS5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbntjb2xvcjp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbi1jb2xvcixpbmhlcml0KX0uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJ7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1iZy1jb2xvcixyZ2JhKDAsMCwwLC4yNSkpO3Bvc2l0aW9uOmFic29sdXRlfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgdG9wfS5zd2lwZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IHRvcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZXt3aWR0aDoxMDAlO2hlaWdodDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1zaXplLDRweCk7bGVmdDowO3RvcDowfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye3dpZHRoOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsNHB4KTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1wYWdpbmF0aW9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItc2Nyb2xsYmFye2JvcmRlci1yYWRpdXM6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3JkZXItcmFkaXVzLDEwcHgpO3Bvc2l0aW9uOnJlbGF0aXZlOy1tcy10b3VjaC1hY3Rpb246bm9uZTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYmctY29sb3IscmdiYSgwLDAsMCwuMSkpfS5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkPi5zd2lwZXItc2Nyb2xsYmFyLC5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWR7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1zY3JvbGxiYXIsLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1ob3Jpem9udGFse3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpO2JvdHRvbTp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvdHRvbSw0cHgpO3RvcDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXRvcCxhdXRvKTt6LWluZGV4OjUwO2hlaWdodDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpemUsNHB4KTt3aWR0aDpjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpKX0uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLXZlcnRpY2FsLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWxlZnQsYXV0byk7cmlnaHQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1yaWdodCw0cHgpO3RvcDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSk7ei1pbmRleDo1MDt3aWR0aDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpemUsNHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gMiAqIHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LDElKSl9LnN3aXBlci1zY3JvbGxiYXItZHJhZ3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1kcmFnLWJnLWNvbG9yLHJnYmEoMCwwLDAsLjUpKTtib3JkZXItcmFkaXVzOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywxMHB4KTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWd7Y3Vyc29yOm1vdmV9LnN3aXBlci1zY3JvbGxiYXItbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci16b29tLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0uc3dpcGVyLXpvb20tY29udGFpbmVyPmNhbnZhcywuc3dpcGVyLXpvb20tY29udGFpbmVyPmltZywuc3dpcGVyLXpvb20tY29udGFpbmVyPnN2Z3ttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb250YWlufS5zd2lwZXItc2xpZGUtem9vbWVke2N1cnNvcjptb3ZlO3RvdWNoLWFjdGlvbjpub25lfS5zd2lwZXIgLnN3aXBlci1ub3RpZmljYXRpb24sc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7ei1pbmRleDotMTAwMH0uc3dpcGVyLWZyZWUtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7bWFyZ2luOjAgYXV0b30uc3dpcGVyLWdyaWQ+LnN3aXBlci13cmFwcGVye2ZsZXgtd3JhcDp3cmFwfS5zd2lwZXItZ3JpZC1jb2x1bW4+LnN3aXBlci13cmFwcGVye2ZsZXgtd3JhcDp3cmFwO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3dpcGVyLWZhZGUuc3dpcGVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRle3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1jdWJle292ZXJmbG93OnZpc2libGV9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MTt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm0tb3JpZ2luOjAgMDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWN1YmUuc3dpcGVyLXJ0bCAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybS1vcmlnaW46MTAwJSAwfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0Ky5zd2lwZXItc2xpZGUsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldntwb2ludGVyLWV2ZW50czphdXRvO3Zpc2liaWxpdHk6dmlzaWJsZX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3otaW5kZXg6MDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouNjt6LWluZGV4OjB9LnN3aXBlci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3c6YmVmb3Jle2NvbnRlbnQ6Jyc7YmFja2dyb3VuZDojMDAwO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO2ZpbHRlcjpibHVyKDUwcHgpfS5zd2lwZXItZmxpcHtvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjF9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3otaW5kZXg6MDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItY3JlYXRpdmUgLnN3aXBlci1zbGlkZXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5LGhlaWdodH0uc3dpcGVyLWNhcmRze292ZXJmbG93OnZpc2libGV9LnN3aXBlci1jYXJkcyAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO292ZXJmbG93OmhpZGRlbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiAgdXJsKCdmb250cy9pY29tb29uLmVvdD9objF1Z3MnKTtcbiAgc3JjOiAgdXJsKCdmb250cy9pY29tb29uLmVvdD9objF1Z3MjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCdmb250cy9pY29tb29uLnR0Zj9objF1Z3MnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCdmb250cy9pY29tb29uLndvZmY/aG4xdWdzJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCdmb250cy9pY29tb29uLnN2Zz9objF1Z3MjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOGY1XCI7XG59XG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cbi5pY29uLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNvbi1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG59XG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cbi5pY29uLWNyb3NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOGZlXCI7XG59XG4uaWNvbi1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuLmljb24tY2xhc3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYVwiO1xufVxuLmljb24tZXZlbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG4uaWNvbi1pY29uczgtdHdpdHRlcng6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODhcIjtcbn1cbi5pY29uLWluc3RhZ3JhbS1uZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cbiIsIi8qKlxuICogY2FsZW5kYXIgY2FsZW5kYXIgdGFibGUgc3R5bGVzXG4gKi9cbiAuY2FsZW5kYXItY2FsZW5kYXIgdHIub2RkLCAuY2FsZW5kYXItY2FsZW5kYXIgdHIuZXZlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgLyogU2V0dGluZyBhdCAxMDAlIGNhdXNlcyBwcm9ibGVtIGluIEludGVybmV0IEV4cGxvcmVyLiAqL1xuICB9XG5cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRhYmxlLmZ1bGwge1xuICAgIG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgdGFibGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcbiAgICAgIHdpZHRoOiAxMDI0cHg7XG4gICAgfSBcbiAgfVxuICBcbiAgLyoqXG4gICAqIElFIG5lZWRzIGEgbGl0dGxlIGhlbHAgdG8gZ2V0IHRoZSBzaWRlIGJ5IHNpZGUgdGFibGVzIHRvIHRoZSByaWdodCBzaXplXG4gICAqL1xuICAuY2FsZW5kYXItY2FsZW5kYXIgLnllYXItdmlldyB0ZCB7XG4gICAgd2lkdGg6IDMyJTtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLnllYXItdmlldyB0ZCB0YWJsZSB0ZCB7XG4gICAgd2lkdGg6IDEzJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgdHIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGggYSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIHtcbiAgICB3aWR0aDogMTQlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgY29sb3I6ICM1MjU4NWI7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBcbiAgLyoqXG4gICAqIHNpbXBsaWZ5IHRoZSBtaW5pIGNhbGVuZGFyIGJ5IHJlbW92aW5nIGJvcmRlcnNcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubWluaSB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gIFxuICAvKipcbiAgICogZm9ybWF0IGZvciB0aGUgd2VlayBudW1iZXIgaW4gdGhlIGZpcnN0IGNlbGxcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZC53ZWVrIHtcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAxJTtcbiAgIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIElFNiBkb2VzIG5vdCBzdXBwb3J0IG1pbi1oZWlnaHQsIHVzaW5nIE1pbi1IZWlnaHQgZmFzdCBoYWNrIGZyb20gaHR0cDovL3d3dy5kdXN0aW5kaWF6LmNvbS9taW4taGVpZ2h0LWZhc3QtaGFja1xuICAgKi9cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5pbm5lciB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA1ZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5pbm5lciBkaXYge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC8qKlxuICAgKiBNYWtlIHN1cmUgcGFyYWdyYXBocyBidXJpZWQgaW4gY2FsZW5kYXIgY2VsbHMgdXNlIHBhZGRpbmcsIG5vdCBtYXJnaW5zLCBmb3Igc2VwYXJhdGlvbiBzbyB0aGUgYmFja2dyb3VuZCBjb2xvciBkb2Vzbid0IGNvbWUgdGhyb3VnaC5cbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuaW5uZXIgcCB7XG4gICAgcGFkZGluZzogMCAwIC44ZW0gMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQueWVhcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLm1vbnRoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBmb3JtYXQgZGF5cyBvZiB0aGUgd2VlayBoZWFkZXIgY2VsbHNcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0aC5kYXlzIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgfVxuICBcbiAgLyoqXG4gICAqIGZsb2F0aW5nIGRheSBudW1iZXIgZGl2XG4gICAqL1xuICAuY2FsZW5kYXItY2FsZW5kYXIgZGl2LmRheSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4IDAuMjVlbSAxNXB4IDAuMjVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAxcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgLy8gd2lkdGg6IDEuNWVtO1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICB9XG4gIFxuICAvKipcbiAgICogaW5kaXZpZHVhbCBub2RlIGNvbnRhaW5lclxuICAgKi9cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIGRpdi5jYWxlbmRhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZGRkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwIC4yNWVtIC4yNWVtIDA7XG4gICAgd2lkdGg6IDk2JTtcbiAgICBmbG9hdDogcmlnaHQ7IC8qIG5lZWRlZCB0byBrZWVwIElFIGZyb20gaGlkaW5nIHRoZSBmbG9hdGluZyBkYXkgbnVtYmVyICovXG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLyoqXG4gICAqIE5vIGZsb2F0aW5nIG9mIGRheSB2aWV3IGNvbnRlbnQgYmVjYXVzZSB0aGVyZSBpcyBubyBmbG9hdGluZyBkYXkgbnVtYmVyXG4gICAqL1xuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IGRpdi5jYWxlbmRhciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDk4JTtcbiAgICBtYXJnaW46IDElIDElIDAgMSU7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciBkaXYudGl0bGUge1xuICAgIGZvbnQtc2l6ZTouOGVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIGRpdi50aXRsZSBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgZGl2LnRpdGxlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjYzAwO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciAuY29udGVudCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG4gIC5jYWxlbmRhciBkaXYuZm9ybS1pdGVtIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG4gIFxuICB0YWJsZSB0ZC5taW5pLFxuICB0YWJsZSB0aC5taW5pLFxuICB0YWJsZS5taW5pIHRkLndlZWsge1xuICAgIHBhZGRpbmc6IDAgMXB4IDAgMDtcbiAgICBtYXJnaW46IDA7XG4gICAgfVxuICB0YWJsZSB0ZC5taW5pIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5taW5pLWRheS1vZmYge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1pbmktZGF5LW9uIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gIH1cbiAgdGFibGUgLm1pbmktZGF5LW9uIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciAubWluaSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgfVxuICAubWluaSAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWsge1xuICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgfVxuICAubWluaS1yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuICAubWluaXtcbiAgICB3aWR0aDogMzIlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBmb3JtYXR0aW5nIGZvciB0aGUgbGVnZW5kIHN0cmlwZSBhbmQgYmxvY2tcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuc3RyaXBlIHtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmb250LXNpemU6MXB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6MXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuc3RyaXBlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICB0YWJsZS5jYWxlbmRhci1sZWdlbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgdGFibGUuY2FsZW5kYXItbGVnZW5kIHRyLm9kZCAuc3RyaXBlLFxuICB0YWJsZS5jYWxlbmRhci1sZWdlbmQgdHIuZXZlbiAuc3RyaXBlIHtcbiAgICBoZWlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDlweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNhbGVuZGFyLWxlZ2VuZCB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWVtcHR5IHtcbiAgICBmb250LXNpemU6IDFweDtcbiAgICBsaW5lLWhlaWdodDogMXB4O1xuICB9XG4gIFxuICAvKipcbiAgICogZm9ybWF0dGluZyBmb3IgdGhlIGZ1bGwgZGF5IHZpZXdcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZC5jYWxlbmRhci1hZ2VuZGEtaG91ciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgIHBhZGRpbmctdG9wOiAuMjVlbTtcbiAgICB3aWR0aDogMSU7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLmNhbGVuZGFyLWFnZW5kYS1uby1ob3VycyB7XG4gICAgbWluLXdpZHRoOiAxJTtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQuY2FsZW5kYXItYWdlbmRhLWhvdXIgLmNhbGVuZGFyLWhvdXIge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLmNhbGVuZGFyLWFnZW5kYS1ob3VyIC5jYWxlbmRhci1hbXBtIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQuY2FsZW5kYXItYWdlbmRhLWl0ZW1zIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLmNhbGVuZGFyLWFnZW5kYS1pdGVtcyBkaXYuY2FsZW5kYXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IC4yNWVtO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgZGl2LmNhbGVuZGFyIGRpdi5pbm5lciAuY2FsZW5kYXItYWdlbmRhLWVtcHR5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG4gIFxuICAvKipcbiAgICogdGhlIHBvcHVwIGRhdGUgc2VsZWN0b3IgZm9yIGp1bXBpbmcgdG8gYSBuZXcgZGF0ZVxuICAgKi9cbiAgLmNhbGVuZGFyLWRhdGUtc2VsZWN0IGZvcm0ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jYWxlbmRhci1kYXRlLXNlbGVjdCBkaXYsXG4gIC5jYWxlbmRhci1kYXRlLXNlbGVjdCBpbnB1dCxcbiAgLmNhbGVuZGFyLWRhdGUtc2VsZWN0IGxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmNhbGVuZGFyLWRhdGUtc2VsZWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5jYWxlbmRhci1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciBkaXYuZGF0ZS1uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgY29sb3I6ICM1MjU4NWI7XG4gICAgcGFkZGluZzogMC4yZW07XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgZGl2LmRhdGUtbmF2IGEsXG4gIC5jYWxlbmRhci1jYWxlbmRhciBkaXYuZGF0ZS1uYXYgaDMge1xuICAgIGNvbG9yOiAjNTI1ODViO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGguZGF5cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM1MjU4NWI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLmVtcHR5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIHJnYmEoJGNvbG9yOiAjNTI1ODViLCAkYWxwaGE6IDAuMik7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRhYmxlLm1pbmkgdGQuZW1wdHkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCBkaXYuZGF5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIGRpdixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIC5pbm5lciBkaXYgYSB7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIFNldCBzbWFsbCBmb250IHNpemUgZm9yIGFsbCBpdGVtcyBpbiBjYWxlbmRhciBkaXYsIHRoZW1lcyBjYW4gb3ZlcnJpZGUgdGhpcy5cbiAgICogVXNlIHgtc21hbGwgaW5zdGVhZCBvZiBlbSB0byBhdm9pZCBtdWx0aXBseWluZyBlZmZlY3QgaW4gbmVzdGVkIGl0ZW1zLlxuICAgKi9cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIGRpdi5jYWxlbmRhciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogeC1zbWFsbDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIGRpdi5jYWxlbmRhciBkaXYsXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdiBhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIGRpdi5jYWxlbmRhciBkaXYuY2FsZW5kYXItbW9yZSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIgZGl2LmNhbGVuZGFyLW1vcmUgYSB7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIC52aWV3LWZpZWxkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIC52aWV3LWZpZWxkIGEge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCBzcGFuLmRhdGUtZGlzcGxheS1zaW5nbGUsXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCBzcGFuLmRhdGUtZGlzcGxheS1zdGFydCxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIHNwYW4uZGF0ZS1kaXNwbGF5LWVuZCxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIHNwYW4uZGF0ZS1kaXNwbGF5LXNlcGFyYXRvciB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIGRpdi5kYXkgYSB7XG4gICAgY29sb3I6ICM1MjU4NWI7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdHIgdGQudG9kYXksXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ci5vZGQgdGQudG9kYXksXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ci5ldmVuIHRkLnRvZGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNENkU0O1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdiBkaXYudmlldy1kYXRhLW5vZGUtZGF0YS1maWVsZC1kYXRlLWZpZWxkLWRhdGUtdmFsdWUge1xuICB9XG4gIFxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBhcmUgbm90IHVzZWQgYnkgZGVmYXVsdCBidXQgYXJlIGF2YWlsYWJsZSBmb3IgdGhlbWVzXG4gICAqL1xuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQucGFzdCB7fVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQuZnV0dXJlIHt9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZC5oYXMtZXZlbnRzIHt9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZC5oYXMtbm8tZXZlbnRzIHt9XG4gIFxuICAvKipcbiAgICogTXVsdGkgZGF5IHN0eWxlc1xuICAgKi9cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgLmlubmVyLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCAubXVsdGktZGF5IC5pbm5lciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIC5jYWxlbmRhci1hZ2VuZGEtaG91clxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgLnNpbmdsZS1kYXkgLmlubmVyIC52aWV3LWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCAuY2FsZW5kYXItYWdlbmRhLWhvdXIsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZGF5LXZpZXcgLmZ1bGwgLmNhbGVuZGFyLWFnZW5kYS1ob3VyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIC5jYWxlbmRhci1hZ2VuZGEtaG91ciB7XG4gICAgd2lkdGg6IDYlO1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCAuZGF5cyB7XG4gICAgd2lkdGg6IDEzJTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIGRpdi5jYWxlbmRhcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgZGl2LmNhbGVuZGFyLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IGRpdi5jYWxlbmRhciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ci5kYXRlLWJveCxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyLmRhdGUtYm94IHRkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIubXVsdGktZGF5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIubXVsdGktZGF5IHRkIHtcbiAgICBoZWlnaHQ6IDE5cHg7XG4gICAgbWF4LWhlaWdodDogMTlweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyLnNpbmdsZS1kYXkgLm5vLWVudHJ5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIuc2luZ2xlLWRheSAubm8tZW50cnkgLmlubmVyIHtcbiAgICBoZWlnaHQ6IDQ0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyLnNpbmdsZS1kYXkgLm5vZW50cnktbXVsdGktZGF5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIuc2luZ2xlLWRheSAubm9lbnRyeS1tdWx0aS1kYXkgLmlubmVyIHtcbiAgICBoZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZCxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogMXB4IDJweCAwIDJweFxuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuZGF0ZS1ib3gge1xuICAgIGhlaWdodDogMSU7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCAud2VlayB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgLndlZWsgYSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgLndlZWsgYSB7XG4gICAgY29sb3I6ICM0Yjg1YWM7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmRheSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuZGF5IGEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLmRhdGUtYm94IC5pbm5lcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQuZGF0ZS1ib3ggLmlubmVyIHtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkge1xuICAgIGJvcmRlci10b3A6IDBweDtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIC5maXJzdCB0ZC5tdWx0aS1kYXkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSB7XG4gICAgYm9yZGVyLXRvcDogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIHtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLm11bHRpLWRheS5uby1lbnRyeSB7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSAuY2FsZW5kYXItZW1wdHksXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5zaW5nbGUtZGF5LmVtcHR5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuZGF0ZS1ib3guZW1wdHkgLFxuICB0ZHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSAuaW5uZXIgZGl2LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSAuaW5uZXIgZGl2IGEgLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciBkaXYsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIGRpdiBhICxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIubW9udGh2aWV3IGRpdixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIubW9udGh2aWV3IGRpdiBhLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5zaW5nbGUtZGF5IC5pbm5lciBkaXYsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLnNpbmdsZS1kYXkgLmlubmVyIGRpdiBhICxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciBkaXYsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgZGl2IGEgLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyLndlZWt2aWV3IGRpdixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQgLmlubmVyIGRpdi5jYWxlbmRhci53ZWVrdmlldyBkaXYgYSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LnZpZXctaXRlbSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdiBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIgZGl2LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIgZGl2IGEge1xuICAgIG1hcmdpbjogMHB4IDNweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdi5zdHJpcGUge1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIgdGQudG9kYXksXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ci5vZGQgdGQudG9kYXksXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ci5ldmVuIHRkLnRvZGF5IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzdDN0YxMjtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjN0M3RjEyO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuZGF0ZS1ib3gudG9kYXkge1xuICAgIGJvcmRlci13aWR0aDogMnB4IDJweCAwcHggMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjN0M3RjEyO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIgdGQuc2luZ2xlLWRheS50b2RheSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3QzdGMTI7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ciB0ZC5tdWx0aS1kYXkuc3RhcnRzLXRvZGF5IHtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICM3QzdGMTI7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ciB0ZC5tdWx0aS1kYXkuZW5kcy10b2RheSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzdDN0YxMjtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyIHRkLm11bHRpLWRheSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyIHRkLnNpbmdsZS1kYXkge1xuICAgIGJvcmRlci10b3A6IDBweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyIHRkLm11bHRpLWRheSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyIHRkLmRhdGUtYm94IHtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCAuaW5uZXIgLm1vbnRodmlldyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgLmlubmVyIC53ZWVrdmlldyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCAuaW5uZXIgLmRheXZpZXcge1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IC4yNWVtIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSBkaXYubW9udGh2aWV3LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5zaW5nbGUtZGF5IGRpdi53ZWVrdmlldyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZC5zaW5nbGUtZGF5IGRpdi5kYXl2aWV3IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiA1cHggMTJweCA1cHggMjVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLnNpbmdsZS1kYXkgLmNhbGVuZGFyLW1vcmUgZGl2Lm1vbnRodmlldyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyB0ZCBkaXYuZGF5dmlldyB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IGRpdi5tb250aHZpZXcsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSBkaXYud2Vla3ZpZXcsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZGF5LXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IGRpdi5kYXl2aWV3IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzRhNWQ3O1xuICAgIGhlaWdodDogMS45ZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IGRpdi53ZWVrdmlldyB7XG4gICAgaGVpZ2h0OiAzLjVlbTtcbiAgfVxuXG4gIC5jYWxlbmRhci1jYWxlbmRhciBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIGxpIC50ZXh0IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDdweDtcbiAgICBjb2xvcjogJGRhbmdlcjtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLnZpZXctZmllbGQsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIC52aWV3LWZpZWxkIGEsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLnZpZXctZmllbGQsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLnZpZXctZmllbGQgYSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIC52aWV3LWZpZWxkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLnZpZXctZmllbGQgYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZnVsbCB0ZC5tdWx0aS1kYXkgLmNhbGVuZGFyIC52aWV3LWZpZWxkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmZ1bGwgdGQuc2luZ2xlLWRheSAuY2FsZW5kYXIgLnZpZXctZmllbGQge1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkLm11bHRpLWRheSBkaXYuZGF5dmlldyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IGRpdi53ZWVrdmlldyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5jYWxlbmRhci5tb250aHZpZXcgLnZpZXctZmllbGQge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuY2FsZW5kYXIud2Vla3ZpZXcgLnZpZXctZmllbGQge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuY2FsZW5kYXIud2Vla3ZpZXcgLnZpZXctZmllbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5jYWxlbmRhci5tb250aHZpZXcgLmNvbnRlbnRzLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmNhbGVuZGFyLndlZWt2aWV3IC5jb250ZW50cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzMDAwcHg7XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IHRkIC5zdHJpcGUsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZCAuc3RyaXBlLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZCAuc3RyaXBlIHtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweCA1cHggMHB4IDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDBweCAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHRvcDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZnVsbCB0ZC5zaW5nbGUtZGF5IC5jb250aW51YXRpb24sXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZnVsbCB0ZC5zaW5nbGUtZGF5IC5jb250aW51ZXMsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZnVsbCB0ZC5zaW5nbGUtZGF5IC5jdXRvZmYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgIC5pbm5lciAubW9udGh2aWV3IC5jb250aW51YXRpb24sXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAgLmlubmVyIC53ZWVrdmlldyAuY29udGludWF0aW9uIHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIGhlaWdodDogMS45ZW07XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAgLmlubmVyIC53ZWVrdmlldyAuY29udGludWF0aW9uIHtcbiAgICBoZWlnaHQ6IDIuNzVlbTtcbiAgICBwYWRkaW5nLXRvcDogMC43NWVtO1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAubW9udGh2aWV3IC5jb250aW51ZXMsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIC5tb250aHZpZXcgLmN1dG9mZixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAud2Vla3ZpZXcgLmNvbnRpbnVlcyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAud2Vla3ZpZXcgLmN1dG9mZiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICByaWdodDogLTFweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICM3NGE1ZDc7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHggNXB4IDVweCAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDVweCA1cHggMHB4O1xuICAgIGhlaWdodDogMS45ZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAud2Vla3ZpZXcgLmNvbnRpbnVlcyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAud2Vla3ZpZXcgLmN1dG9mZiB7XG4gICAgaGVpZ2h0OiAyLjc1ZW07XG4gICAgcGFkZGluZy10b3A6IDAuNzVlbTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLm1vbnRodmlldyAuY3V0b2ZmLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIC53ZWVrdmlldyAuY3V0b2ZmIHtcbiAgICB3aWR0aDogOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgdGQuc2luZ2xlLWRheSBkaXYuY2FsZW5kYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdHIubGFzdCB0ZC5tdWx0aS1kYXkge1xuICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNDQ0NDQ0M7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBSZXN0eWxlIEhlYWRlclxuICAgKi9cbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmNsZWFyLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIFxuICAudmlldyAuZGF0ZS1uYXYtd3JhcHBlciAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBtYXJnaW4tdG9wOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUyNTg1YjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgfVxuICBcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDBweDtcbiAgICAvLyBoZWlnaHQ6IDMwcHg7XG4gICAgLy8gaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDdweCAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAudmlldyAucGFnZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgXG4gIC52aWV3IC5kYXRlLW5hdi13cmFwcGVyIC5kYXRlLXByZXYgYSxcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtbmV4dCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG4gIFxuICAudmlldyAuZGF0ZS1uYXYtd3JhcHBlci5kYXRlLW5hdiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtcHJldiB7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICAvLyBwYWRkaW5nOiA1cHggMDtcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDgwcHg7XG4gICAgbGVmdDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB0b3A6IDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgfVxuICB9XG4gIFxuICAuYmxvY2stdmlld3MgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtcHJldiB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICBcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtcHJldiBhIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWFnZXMvYXJyb3ctcHJldi5zdmcnKTtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIH0gXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICB9XG4gIFxuICAudmlldyAuZGF0ZS1uYXYtd3JhcHBlciAuZGF0ZS1oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbiAgXG4gIC52aWV3IC5kYXRlLW5hdi13cmFwcGVyIC5kYXRlLWhlYWRpbmcgaDMge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB9XG5cbiAgfVxuICBcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtbmV4dCB7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHggNXB4IDVweCAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDVweCA1cHggMHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZsb2F0OiBub25lO1xuICAgIC8vIHBhZGRpbmc6IDVweCAwO1xuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHRvcDogMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1hcmdpbjogMCA1cHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICB9XG4gIH1cbiAgXG4gIC52aWV3IC5kYXRlLW5hdi13cmFwcGVyIC5kYXRlLW5leHQgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ltYWdlcy9hcnJvdy1uZXh0LnN2ZycpO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgfSBcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gIH1cbiAgXG4gIC5hdHRhY2htZW50IC5jYWxlbmRhci1jYWxlbmRhciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRoIGEsXG4gIC5hdHRhY2htZW50IC5jYWxlbmRhci1jYWxlbmRhciB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwcHg7XG4gIH1cbiAgXG4gIC5hdHRhY2htZW50IC5jYWxlbmRhci1jYWxlbmRhciB0aC5jYWxlbmRhci1hZ2VuZGEtaG91ciB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgXG4gIC52aWV3LWNhbGVuZGFyIC5mZWVkLWljb24ge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuICBcbiAgLnZpZXcgdGFibGUubWluaSAuZGF0ZS1wcmV2LFxuICAudmlldyB0YWJsZS5taW5pIC5kYXRlLW5leHQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgXG4gIC5kYXRlLW5hdiBkaXYuZGF0ZS1wcmV2LFxuICAuZGF0ZS1uYXYgZGl2LmRhdGUtbmV4dCxcbiAgLmRhdGUtbmF2IHtcbiAgICB3aWR0aDphdXRvO1xuICB9XG4gIFxuICB1bC5jYWxlbmRhci1saW5rcyxcbiAgLnJlZ2lvbi1jb250ZW50IHVsLmNhbGVuZGFyLWxpbmtzIHtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gIH1cbiAgXG4gIC55ZWFyLXZpZXcgZGl2Lm1vbnRoLXZpZXcgZGl2LmRhdGUtbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREZERkRGO1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIH1cbiAgXG5cblxuLnRhYnMtbXVsdGlkYXkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDI1cHggMDtcbiAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC50YWJzX190YWIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAudGFic19fdGFiLWxpbmsge1xuICAgICAgICBjb2xvcjogJGRhbmdlcjsgICAgICBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFic19fdGFiLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsZXR0ZXItc3BhY2luZzogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICRncmF5LTYwMDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNjMDBmMDg7XG4gICAgfVxuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgYnV0dG9uIGNvbXBvbmVudC5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucmUtYnRuIHtcblx0QGluY2x1ZGUgYW5pbWF0ZSAoY29sb3IpO1xuXHRAaW5jbHVkZSBidXR0b24tY29sb3IoJGJ0bi1iYWNrZ3JvdW5kLCAkYnRuLWNvbG9yLCAkYnRuLWJvcmRlcik7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGZvbnQtc2l6ZTogJGJ0bi1mb250LXNpemU7XG5cdGxpbmUtaGVpZ2h0OiAkYnRuLWxpbmUtaGVpZ2h0O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAkYnRuLXBhZGRpbmc7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdHBhZGRpbmc6IDIxcHggMjRweCAxOXB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDJweDtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI2cHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbi1sZycpIHtcblx0XHRsZXR0ZXItc3BhY2luZzogNC43cHg7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJGJ0bi1jb2xvcjtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlICh3aWR0aCk7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0fVxuXG5cdCYtZGVmYXVsdCB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRidG4tYmFja2dyb3VuZCwgJGJ0bi1jb2xvciwgJGJ0bi1ib3JkZXIpO1xuXHR9XG5cblx0Ji1kYW5nZXIge1xuXHRcdEBpbmNsdWRlIGJ1dHRvbi1jb2xvcigkYnRuLWJhY2tncm91bmQtZGFuZ2VyLCAkYnRuLWNvbG9yLWRhbmdlciwgJGJ0bi1ib3JkZXItZGFuZ2VyKTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRidG4taG92ZXItY29sb3ItZGFuZ2VyO1xuXHRcdH1cblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdH1cblxuXHQmLW91dGxpbmUtbGlnaHQge1xuXHRcdEBpbmNsdWRlIGJ1dHRvbi1jb2xvcigkYnRuLWJhY2tncm91bmQtb3V0bGluZS1saWdodCwgJGJ0bi1jb2xvci1vdXRsaW5lLWxpZ2h0LCAkYnRuLWJvcmRlci1vdXRsaW5lLWxpZ2h0KTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRidG4taG92ZXItY29sb3Itb3V0bGluZS1saWdodDtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG5cblx0Ji1zbSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuXHRcdHBhZGRpbmc6IDRweCAxMHB4O1xuXHR9XG59XG5cbi5idG4tZ3JvdXAge1xuXHRtYXJnaW46IDAgLTVweCAtMTBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXG5cdC5idG4ge1xuXHRcdG1hcmdpbjogMCA1cHggMTBweDtcblx0fVxufSIsIlxuLnN3aXBlciB7XG5cdC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAjZTEyNzI2O1xuXHQtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aDogMThweDtcblx0LS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaGVpZ2h0OiAxOHB4O1xuXHQtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvcjogI2ZmZjtcblx0LS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eTogMTtcblx0LS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtdmVydGljYWwtZ2FwOiAyNXB4O1xuXHQtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xuXHQtLXN3aXBlci1zY3JvbGxiYXItc2l6ZTogN3B4O1xuXHQtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1czogMDtcblx0LS1zd2lwZXItc2Nyb2xsYmFyLWJnLWNvbG9yOiAjNTI1ODViO1xuXHQtLXN3aXBlci1zY3JvbGxiYXItZHJhZy1iZy1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG5cdEBpbmNsdWRlIGFuaW1hdGUgKHRyYW5zZm9ybSk7XG5cdGJveC1zaGFkb3c6IDAgMCAycHggJGJsYWNrO1xuXG5cdCY6bm90KC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlKTpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHR9XG59XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWJ1dHRvbi1wcmV2IHtcblx0QGluY2x1ZGUgYW5pbWF0ZSAoY29sb3IpO1xuXHR3aWR0aDogYXV0bztcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXJnaW46IDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRsZXR0ZXItc3BhY2luZzogNHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiA1cHg7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJGdyYXktNjAwO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdHN2ZyB7XG5cdFx0d2lkdGg6IDMwcHg7XG5cdFx0ZmlsbDogY3VycmVudENvbG9yO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHR3aWR0aDogNDRweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdHdpZHRoOiA1NXB4O1xuXHRcdH1cblx0fVxufVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcblx0c3ZnIHtcblx0XHRtYXJnaW46IDAgMCAwIDE3cHg7XG5cdH1cbn1cblxuLnN3aXBlci1idXR0b24tcHJldiB7XG5cdHN2ZyB7XG5cdFx0bWFyZ2luOiAwIDE3cHggMCAwO1xuXHR9XG59XG5cbi5zd2lwZXItaGVybyB7XG5cdGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApKTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDQ4MHB4O1xuXG5cdCYuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsXG5cdC5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcblx0XHRtYXgtd2lkdGg6IDE1NjBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRyaWdodDogYXV0bztcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0cGFkZGluZzogMTAwcHggMTVweCAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdHotaW5kZXg6IDEwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMTYwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMjAwcHg7XG5cdFx0fVxuXG5cdFx0PiAqIHtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdH1cblx0fVxufVxuXG4uc3dpcGVyLWV2ZW50IHtcblx0Ji5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyLFxuXHQuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWwge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQuc3dpcGVyLXdyYXBwZXIge1xuXHRcdG1hcmdpbjogMCAwIDMwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQ0cHg7XG5cdFx0fVxuXHR9XG5cblx0LnN3aXBlci1idXR0b24td3JhcCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0bWFyZ2luOiAwIDAgMTVweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjJweDtcblx0XHR9XG5cdH1cblxuXHQuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuXHQuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHR9XG59XG5cbi5wYWdpbmctZ2FsbGVyeSB7XG5cdC5jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogMTU2MHB4O1xuXHR9XG59XG5cbi5zd2lwZXItZGlyZWN0aW9uLXBhZ2luZy13cmFwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJlaWdlO1xuXHRtYXJnaW46IDAgMCAzMHB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdG1hcmdpbi1ib3R0b206IDc3cHg7XG5cdH1cblxuXHQuY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6IDE1NzBweDtcblx0fVxufVxuXG4uc3dpcGVyLWRpcmVjdGlvbi1wYWdpbmcge1xuXHQmLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIsXG5cdC5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XG5cdFx0Ym90dG9tOiAwO1xuXHR9XG5cblx0LnN3aXBlci13cmFwcGVyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cblxuXHQuc3dpcGVyLXNsaWRlIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRwYWRkaW5nOiAyMHB4IDVweCAxN3B4O1xuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSAge1xuXHRcdFx0cGFkZGluZzogMzBweCA1cHggMjdweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRwYWRkaW5nOiA0M3B4IDVweCAzN3B4O1xuXHRcdH1cblx0fVxuXG5cdC5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIHtcblx0XHRjb2xvcjogJGRhbmdlcjtcblxuXHRcdC5idWxsZXQge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5idWxsZXQge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUgKGNvbG9yKTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xZW07XG5cdFx0Y29sb3I6ICRncmF5LTYwMDtcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0Zm9udC1zaXplOiAyOHB4O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0QGluY2x1ZGUgYW5pbWF0ZSAob3BhY2l0eSB2aXNpYmlsaXR5KTtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dG9wOiBjYWxjKDEwMCUgKyA3cHgpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdGJvcmRlcjoge1xuXHRcdFx0XHRzdHlsZTogc29saWQ7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGUgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdHdpZHRoOiAwIDIwcHggMjBweDtcblx0XHRcdH07XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHR0b3A6IGNhbGMoMTAwJSArIDE4cHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc3dpcGVyLWRpcmVjdGlvbiB7XG5cblx0Ji5uYXYtY3VzdG9tZS1wb3NpdGlvbiB7XG5cdFx0LnN3aXBlci13cmFwcGVyICB7XG5cdFx0XHRwYWRkaW5nOiAwIDAgODBweDtcblx0XHR9XG5cdH1cblx0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuXHQuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcblx0XHRib3R0b206IDMycHg7XG5cdFx0dG9wOiBhdXRvO1xuXHR9XG5cblx0LnN3aXBlci1idXR0b24tbmV4dCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG5cblx0LnN3aXBlci1idXR0b24tcHJldiB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdH1cblx0fVxufVxuIiwiLnN3aXBlci1jYXJkLWhlcm8ge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQuY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6IDE0NDBweDtcblx0fVxuXG5cdC5zd2lwZXItaGVyby1pbWcsXG5cdC5zd2lwZXItaGVyby12aWRlbyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHR6LWluZGV4OiAtMTtcblxuXHRcdHZpZGVvLFxuXHRcdGltZyB7XG5cdFx0XHRAaW5jbHVkZSBpbWctc2NhbGU7XG5cdFx0fVxuXHR9XG59XG5cbi5zd2lwZXItaGVyby1ib2R5IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDMwcHg7XG5cdGxlZnQ6IDA7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHdpZHRoOiAxMDAlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtc2hhZG93OiAwIDAgMnB4ICRibGFjaztcblx0cGFkZGluZzogMTAwcHggMCAzMHB4O1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdHBhZGRpbmctdG9wOiAxNjBweDtcblx0XHRmb250LXNpemU6IDMxcHg7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdGJvdHRvbTogYXV0bztcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdHBhZGRpbmctdG9wOiAyNDBweDtcblx0XHRmb250LXNpemU6IDM4cHg7XG5cdH1cblxuXHQuYm9keS13cmFwIHtcblx0XHRtYXgtd2lkdGg6IDU1MHB4O1xuXHRcdHBhZGRpbmc6IDAgMzBweDtcblxuXHRcdD4gKiB7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHR9XG5cdH1cblxuXHRoMSB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdG1hcmdpbjogMCAwIDEzcHg7XG5cdFx0Zm9udC1zaXplOiAzNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRmb250LXNpemU6IDU0cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRmb250LXNpemU6IDY4cHg7XG5cdFx0fVxuXHR9XG5cblx0LnRleHQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMCAwIDMzcHg7XG5cdH1cblxuXHQucmUtYnRuIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtc2hhZG93OiBub25lO1xuXHRcdH1cblx0fVxufSIsIi5zZWN0aW9uLWV2ZW50IHtcblx0cGFkZGluZzogMzBweCAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0cGFkZGluZzogNTBweCAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0cGFkZGluZzogNjhweCAwO1xuXHR9XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiAxNTYwcHg7XG5cdH1cblxuXHQmLmN1c3RvbWUge1xuXHRcdHBhZGRpbmc6IDMwcHggMCAxMHB4O1xuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRwYWRkaW5nOiA1MHB4IDAgMTBweDtcblx0XHR9XG5cdFxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0cGFkZGluZzogNjhweCAwIDEwcHg7XG5cdFx0fVxuXHR9XG5cblx0Ji5jdXN0b21lLXNwYXNlIHtcblx0XHRwYWRkaW5nOiAzMHB4IDAgMTBweDtcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0cGFkZGluZzogNTBweCAwIDEwcHg7XG5cdFx0fVxuXHRcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHBhZGRpbmc6IDY4cHggMCAxMHB4O1xuXHRcdH1cblx0fVxuXG5cdCYuY2FsZW5kYXIge1xuXHRcdGgxIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0aDEge1xuXHRcdGNvbG9yOiAkZGFuZ2VyO1xuXHRcdG1hcmdpbjogMCAwIDMwcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogNDhweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQ3cHg7XG5cdFx0XHRcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdGZvbnQtc2l6ZTogNjBweDtcblx0XHR9XG5cdH1cblxuXHQudGl0bGUtaG9sZGVyIHtcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGRhbmdlcjtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdC50aXRsZS1kZWNvciB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdH1cblxuXHRcdC5vcHRpb24taG9sZGVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0XHRtYXJnaW46IDAgMCAwIDE1cHg7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykgIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgMCAwIDM1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRcdGZpbGw6ICRkYW5nZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0XHRmaWxsOiAkZGFuZ2VyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuYmxvY2sge1xuXHRcdFx0XHRcdHdpZHRoOiA0NXB4O1xuXHRcdFx0XHRcdGhlaWdodDogMzBweDtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDYxcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5saXN0IHtcblx0XHRcdFx0XHR3aWR0aDogNTdweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiA3N3B4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0ZmlsbDogJGdyYXktNjAwO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IDAuM3M7XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50aXRsZS1kZWNvciB7XG5cdFx0cGFkZGluZzogMCAwIDEwcHg7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRkYW5nZXI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdH1cblx0fVxuXHRcblx0LmRlc2NyaXB0aW9uIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblx0XHRwYWRkaW5nOiAzMHB4IDAgMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgfSBcblxuXHRcdFxuXHR9XG59XG5cbi5jYXJkLWV2ZW50IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctdG9wOiA4MCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nLXRvcDogNzIlO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0LmNhcmQtZXZlbnQtYm9keSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYW5nZXIsIDAuOSk7XG5cdFx0fVxuXG5cdFx0LmNhcmQtZXZlbnQtaW1nIHtcblx0XHRcdGltZyB7XG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wMikgdHJhbnNsYXRlWSgtNXB4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmNhcmQtZXZlbnQtaW1nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IC0xO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdGltZyB7XG5cdFx0QGluY2x1ZGUgaW1nLXNjYWxlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjVzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcblx0fVxufVxuXG4uY2FyZC1ldmVudC1ib2R5IHtcblx0QGluY2x1ZGUgYW5pbWF0ZSAoYmFja2dyb3VuZC1jb2xvciwgMC44cyk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0cGFkZGluZzogMTVweCA2MHB4IDEwcHggMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZGFuZ2VyLCAwLjgpO1xuXHRjb2xvcjogJHdoaXRlO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdHBhZGRpbmc6IDMxcHggODhweCAyMnB4IDE1cHg7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0Zm9udC1zaXplOiAyN3B4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDExMXB4O1xuXHR9XG5cblx0aDIge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRmb250LXNpemU6IDI3cHg7XG5cdFx0fVxuXHR9XG5cblx0Lmljb24ge1xuXHRcdHdpZHRoOiAzMHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTBweDtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHdpZHRoOiAzNHB4O1xuXHRcdFx0cmlnaHQ6IDMxcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHR3aWR0aDogNDNweDtcblx0XHRcdHJpZ2h0OiAzOHB4O1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdFx0fVxuXHR9XG5cblxufVxuXG5cbi50YWJsZS1jYWxlbmRhciB7XG5cdCZfX2l0ZW0ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG5cdFx0LmRhdGUtaG9sZGVyIHtcblx0XHRcdHdpZHRoOiAxNTBweDtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNlOGU5ZWI7XG5cdFx0XHRjb2xvcjogIzUyNTg1YjtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdFx0d2lkdGg6IDMwMHB4O1xuXHRcdFx0fVxuXHRcdFx0aDMge1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDVweDtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRoNCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiA0NXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lmxpc3QtaG9sZGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjM7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0Lmxpc3Qge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRtYXJnaW46IDAgMCAyMHB4O1xuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHRcdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRpbWUge1xuXHRcdFx0XHRcdGNvbG9yOiAjNTI1ODViO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLm5hdmlnYXRpb24taXRlbXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luOiAgMCAwIC0xNXB4O1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmc6IDI1cHggMCAwO1xuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdG1hcmdpbjogIDAgMCAtMzBweDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRtYXJnaW46ICAwIDAgLTQ1cHg7XG5cdH1cblx0Lml0ZW0ge1xuXHRcdG1hcmdpbjogNXB4IDEwcHg7XG5cdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdGNvbG9yOiAjNTI1ODViO1xuXHRcdCYuaXRlbS1wcmV2LFxuXHRcdCYuaXRlbS1uZXh0IHtcblx0XHRcdG1hcmdpbjogMCAyMHB4O1xuXHRcdFx0YSB7XG5cdFx0XHRcdHdpZHRoOiA1NXB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHRzdmcge1xuXHRcdFx0XHRcdGZpbGw6ICM1MjU4NWI7XG5cdFx0XHRcdH1cblx0XHRcdH0gXG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogIzUyNTg1Yjtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRkYW5nZXI7XG5cblx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRmaWxsOiAkZGFuZ2VyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIuc2VjdGlvbi1kaXJlY3Rpb24ge1xuXHRwYWRkaW5nOiAwIDAgMzBweDtcbn1cblxuLmNhcmQtZGlyZWN0aW9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktMzAwO1xuXHRmb250LXNpemU6IDIxcHg7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjYzO1xuXHRjb2xvcjogJGJsYWNrO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0Zm9udC1zaXplOiAyNXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA0MnB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0Zm9udC1zaXplOiAzMnB4O1xuXHR9XG59XG5cbi5jYXJkLWRpcmVjdGlvbi1pbWcge1xuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG5cblx0aW1nIHtcblx0XHRAaW5jbHVkZSBpbWctc2NhbGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLmNhcmQtZGlyZWN0aW9uLWJvZHkge1xuXHRwYWRkaW5nOiA1MHB4IDE1cHggOTBweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdHBhZGRpbmctbGVmdDogNDVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0cGFkZGluZy1yaWdodDogNzdweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDc3cHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiA5N3B4O1xuXHRcdHBhZGRpbmctbGVmdDogOTdweDtcblx0fVxuXG5cdC50ZXh0IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgMCAzMHB4O1xuXHRcdC8vIG1heC13aWR0aDogNDAwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDUycHg7XG5cdFx0fVxuXHR9XG5cblx0aDEge1xuXHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdG1hcmdpbjogMCAwIDE1cHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogNjRweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI4cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRmb250LXNpemU6IDgwcHg7XG5cdFx0fVxuXHR9XG59XG4iLCIuc2VjdGlvbi1yZS1hYm91dCB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0bGluZS1oZWlnaHQ6IGNhbGMoNTIgLyAzMik7XG5cblx0Ji5iZy1ncmF5IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS02MDA7XG5cblx0XHRoMSB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0cGFkZGluZzogMCAwIDMwcHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0XHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRmb250LXNpemU6IDYwcHg7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRcdFx0fVxuXHRcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0XHRmb250LXNpemU6IDgwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0UCB7XG5cdFx0XHRiIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0Zm9udC1zaXplOiAyNXB4O1xuXHR9XG5cdFxuXHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRmb250LXNpemU6IDMycHg7XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cblxuXHQuY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6IDE1NjBweDtcblx0fVxuXG5cdC5yZS1idG4ge1xuXHRcdHdpZHRoOiAyNDVweDtcblx0fVxufVxuXG4ucmUtY29sdW1ucy1hYm91dCB7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdH1cblxuXHQucmUtY29sIHtcblx0XHRcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdH1cblx0XHRcblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0cGFkZGluZzogMjBweCAwIDQwcHg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDU1cHggMyUgNTVweCAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucmUtYWJvdXQtY29udGVudC1sZWZ0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxufVxuXG4ucmUtYWJvdXQtY29udGVudC1yaWdodCB7XG5cdG1hcmdpbjogMCAtMTVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktNjAwO1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoJ+KJpTU3OHB4Jykge1xuXHRcdG1hcmdpbjogMCAwIDAgLTE1cHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuXG4ucmUtYWJvdXQtbWVudSB7XG5cdHBhZGRpbmc6IDQwcHggMCAyMHB4O1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGxldHRlci1zcGFjaW5nOiAwLjJlbTtcblx0XG5cdEBpbmNsdWRlIG1lZGlhKCfiiaU1NzhweCcpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0d2lkdGg6IDU5LjclO1xuXHRcdHBhZGRpbmc6IDQycHggOS4zJSAyMHB4IDMlO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRwYWRkaW5nOiA0MnB4IDklIDIwcHggMyU7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cblx0bGkge1xuXHRcdG1hcmdpbjogMCAwIDIwcHg7XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdG1hcmdpbjogMCAwIDQwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1MXB4O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkZGFuZ2VyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucmUtYWJvdXQtdmlzdWFsLXdyYXAge1xuXHRmbGV4LWdyb3c6IDE7XG5cdG1pbi1oZWlnaHQ6IDMwMHB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaU1NzhweCcpIHtcblx0XHRtaW4taGVpZ2h0OiA0NDNweDtcblx0XHR3aWR0aDogNDAlO1xuXHR9XG59XG5cbi5yZS1hYm91dC12aXN1YWwge1xuXHRtYXJnaW46IDAgLTE1cHg7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0QGluY2x1ZGUgbWVkaWEoJ+KJpTU3OHB4Jykge1xuXHRcdG1hcmdpbjogMCAtMTVweCAwIDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlMTU2MHB4Jykge1xuXHRcdG1hcmdpbi1yaWdodDogLTc1cHg7XG5cdH1cblxuXHRpbWcge1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdG9iamVjdC1wb3NpdGlvbjogNTAlIDA7XG5cdH1cbn1cbiIsIi5zZWN0aW9uLWhlcm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tdmgsMXZoKSAqIDg1KTsgd2lkdGg6IDEwMCU7XG5cbiAgICAuYmctaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXgtd2lkdGg6IDE1NjBweDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNTBweCk7XG4gICAgICAgIFxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ3cHg7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDc1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmUtYnRuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGRhbmdlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2VjdGlvbi1hbGwtb3B0aW9uIHtcbiAgICBcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTM1cHg7XG4gICAgfVxuXG4gICAgaDEge1xuXHRcdGNvbG9yOiAkZGFuZ2VyO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRmb250LXNpemU6IDQ4cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAtOXB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0Zm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEycHg7XG5cdFx0fVxuXHR9XG5cbiAgICBcblxuICAgIC5iZy1ob2xkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmNGVlO1xuXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAyMHB4O1xuICAgIH1cblxuICAgIC5kZi1yb3cge1xuICAgICAgICBtYXJnaW46IDAgLTIwcHg7XG5cbiAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI3cHg7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLW9wdGlvbiB7XG5cbiAgICAgICAgLmNhcmQtb3B0aW9uLWltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0JykgIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgfSBcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZS1idG4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIxcHggMTZweCAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIuc2VjdGlvbi10YWJzLWZhcXMge1xuICAgIC5iZy10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlN2RkO1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUzNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTUzNXB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG5cdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0cGFkZGluZzogMCAwIDMwcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbjogMDtcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMzZweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0Zm9udC1zaXplOiA0NXB4O1xuXHRcdH1cblx0fVxuXG4gICAgLnRhYnMtaG9sZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfSAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgLy8gY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMTAwMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IC0xMDAwMHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbmdlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAvLyBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IC0xMDAwMHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZTdkZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFic2V0e1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMHB4O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEwMDAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgXG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0JykgIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDg4cHggMCA0NXB4O1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7IFxuICAgICAgICAgICAgICAgIGhlaWdodDogMDsgXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkICRkYW5nZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTlweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2Y1ZGJhNztcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmNWRiYTc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFiLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlN2RkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMjBweCAxNXB4IDIwcHggMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMzVweCA0MHB4IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDEwMHB4IDQwcHggODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAvLyBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlN2RkO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIC8vIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDA7IFxuICAgICAgICAgICAgaGVpZ2h0OiAwOyBcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTRweCBzb2xpZCAkZGFuZ2VyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICAgIHRvcDogN3B4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgICAgIH0gXG5cbiAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmpzLXRhYi1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogLTk5OTlweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogLTk5OTlweCAhaW1wb3J0YW50O1xufVxuIiwiLnNlY3Rpb24tYmlvIHtcbiAgICBwYWRkaW5nOiAwIDAgNzJweDtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTUwcHg7XG4gICAgfVxuXG4gICAgLmRmLXJvdyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuaW1nLWhvbGRlciB7XG4gICAgICAgIG1hcmdpbjogMCAwcHggMjBweCAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpICB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1M3B4O1xuICAgICAgICB9XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogJGRhbmdlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICB9IFxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMi41cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLXdyYXBwIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAwIDA7XG4gICAgfVxuXG4gICAgLnJlLWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDMycHg7XG4gICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRkYW5nZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59ICAgXG4iLCIuc2VjdGlvbi1pbnN0cnVjdG9ycyB7XG4gICAgcGFkZGluZzogMCAwIDcwcHg7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTU2MHB4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRmLXJvdyB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmLnJldmVyc2Uge1xuICAgICAgICAgICAgLmNvbCB7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICAgICAgICAuaW1nLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAkZGFuZ2VyLCAkYWxwaGE6IDAuNik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAkZ3JheS02MDAsICRhbHBoYTogMC42KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW1nLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogJGdyYXktNjAwLCAkYWxwaGE6IDAuNik7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogJGRhbmdlciwgJGFscGhhOiAwLjYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgLmltZy1ob2xkZXIge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAkZGFuZ2VyLCAkYWxwaGE6IDAuNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5pbWctaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltZy1ob2xkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICRncmF5LTYwMCwgJGFscGhhOiAwLjYpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */
