/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : Andri Samsuri
==============================================================================================*/
/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : FrontEnd Team  
==============================================================================================*/
/* import bourbon - http://bourbon.io/docs */
/* color global
----------------------------------------------------------------------------------------------*/
@media all and (max-width: 767px) {
  .after_clear, header .head-order .box-order, .body-payment header .right .box-total {
    content: "";
    clear: both;
    display: block;
  }
  .after_clear:after, header .head-order .box-order:after, .body-payment header .right .box-total:after, .wrapper:after, section:after {
    clear: both;
    display: block;
    content: " ";
  }
  .wrapper {
    width: auto;
    margin-left: 10px;
    margin-right: 10px;
  }
  .btn {
    height: 40px;
    line-height: 40px;
    font-size: 12px;
  }
  .btn.btn-line {
    height: 30px;
    line-height: 28px;
    font-size: 11px;
    border-width: 1px;
  }
  .btn.font-md {
    font-size: 12px;
  }
  .btn.btn-sm {
    height: 30px;
    line-height: 30px;
  }
  .btn-scroll {
    width: 12px;
    height: 20px;
    bottom: 20px;
  }
  .btn-scroll:before {
    height: 4px;
    top: 4px;
    width: 2px;
  }
  .btn-back {
    font-size: 11px;
  }
  .btn-back:before {
    width: 14px;
    height: 13px;
    background-size: 14px 13px;
    padding: 0 0 0 20px;
    background-position: 0 0;
  }
  .btn-back.space-bottom {
    padding: 0 0 0 20px;
  }
  .price-large {
    font-size: 18px;
  }
  h3 {
    font-size: 16px;
  }
  header {
    height: 44px;
  }
  header .wrapper {
    margin-left: 0;
    margin-right: 0;
  }
  header .burger-menu {
    width: 44px;
    height: 44px;
    margin: 0 10px 0 0;
  }
  header .burger-menu span {
    left: 13px;
  }
  header .burger-menu span:nth-child(1) {
    top: 15px;
  }
  header .burger-menu span:nth-child(2) {
    top: 21px;
  }
  header .burger-menu span:nth-child(3) {
    top: 27px;
  }
  header .logo {
    margin: 6px 0 0 0;
  }
  header .right {
    margin: 0 13px 0 0;
  }
  header .right #accordian .have-child h3 a:after, header .right #accordian2 .have-child h3 a:after {
    top: 10px;
  }
  header .right #accordian .cart-overview, header .right #accordian2 .cart-overview {
    top: unset;
    bottom: 45px;
    height: 89vh;
  }
  header .right #accordian .cart-overview .table-cart, header .right #accordian2 .cart-overview .table-cart {
    max-height: 99%;
  }
  header .box-search {
    display: none;
  }
  header .box-account {
    margin: 10px 0 0 0;
    height: 34px;
    padding: 0 5px;
  }
  header .box-cart {
    margin: 10px 0 0 0;
    height: 34px;
    padding: 0 0 0 5px;
  }
  header .box .sub-box .row .col.dc-left {
    padding-right: 15px;
  }
  header .box .sub-box .row .col .product-title {
    font-size: 12px;
  }
  header .box .sub-box .row .col .price {
    font-size: 13px;
  }
  header .box .sub-box.dropdown-cart {
    width: 290px;
  }
  header .box .sub-box.dropdown-cart .row.total .col.dc-right {
    overflow: hidden;
    height: 30px;
  }
  header .head-order {
    width: 100%;
  }
  header .head-order .back span:first-child {
    height: 45px;
    width: 45px;
  }
  header .head-order .box-order {
    left: 65px;
    margin-top: -10px;
    width: 90%;
    top: 7px;
  }
  header .head-order .box-order h5, header .head-order .box-order h4 {
    line-height: 15px;
  }
  header .head-order .box-order h4 {
    float: right;
    text-align: right;
    padding-right: 40px;
    width: 60%;
    box-sizing: border-box;
  }
  header .head-order .box-order h5 {
    float: left;
    width: 40%;
  }
  header .head-order .box-order h3 {
    margin-top: -10px;
    font-size: 18px;
  }
  .nav-mobile {
    width: 100%;
  }
  .nav-mobile .mob-inner {
    width: 320px;
    overflow-y: auto;
  }
  .nav-mobile .mob-inner .head .logo {
    margin-left: 20px;
  }
  .nav-mobile .mob-inner .head .btn-close {
    right: 10px;
  }
  .nav-mobile .mob-inner .search-mobile {
    display: block;
  }
  .nav-mobile .mob-inner .search-mobile input[type="text"] {
    padding: 20px 50px 20px 20px;
  }
  .nav-mobile .mob-inner .menu ul li a {
    padding: 20px 20px;
  }
  .nav-mobile .mob-inner .lang-mob {
    margin-left: 15px;
    padding-bottom: 20px;
  }
  .aside {
    width: 320px;
  }
  .body-payment header .right {
    top: unset;
    right: 0;
    position: fixed;
    bottom: 0;
    height: 45px;
    background: #1fb25a;
    width: 100%;
    margin: 0;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .body-payment header .right .box-total {
    padding: 0;
    text-align: right;
  }
  .body-payment header .right .box-total .txt-total {
    display: block;
    padding: 0;
    font-size: 10px;
    float: left;
    padding-top: 10px;
  }
  .body-payment header .right .box-total .price-large {
    display: block;
    padding: 0;
    font-size: 12px;
    float: right;
    line-height: unset;
    padding-top: 5px;
  }
  .selectbox select {
    font-size: 11px;
  }
  .selectbox.v2 {
    height: 30px;
    line-height: 30px;
  }
  .selectbox.v2 select {
    padding-left: 8px;
    padding-right: 15px;
    font-size: 12px;
  }
  .selectbox.v2:after {
    right: 5px;
  }
  .homeslider {
    height: 100vh;
  }
  .homeslider .parallax_box {
    height: 100%;
  }
  .homeslider .caption .wrapper {
    width: auto;
    padding: 40px 0 0 0;
    display: block;
  }
  .homeslider .caption .title-small {
    /*&:before {
                    width:30px; height: 36px;
                }*/
  }
  .homeslider figure {
    height: 100%;
    padding: 0;
  }
  .homeslider .slick-slider .slick-track div, .homeslider .slick-slider .slick-list div {
    height: 100%;
  }
  .homeslider .slick-slider .slick-track div div, .homeslider .slick-slider .slick-list div div {
    height: 100%;
  }
  .homeslider .slick-slider .slick-track div div .wrapper, .homeslider .slick-slider .slick-list div div .wrapper {
    height: 100%;
    display: table;
    width: 100%;
    margin: -40px 0 0 0;
    padding: 40px 0 0 0;
  }
  .homeslider .slick-slider .slick-track div div .tagline, .homeslider .slick-slider .slick-list div div .tagline {
    height: auto;
  }
  .homeslider .slick-slider .slick-track div div .tagline .icon-logo, .homeslider .slick-slider .slick-list div div .tagline .icon-logo {
    height: auto;
  }
  .homeslider .slick-slider .slick-track div div .tagline .title-small, .homeslider .slick-slider .slick-list div div .tagline .title-small {
    font-size: 13px;
    line-height: 16px;
    height: auto;
    margin: 0 0 0 0;
  }
  .homeslider .slick-slider .slick-track div div .tagline .title-large, .homeslider .slick-slider .slick-list div div .tagline .title-large {
    font-size: 36px;
    line-height: 40px;
    height: auto;
    margin-bottom: 25px;
  }
  .homeslider .slick-slider .slick-track div div .tagline .descrip, .homeslider .slick-slider .slick-list div div .tagline .descrip {
    display: none;
  }
  .banner-page {
    margin-bottom: 15px;
  }
  .banner-page figure {
    height: auto;
  }
  .banner-page .caption .wrapper {
    width: 100%;
    margin: 0;
  }
  .banner-page .caption .tagline {
    padding: 0 20px;
  }
  .banner-page .caption .title-small {
    font-size: 11px;
    margin: 0 0 0 0;
  }
  .banner-page .caption .title-large {
    font-size: 36px;
  }
  .banner-large-home {
    height: 100vh;
  }
  .banner-large-home .caption .tagline {
    font-size: 18px;
    line-height: 22px;
    width: 220px;
    padding: 0 0 0 0;
  }
  .banner-large-home figure {
    height: 100vh;
  }
  .row-category {
    padding: 20px 0 10px 0;
  }
  .row-category .row .col {
    margin: 0 0 10px 0;
  }
  .row-category .row .col a {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
  }
  .row-category .row .col a img {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
  }
  .row-category .row .col:first-child {
    width: 100%;
  }
  .row-category .row .col.col-2 {
    position: relative;
    width: 100%;
    padding: 0;
  }
  .row-category .row .col.col-2.top {
    padding: 0;
  }
  .row-category .row .col.col-2.bottom {
    padding: 0;
  }
  .row-best-seller {
    padding: 30px 0;
  }
  .row-best-seller h3.more a {
    font-size: 11px;
    margin: 3px 0 0 0;
  }
  .row-best-seller .slick-arrow {
    width: 20px;
    height: 22px;
    margin-top: -5px;
    top: 100%;
  }
  .row-best-seller .slick-arrow.slick-next {
    left: 50%;
    margin-left: 11px;
  }
  .row-best-seller .slick-arrow.slick-next:before {
    background-size: 6px 9px;
  }
  .row-best-seller .slick-arrow.slick-prev {
    left: 50%;
    margin-left: -11px;
  }
  .row-best-seller .slick-arrow.slick-prev:before {
    background-size: 6px 9px;
  }
  .product-list {
    /* padding-bottom: 30px; */
    padding-bottom: 0px; /* kris */
  }
  .product-list .row .col {
    width: 48%;
    padding: 5px;
    margin-bottom: 4%;
  }
  /* kris */
  /* --------------------- */
  .product-list .row-flash .col figure {
    /*height: 90px; */
    padding-top: 0;
  }
  .product-list .row .col {
    width: 48%;
    padding: 5px;
    margin-bottom: 4%;
  }
    /* --------------------- */
  .product-list .row .col:nth-child(3n+3) {
    margin-right: 2%;
  }
  .product-list .row .col:nth-child(2n+2) {
    margin-right: 0;
  }
  .product-list .row .col .des {
    display: none;
  }
  .product-list .row .col .price {
    font-size: 14px;
  }
  .product-list .row .col .price-disc {
    font-size: 11px;
  }
  .product-list .row .col .price-disc .disc {
    font-size: 9px;
  }
  .product-list .row .col .ribbon {
    width: 30px;
    height: 30px;
    font-size: 9px;
    line-height: 14px;
  }
  .product-list .row .col .ribbon.new {
    line-height: 30px;
  }
  .product-list .row .col .ribbon.disc span {
    padding: 6px 0 0 0;
    line-height: 10px;
  }
  .product-list .row .col .ribbon.sale {
    line-height: 30px;
  }
  .product-list .row .col figure {
    /*height: 90px; */
    padding-top: 0;
  }
  .product-list .row .col .title {
    font-size: 13px;
    line-height: 15px;
    color: #111;
    margin-bottom: 5px;
  }
  .product-list.col-4 .row .col {
    padding: 10px 5px;
  }
  .product-list.col-4 .row .col .des {
    display: block;
  }
  .product-list.other {
    padding-bottom: 30px;
  }
  .product-list.other .row .col {
    width: 49%;
  }
  .product-list.other .row .col:nth-child(3n+3) {
    margin-right: 2%;
  }
  .product-list.other .row .col:nth-child(4n) {
    display: block;
  }
  .product-list.list-promo .row .col {
    width: 48%;
    padding: 5px;
    margin-bottom: 4%;
  }
  .product-list.list-promo .row .col:nth-child(4n+4) {
    margin-right: 2%;
  }
  .product-list.list-promo .row .col:nth-child(3n+3) {
    margin-right: 2%;
  }
  .product-list.list-promo .row .col:nth-child(2n+2) {
    margin-right: 0;
  }
  /* kris */
  /* ---------------------------- */
  .product-flash-container .product-list .row-flash .left-all {
    width: max-content;
    margin-left: -8px;
  }
  .product-flash-container .product-list .row-flash .left-all .col-flash {
    height: 250px !important;
    width: 158px !important;
    margin: 5px;
  }
  .product-flash-container .product-list .row-flash .left-all .col-flash figure {
    width: 100% !important;
    height: 128px !important;
    margin-bottom: 10px;
    margin-top: 10px !important;
  }
  .product-flash-container .product-list .row-flash .left-all .col-flash .price {
    font-size: 14px;
  }
  .product-flash-container .product-list .header-flash .image-flash {
    margin-left: -20px;
  }
  .product-flash-container .product-list .header-flash .title-flashsale {
    margin-left: -10px;
    width: 40%;
  }
  .product-flash-container .product-list .header-flash .more-flashsale {
    margin-right: -8px;
  }
  /* ---------------------------- */
  .product-list .row .col.redeem {
    width: 100%;
    padding: 5px;
    margin-bottom: 4%;
  }
  .row-other {
    padding: 20px 0 0 0;
  }
  .row-testimoni .row {
    padding-bottom: 35px;
  }
  .row-testimoni .row .slick-slide {
    width: 250px;
  }
  .row-testimoni .row .col {
    padding: 0 10px 0 0;
  }
  .row-testimoni .row .col figure {
    width: 60px;
    height: 60px;
  }
  .row-testimoni .row .col .box {
    padding: 40px 12px 18px 12px;
    height: auto;
  }
  .row-testimoni .row .col .box .ts-top .name {
    font-size: 14px;
  }
  .row-testimoni .row .col .box .ts-top .position {
    font-size: 10px;
  }
  .row-testimoni .row .col .box .des {
    font-size: 11px;
  }
  .row-testimoni .slick-dots {
    text-align: left;
  }
  .row-testimoni .slick-dots li {
    margin: 0 4px;
  }
  .row-testimoni .slick-dots li button {
    width: 10px;
    height: 4px;
  }
  .row-testimoni .slick-dots li.slick-active button {
    width: 20px;
  }
  .row-spread {
    padding: 10px 0 40px 0;
  }
  .row-spread .wrapper {
    height: auto;
    text-align: center;
    padding: 0 0 20px 0;
    background-size: cover;
  }
  .row-spread figure {
    top: -30px;
    left: 50%;
    width: 193px;
    height: 157px;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
  }
  .row-spread .text {
    padding: 135px 15px 15px 15px;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
  }
  .row-spread .text p {
    line-height: 20px;
  }
  .row-spread .btn.abs.abs-right {
    position: relative;
    display: inline-block;
    float: none;
    left: 0;
    font-size: 11px;
    padding: 0 20px;
    height: 40px;
    line-height: 40px;
  }
  .middle {
    padding: 44px 0 20px 0;
    min-height: 300px;
  }
  .banner-product {
    margin-bottom: 10px;
  }
  .stay-wa {
    right: 20px;
    bottom: 20px;
  }
  .stay-wa a {
    margin-left: 5px;
    background-size: 50% !important;
    width: 45px;
    height: 45px;
  }
  .main-filter {
    margin-bottom: 10px;
  }
  .main-filter .filter-top h3 {
    font-size: 16px;
    line-height: 19px;
    float: none;
    display: block;
    margin-bottom: 2px;
  }
  .main-filter .filter-top .small {
    float: none;
    display: block;
    padding: 0 0 0 0;
    font-size: 9px;
    line-height: 11px;
  }
  .main-filter .filter-top {
    padding-bottom: 10px;
  }
  .main-filter .filter-bottom {
    padding: 10px 10px 10px 10px;
  }
  .main-filter .filter-bottom label {
    font-size: 10px;
    margin-bottom: 5px;
    margin-bottom: 5px;
    display: block;
  }
  .main-filter .filter-bottom .selectbox {
    min-width: 100%;
    font-size: 11px;
  }
  .main-filter .filter-bottom .selectbox select {
    font-size: 11px;
  }
  .main-filter .filter-bottom .left {
    width: 50%;
    margin: 0 0 10px 0;
    padding: 0 5px 0 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .main-filter .filter-bottom .right {
    width: 50%;
    margin: 0 0 10px 0;
    padding: 0 0 0 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .main-filter .filter-bottom .filter-mobile {
    width: 100%;
    margin: 0px 0 0 0;
    padding: 10px 0 0 0;
    border-top: 2px solid #d8d8d8;
  }
  .main-filter .filter-bottom .filter-mobile button {
    width: 100%;
  }
  .main-filter .filter-bottom .filter-mobile button label {
    margin-top: 5px;
  }
  .main-filter .filter-bottom .filter-mobile button .ico {
    margin: 5px 10px 0 0;
  }
  .main-filter .filter-bottom .filter-rate {
    display: block;
    padding: 0;
  }
  .main-filter .filter-bottom .filter-rate a {
    margin: 0 6px 6px 0;
  }
  .main-filter.v2 .filter-bottom {
    background: none;
    padding: 5px 0 5px 0;
  }
  .main-filter.v2 .filter-bottom .left {
    display: none;
  }
  .main-filter.v2 .filter-bottom .right {
    width: 100%;
    padding: 0;
    margin: 0;
  }
  .main-filter.v2 .filter-bottom .right .label {
    float: left;
    width: 25%;
    font-size: 13px;
    line-height: 30px;
    margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .main-filter.v2 .filter-bottom .right .selectbox {
    float: right;
    width: 70%;
    min-width: 70%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .mid-content {
    padding: 20px 0 20px 0;
  }
  .mid-content.product {
    padding-top: 10px;
  }
  .mid-content p {
    font-size: 13px;
    line-height: 20px;
  }
  .mid-content .nav-tab {
    border: 0;
  }
  .mid-content .nav-tab ul {
    display: none;
  }
  .mid-content .nav-tab ul li a {
    padding: 0 5px 10px 5px;
    font-size: 11px;
  }
  .mid-content .nav-tab ul li a .txt {
    padding: 0;
  }
  .mid-content .nav-tab ul li a .txt.info {
    background: none;
  }
  .mid-content .nav-tab ul li a .txt.review {
    background: none;
  }
  .mid-content .nav-tab ul li a .txt.discuss {
    background: none;
  }
  .mid-content .nav-tab ul li.active a .txt {
    padding: 0;
  }
  .mid-content .nav-tab ul li.active a .txt.info {
    background: none;
  }
  .mid-content .nav-tab ul li.active a .txt.review {
    background: none;
  }
  .mid-content .nav-tab ul li.active a .txt.discuss {
    background: none;
  }
  .mid-content .nav-tab .navTabMobile {
    display: block;
    width: 100%;
    height: 30px;
    position: relative;
  }
  .mid-content .nav-tab .navTabMobile select {
    width: 100%;
    height: 30px;
    line-height: 28px;
    padding: 0 30px 0 10px;
    font-size: 11px;
    position: relative;
    z-index: 3;
    background: none;
    color: #79531d;
    font-weight: normal;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .mid-content .nav-tab .navTabMobile:before {
    position: absolute;
    width: 24px;
    height: 100%;
    content: "";
    right: 0;
    top: 0;
    background: url("../images/material/arr-drop-sm.png") no-repeat center center;
    z-index: 1;
  }
  .mid-content .paging ul {
    margin: 0 0 0 0;
  }
  .mid-content .row-description {
    padding: 0 0 0 0;
    margin-bottom: 40px;
  }
  .mid-content .row-description.tabs .nav-tab ul {
    display: block;
  }
  .mid-content .sub-nav {
    border: 0;
    margin-bottom: 10px;
    background: #eaeaea;
    padding: 10px 0;
    position: relative;
    margin-top: -20px;
  }
  .mid-content .sub-nav:before {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -50%;
    content: "";
    background: #eaeaea;
    z-index: 1;
  }
  .mid-content .sub-nav:after {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: -50%;
    content: "";
    background: #eaeaea;
    z-index: 1;
  }
  .mid-content .sub-nav ul {
    display: none;
  }
  .mid-content .sub-nav .subNavMobile {
    display: block;
    width: 100%;
    height: 40px;
    position: relative;
    background: #fff;
    z-index: 3;
  }
  .mid-content .sub-nav .subNavMobile select {
    width: 100%;
    height: 40px;
    line-height: 38px;
    padding: 0 30px 0 10px;
    font-size: 14px;
    position: relative;
    z-index: 3;
    background: none;
    color: #79531d;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .mid-content .sub-nav .subNavMobile:before {
    position: absolute;
    width: 24px;
    height: 100%;
    content: "";
    right: 0;
    top: 0;
    background: url("../images/material/arr-drop-sm.png") no-repeat center center;
    z-index: 1;
  }
  body.cms h1 {
    font-size: 18px;
    line-height: 22px;
  }
  body.cms h2 {
    font-size: 16px;
    line-height: 20px;
  }
  .ribbon-lg {
    left: 5px;
    top: 0;
  }
  .heading-large {
    font-size: 20px;
    line-height: 24px;
  }
  .heading-lg {
    font-size: 18px;
    line-height: 22px;
  }
  .heading-lg .note {
    font-size: 13px;
    padding: 5px 0 0 0;
  }
  .heading-md {
    font-size: 16px;
    line-height: 20px;
  }
  .heading-sm {
    margin-bottom: 10px;
    font-size: 14px;
  }
  .heading-xsm {
    font-size: 14px;
  }
  .price.large {
    font-size: 16px;
  }
  .product-detail {
    margin-bottom: 10px;
  }
  .product-detail .product-gallery {
    padding-top: 15px;
    margin-bottom: 15px;
  }
  .product-detail .product-gallery .images-lg {
    padding: 0;
  }
  .product-detail .product-gallery .images-sm {
    position: relative;
    width: 100%;
    height: auto;
  }
  .product-detail .product-gallery .images-sm .slick-slide {
    width: 70px;
    height: 52px;
    margin-right: 6px;
  }
  .product-detail .product-gallery .images-sm .slick-slide figure {
    padding: 5px;
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .product-detail .slick-list {
    height: auto !important;
  }
  .product-detail .product-text .row-box {
    padding: 0 0 8px 0;
    margin: 0 0 15px 0;
  }
  .product-detail .product-text .row-box .col.box-rate {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .product-detail .product-text .row-box .col.box-rate .count {
    font-size: 11px;
  }
  .product-detail .product-text .row-box .col.border-left {
    padding: 0 0 0 0;
    font-size: 10px;
    border-left: 0;
  }
  .product-detail .product-text .row-box .col.border-left .box-discuss {
    background-size: 18px 12px;
  }
  .product-detail .product-text .row-box .col.right {
    margin: 0;
  }
  .product-detail .product-text .row-box .col.label {
    width: 40px;
    padding-right: 15px;
    font-size: 13px;
  }
  .product-detail .product-text .row-box .col.price {
    font-size: 18px;
  }
  .product-detail .product-text .row-box .col.price-disc {
    margin: 0;
  }
  .product-detail .product-text .row-box .col.price-disc .disc {
    font-size: 10px;
  }
  .product-detail .product-text .row-box .col.quantity {
    margin-right: 0;
  }
  .product-detail .product-text .row-box .col.stock {
    margin: 5px 0 0 5px;
  }
  .product-detail .product-text .row-box .col.stock.available span {
    font-size: 12px;
  }
  .product-detail .product-text .row-box.wbutton {
    padding: 10px 0 0 0;
  }
  .product-detail .product-text .row-box.wbutton .btn {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .product-detail .product-text .box-share .ico-share {
    background-size: 13px 12px;
    font-size: 10px;
    padding: 0 0 0 20px;
  }
  .product-detail .input-qty .btn-minus {
    width: 30px;
    height: 30px;
  }
  .product-detail .input-qty .btn-minus:before {
    top: -5px;
  }
  .product-detail .input-qty input {
    width: 50px;
    height: 30px;
    font-size: 11px;
    line-height: 11px;
  }
  .product-detail .input-qty .btn-plus {
    width: 30px;
    height: 30px;
  }
  .product-detail .input-qty .btn-plus:before {
    top: -2px;
  }
  .tooltip-cart {
    width: 90%;
    padding: 15px;
  }
  .tooltip-cart .left {
    width: 100%;
  }
  .tooltip-cart .right {
    width: 100%;
  }
  .tooltip-cart .txt {
    line-height: 20px;
    margin-bottom: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .not-review {
    padding: 20px;
  }
  .box-screen-rate {
    padding: 20px;
  }
  .box-screen-rate .value {
    font-size: 60px;
  }
  .box-screen-rate .left {
    width: 100%;
    margin: 0 0 20px 0;
  }
  .box-screen-rate .right {
    width: 100%;
  }
  .screen-rate .histogram-summary {
    margin-bottom: 10px;
  }
  .screen-rate .histogram-summary .count {
    top: -5px;
  }
  .screen-rate .histogram-summary .histogram-bar {
    margin: 0 33px 0 45px;
  }
  .row-discuss {
    padding: 20px;
  }
  .row-discuss .btn {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .row-discuss .txt {
    padding-left: 40px;
    padding-top: 0;
  }
  .row-discuss .txt:before {
    width: 30px;
    height: 19px;
    background-size: 100%;
  }
  .post-comment .list {
    padding: 20px 20px 10px 20px;
  }
  .post-comment .list .row-comment h4 {
    font-size: 16px;
  }
  .post-comment .list .row-comment p {
    font-size: 12px;
    line-height: 18px;
  }
  .row-article {
    padding: 0;
  }
  .row-article .row {
    margin-bottom: 25px;
  }
  .row-article .row .col.text .des {
    font-size: 13px;
  }
  .row-article .row .col.img figure .box-play svg {
    width: 55px;
    height: 55px;
  }
  .row-article .row.rtl .col.text {
    padding: 0;
  }
  .grid-spread {
    padding: 0;
  }
  .grid-spread .row {
    padding: 20px 0 0 0;
  }
  .grid-spread .row .col {
    padding: 40px 15px 20px 15px;
    text-align: center;
    margin-bottom: 30px;
  }
  .grid-spread .row .col figure {
    top: -30px;
    left: 50%;
    width: 60px;
    height: 60px;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
  }
  .grid-spread .row .col .des {
    text-align: center;
    font-size: 11px;
    line-height: 16px;
  }
  .grid-spread .row .col .btn {
    height: 30px;
    line-height: 30px;
    font-size: 11px;
  }
  .listing-event .row .col {
    width: 48.5%;
  }
  .listing-event .row .col:nth-child(3n+3) {
    margin-right: 3%;
  }
  .listing-event .row .col:nth-child(2n+2) {
    margin-right: 0;
  }
  .listing-event .row .col figure {
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
  }
  .listing-event .row .col .img {
    margin-bottom: 8px;
  }
  .listing-event .row .col .e-title {
    font-size: 13px;
    line-height: 16px;
  }
  .listing-event.gallery .row {
    margin-bottom: 10px;
  }
  .listing-event.gallery .col {
    width: 45%;
    margin-right: 7%;
  }
  .listing-event.gallery .col:nth-child(3n+3) {
    margin-right: 7%;
  }
  .listing-event.gallery .col:nth-child(2n+2) {
    margin-right: 0;
  }
  .listing-event.gallery .col .img {
    padding: 7px;
  }
  .listing-event.gallery .col .img:after {
    top: -7px;
    left: 7px;
  }
  .listing-event.gallery .col figure {
    height: 76px;
  }
  .event-gallery-slider .slider-thumb .slick-slide {
    width: 84px;
    height: 47px;
    margin-right: 4px;
    overflow: hidden;
  }
  .event-gallery-slider .slider-thumb .slick-slide figure {
    height: 100%;
  }
  .event-gallery-slider .slider-thumb .slick-slide figure img {
    height: auto;
  }
  .row-reg {
    padding: 0;
  }
  .row-reg .col.text .bank-account {
    padding: 20px;
  }
  .row-reg .col.text .bank-account figure {
    margin-bottom: 10px;
    transform: scale(0.8);
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    -ms-transform: scale(0.8);
    -o-transform: scale(0.8);
  }
  .row-reg .col.text .bank-account p.name {
    font-size: 13px;
    line-height: 13px;
    margin: 0 0 2px 0;
  }
  .row-reg .col.text .bank-account p.number {
    font-size: 18px;
    line-height: 20px;
    margin: 0;
  }
  .row-reg.result .col.text {
    width: 100%;
  }
  .row-reg.result .col a {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }
  .box-step {
    margin-bottom: 35px;
  }
  .box-step .step {
    width: 32.8%;
  }
  .box-step .step span {
    width: 80px;
    font-size: 11px;
  }
  .opt-checkbox .item label {
    padding: 10px 5px;
  }
  .opt-checkbox .item label p {
    font-size: 12px;
    line-height: 15px;
  }
  .opt-checkbox.md .item {
    width: 50%;
    margin-right: 0;
    padding-right: 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .opt-checkbox.md .item:nth-child(2n+2) {
    padding-left: 5px;
    padding-right: 0;
  }
  .opt-checkbox.md .item label {
    padding: 10px 15px;
  }
  .opt-checkbox.sm .item {
    width: 50%;
    margin-right: 0;
    min-width: 50%;
    padding-right: 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .opt-checkbox.sm .item:nth-child(2n+2) {
    padding-left: 5px;
    padding-right: 0;
  }
  .opt-checkbox.voucher .item {
    width: 100%;
    padding: 0;
  }
  .opt-checkbox.voucher .item:nth-child(2n+2) {
    padding: 0;
  }
  .opt-checkbox.lg .item {
    width: 100%;
    padding: 0;
    margin: 0 0 10px 0;
  }
  .box-payment {
    padding: 10px;
  }
  .box-payment .row {
    margin-bottom: 15px;
  }
  .form-std {
    padding: 0;
  }
  .form-std input {
    padding: 0 10px;
    font-size: 12px;
    height: 35px;
    line-height: 35px;
  }
  .form-std .input_file {
    padding: 0 10px 0 10px;
    font-size: 12px;
    height: 35px;
    line-height: 35px;
  }
  .form-std .input_file:before {
    width: 20px;
    height: 85%;
    top: 2px;
    right: 5px;
  }
  .form-std .input_file input {
    padding-left: 5px;
    text-align: left;
  }
  .form-std textarea {
    padding: 10px 10px;
    font-size: 12px;
    height: 90px;
  }
  .form-std label {
    line-height: 15px;
    margin-bottom: 5px;
  }
  .form-std .btn {
    display: block;
    width: 100%;
  }
  .form-std .forgot {
    display: block;
    margin: 10px 0 0 0;
    text-align: center;
  }
  .form-std .txt-login {
    display: block;
    text-align: center;
    padding: 12px 0 0 0;
  }
  .form-std .form-group {
    margin-bottom: 15px;
  }
  .form-std .send-code a.btn-send-code {
    line-height: 35px;
    height: 35px;
    font-size: 11px;
  }
  .form-std .row-opt .col-opt {
    width: 100%;
    padding: 0 0 0 0;
    margin-bottom: 15px;
  }
  .form-std .row-opt .col-opt:last-child {
    padding-left: 0;
    margin-bottom: 0;
  }
  .form-std .row-date .col-dt.birth {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .form-std .row-date .col-dt.date {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .form-std .row-date .col-dt.year {
    width: 30%;
  }
  .form-std .row-radio .radio {
    width: 50%;
  }
  .form-std .form-child {
    padding: 10px 0 0 0;
  }
  .form-std .form-child .row-half .col-half {
    width: 100%;
    padding: 0;
    margin-bottom: 10px;
  }
  .form-std .box-disclaimer {
    padding: 18px 5px 18px 18px;
  }
  .form-std .box-disclaimer p {
    font-size: 12px;
  }
  .form-std fieldset {
    margin-bottom: 15px;
  }
  .form-std fieldset:last-child {
    margin-bottom: 0;
  }
  .form-std .row-st .col-st.lf {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .form-std .row-st .col-st.rf {
    width: 100%;
  }
  .form-std .row-st .col-st.rf .btn {
    line-height: 30px;
    height: 30px;
  }
  .form-std .checkbox label {
    margin-bottom: 0;
  }
  .form-std .checkbox input {
    height: 100%;
    line-height: 100%;
  }
  .row-form {
    padding: 10px 0 0 0;
  }
  .row-form .row .col.full {
    padding: 0 0 0 0;
  }
  .row-form .row .col.full a {
    margin: 0 0 10px 0;
  }
  .row-form .row .col.full:last-child {
    padding-top: 20px;
  }
  .row-form .row .col.col-3 {
    width: 49%;
    margin: 0 2% 10px 0;
  }
  .row-form .row .col.col-3:nth-child(2n+2) {
    margin-right: 0;
  }
  .row-form .row .col.col-4 {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .form-add {
    padding-bottom: 65px;
  }
  .form-add .mainslider-area {
    padding: 0;
    border: 0;
  }
  .form-add .button-add {
    height: 80px;
    padding: 10px;
  }
  .form-add .button-add .ic-text {
    padding-top: 28px;
    line-height: 14px;
    margin-top: 8px;
  }
  .form-add .button-add .ic-text:before {
    width: 24px;
    height: 24px;
    background-size: 100%;
  }
  .form-testi {
    padding-bottom: 65px;
  }
  .form-testi .testimoni-area {
    padding: 0;
    border: 0;
  }
  .form-testi .button-testi {
    height: 80px;
    padding: 10px;
  }
  .form-testi .button-testi .ic-text {
    padding-top: 28px;
    line-height: 14px;
    margin-top: 8px;
  }
  .form-testi .button-testi .ic-text:before {
    width: 24px;
    height: 24px;
    background-size: 100%;
  }
  .upload-file-multiple {
    margin-bottom: 15px;
  }
  .upload-file-multiple .wrap-files .list-box .button {
    width: 80px;
    height: 80px;
    padding: 5px;
  }
  .upload-file-multiple .wrap-files .list-box .button .ic-text {
    padding: 20px 0 0 0;
    font-size: 9px;
  }
  .upload-file-multiple .wrap-files .list-box .button .ic-text:before {
    width: 18px;
    height: 18px;
    background-size: 18px 18px;
    top: 0px;
  }
  .upload-file-multiple .wrap-files .list-box .button input.toggle {
    padding: 0 5px;
  }
  .upload-file-multiple .wrap-files .list-box .box {
    padding: 5px;
    height: 80px;
  }
  .upload-file-multiple .wrap-files .list-box .box .remove {
    right: 5px;
    bottom: 5px;
    width: 18px;
    height: 18px;
    background-size: 10px 10px;
  }
  .upload-file-multiple .wrap-files .list-box .box:nth-child(3n+3) {
    margin-right: 2.67%;
  }
  .row-my-account .side-profile {
    height: auto;
  }
  .row-my-account .side-profile .photo-profile {
    width: 100%;
    min-height: 80px;
  }
  .row-my-account .side-profile .box-poin {
    width: 100%;
    height: auto;
    padding: 7px 10px;
  }
  .row-my-account .side-profile .box-poin .txt {
    width: auto;
    padding: 8px 0 0 0;
  }
  .row-my-account .side-profile .box-poin .total {
    float: right;
    width: auto;
    padding: 0 35px 0 0;
  }
  .row-my-account .side-profile .box-poin .total .redeem {
    width: 40px;
    height: 40px;
    top: -3px;
  }
  .row-my-account .nav-account {
    padding: 10px;
  }
  .row-my-account .nav-account .selectFilter select {
    font-size: 13px;
    padding-left: 10px;
  }
  .row-my-account .account-content .row-form .row .col.profil-left {
    width: 100%;
    padding: 0;
  }
  .row-my-account .account-content .row-form .row .col.profil-left .form-group:last-child {
    padding-top: 0;
  }
  .row-my-account .account-content .row-form .row .col.profil-right {
    width: 100%;
    padding: 0;
  }
  .row-my-account .account-content .row-form .row .col.profil-right .form-group:last-child {
    padding-top: 0;
  }
  .row-my-account .account-content .box-photo {
    float: left;
    margin: 5px 0 7px 0;
    width: 158px;
    height: 158px;
  }
  .row-my-account .account-content .box-photo .inner-photo {
    width: 100%;
    height: 100%;
  }
  .row-my-account .account-content .box-photo .inner-photo .ic-txt {
    top: 55%;
    padding-top: 40px;
  }
  .row-my-account .account-content .box-photo .inner-photo .ic-txt:before {
    height: 28px;
    background-size: auto 100%;
  }
  .row-my-account .account-content .box-photo.v2 {
    height: 80px;
    width: 145px;
    padding: 5px;
  }
  .row-my-account .account-content .box-photo.v2 .inner-photo .ic-txt {
    padding: 32px 0 0 0;
    font-size: 9px;
  }
  .row-my-account .account-content .box-photo.v2 .inner-photo .ic-txt:before {
    height: 24px;
    top: 5px;
  }
  .row-my-account .account-content .box-photo.v3 {
    height: 80px;
    width: 145px;
    padding: 5px;
  }
  .row-my-account .account-content .box-photo.v3 .inner-photo .ic-txt {
    padding: 32px 0 0 0;
    font-size: 9px;
  }
  .row-my-account .account-content .box-photo.v3 .inner-photo .ic-txt:before {
    height: 24px;
    top: 5px;
  }
  .row-my-account .account-content .upload-file .wrap-files .input-list input {
    font-size: 10px;
  }
  .row-my-account .account-content .upload-file .wrap-files .list-box .box .remove {
    bottom: 5px;
    right: 5px;
    width: 18px;
    height: 18px;
    background-size: 10px 10px;
  }
  .row-my-account .account-content .upload-file-testi .wrap-files .list-box .box .remove {
    bottom: 5px;
    right: 5px;
  }
  .row-my-account .listing-address.v2 .row {
    padding-bottom: 15px;
    margin-bottom: 10px;
  }
  .row-my-account .listing-address.v2 .row .col {
    width: 100%;
    padding: 0 0 12px 0;
  }
  .row-my-account .listing-address.v2 .row .col.col-right {
    width: 100%;
    padding: 0 0 0 0;
    text-align: left;
  }
  .row-my-account .listing-address.v2 .row .col .label {
    font-size: 11px;
  }
  .row-my-account .listing-address.v2 .row .col .title-status {
    text-align: left;
    margin-bottom: 5px;
  }
  .row-my-account .listing-order-transaction .row-tdt .col {
    float: none;
    display: block;
    width: 100%;
    margin-top: 20px;
  }
  .row-my-account .listing-order-transaction .row-address {
    padding-bottom: 50px;
  }
  .row-my-account .listing-order-transaction .row-address .col:nth-child(1), .row-my-account .listing-order-transaction .row-address .col:nth-child(2), .row-my-account .listing-order-transaction .row-address .col:nth-child(3) {
    width: 100%;
    float: none;
  }
  .row-my-account .listing-order-transaction .row-address .col .label {
    float: none;
    width: 100%;
  }
  .listing-address .row {
    padding: 10px;
  }
  .listing-address .row .col {
    width: 100%;
    padding: 0;
    float: left;
  }
  .listing-address .row .col.col-right {
    position: relative;
    width: 100%;
    padding: 10px 0 0 0;
    height: auto;
  }
  .listing-address .row .col.col-right .box {
    float: left;
    width: 100%;
  }
  .listing-address .row .col.col-right .box .address-main {
    position: relative;
    float: left;
    font-size: 9px;
  }
  .listing-address .row .col.col-right .box .wrap-btn {
    position: relative;
    float: right;
    width: auto;
    right: 0;
  }
  .listing-address .row .col.col-right .box .wrap-btn a.edit {
    width: 16px;
    height: 16px;
  }
  .listing-address .row .col.col-right .box .wrap-btn a.edit:before {
    background-size: auto 100%;
  }
  .listing-address .row .col.col-right .box .wrap-btn a.remove {
    width: 16px;
    height: 16px;
  }
  .listing-address .row .col.col-right .box .wrap-btn a.remove:before {
    background-size: auto 100%;
  }
  .listing-address .row .col .address {
    font-size: 11px;
  }
  .listing-address .row.add-new a {
    padding: 10px;
  }
  .listing-address .row.add-new a p {
    height: 60px;
    padding: 0 0 0 0;
  }
  .listing-address .row.add-new a span {
    padding: 22px 0 0 0;
    margin-top: 10px;
  }
  .listing-address .row.add-new a span:before {
    width: 24px;
    height: 24px;
    background-size: 100% 100%;
  }
  .listing-address.v2 .row .col {
    width: 100%;
    padding: 0;
  }
  .listing-address.v2 .row .col .label {
    font-size: 11px;
    margin: 0;
  }
  .listing-address.v2 .row .col .name-order {
    font-size: 13px;
    margin: 0 0 5px 0;
  }
  .listing-address.v2 .row .col .address {
    font-size: 13px;
  }
  .listing-address.v2 .row .col.col-right {
    width: 100%;
    padding: 0 0 0 0;
    text-align: left;
  }
  .id-order {
    font-size: 13px;
  }
  .name-order {
    font-size: 10px;
  }
  .listing-order .row-status label {
    font-size: 10px;
  }
  .listing-order .row-status span {
    font-size: 13px;
  }
  .listing-order .row .col.left {
    width: 50%;
    padding: 12px 12px 7px 12px;
  }
  .listing-order .row .col.left .left, .listing-order .row .col.left .right {
    float: none;
    display: block;
    margin-bottom: 10px;
  }
  .listing-order .row .col.right {
    width: 50%;
    padding: 12px 12px 7px 12px;
    padding-right: 70px;
    height: 100%;
    position: absolute;
  }
  .listing-order .row .col .row-total-history {
    padding: 7px 0 7px 0;
  }
  .listing-order .row .col .row-total-history label {
    float: right;
    font-size: 10px;
  }
  .listing-order .row .col .row-total-history .box-price {
    float: right;
    display: block;
    width: auto;
    font-size: 13px;
  }
  .listing-order .row .col .box-circle .dropdown-circle .show {
    top: 0;
  }
  .listing-order .row .col .box-circle .box {
    top: 20%;
  }
  .listing-order.with-date .date-history .left, .listing-order.with-date .date-history .right {
    margin: 0;
  }
  .listing-order.poin .row .col.left {
    padding: 12px 90px 12px 12px;
  }
  .listing-order.poin .row .col.right {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    padding-right: 12px;
    padding-left: 12px;
  }
  .listing-order.poin.member .row .col.left {
    min-height: 58px;
  }
  .listing-order.poin.member .row .col.right .value-sm {
    margin-top: 15px;
  }
  .listing-order.poin.member .row .col .btn {
    height: 35px;
    line-height: 35px;
    padding: 0 15px;
    font-size: 12px;
  }
  .listing-order .row .col .box-circle .dropdown-circle .dropdown-circle-list {
    margin-top: 110px;
  }
  .cart-overview .product-cart {
    min-height: 30px;
  }
  .cart-overview .checkbox-2 {
    position: absolute;
    top: 10px;
    left: 7px;
  }
  .cart-overview .checkbox-2 label:before {
    width: 16px;
    height: 16px;
    background-size: 100%;
  }
  .cart-overview table thead th {
    display: none;
  }
  .cart-overview table tbody tr {
    position: relative;
  }
  .cart-overview table tbody tr td {
    display: block;
    width: 100%;
    position: relative;
    border-bottom: 0;
    border-top: none;
    padding: 5px 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .cart-overview table tbody tr td .checkbox-2 {
    top: 18px;
  }
  .cart-overview table tbody tr td.td-check {
    width: 0;
    height: 0;
    padding: 0;
  }
  .cart-overview table tbody tr td.td-product {
    padding-left: 35px;
    padding-right: 10px;
    padding-top: 10px;
  }
  .cart-overview table tbody tr td.td-price {
    padding-left: 100px;
    text-align: left;
    font-size: 13px;
  }
  .cart-overview table tbody tr td.td-qty {
    padding-left: 100px;
    text-align: left;
  }
  .cart-overview table tbody tr td.td-action {
    padding-left: 100px;
    text-align: left;
  }
  .cart-overview table tbody tr td.td-subtotal {
    display: none;
  }
  .cart-overview table tbody tr td:first-child {
    padding-top: 0;
  }
  .cart-overview table tbody tr td:last-child {
    padding-bottom: 15px;
    padding-top: 15px;
    border-bottom: 1px solid #eaeaea;
  }
  .cart-overview table tfoot tr {
    position: relative;
  }
  .cart-overview table tfoot tr td {
    display: block;
    padding: 5px 10px;
    text-align: left;
    position: relative;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .cart-overview table tfoot tr td.tf-check {
    width: 0;
    height: 0;
    padding: 0;
  }
  .cart-overview table tfoot tr td.tf-product {
    padding: 12px 0 10px 30px;
    font-size: 11px;
  }
  .cart-overview table tfoot tr td.tf-total-price {
    padding-bottom: 15px;
  }
  .cart-overview table tfoot tr td .total {
    display: block;
    padding: 0 0 5px 0;
  }
  .cart-overview table tfoot tr td .total .txt-total {
    top: 0;
    position: relative;
    padding: 0 0 5px 0;
    font-size: 13px;
  }
  .cart-overview table tfoot tr td .total .price-large {
    display: block;
    text-align: left;
  }
  .cart-overview table tfoot tr td .btn {
    display: block;
    width: 100%;
  }
  .cart-overview table .btn-remove {
    padding: 0;
    line-height: 16px;
  }
  .cart-overview.history {
    border: 0;
  }
  .cart-overview.history table thead th {
    display: none;
  }
  .cart-overview.history table tbody tr {
    border-bottom: 1px solid #d8d8d8;
  }
  .cart-overview.history table tbody tr td {
    display: block;
    width: 100%;
    padding: 3px 10px;
    border: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .cart-overview.history table tbody tr td:first-child {
    padding-top: 10px;
  }
  .cart-overview.history table tbody tr td.td-price {
    display: inline-block;
    width: 40%;
    text-align: left;
    font-size: 13px;
  }
  .cart-overview.history table tbody tr td.td-subtotal {
    display: inline-block;
    text-align: right;
    font-size: 13px;
    width: 50%;
  }
  .cart-overview.history table tbody tr td.td-qty {
    display: inline-block;
    width: 10%;
    font-size: 12px;
    text-align: left;
  }
  .cart-overview.history table tbody tr td .product-cart {
    width: 100%;
    padding: 0;
  }
  .cart-overview.history table tbody tr td.have-voucher .product-cart {
    width: 100%;
    padding: 0;
  }
  .cart-overview.history table tbody tr td.have-voucher .voucher {
    position: relative;
    display: block;
    top: 0;
    left: 0;
    margin: 5px 0;
    transform: translate(0);
    -webkit-transform: translate(0);
    -moz-transform: translate(0);
    -ms-transform: translate(0);
    -o-transform: translate(0);
  }
  .cart-overview.history table tbody tr td:last-child {
    padding-bottom: 15px;
  }
  .cart-overview.history table tbody tr.tr-child .product-cart {
    padding: 0;
    width: 100%;
    padding: 0 0 0 0;
  }
  .cart-overview.history table tbody tr:last-child {
    border-bottom: none;
  }
  .cart-overview.history table tfoot tr td {
    display: inline-block;
    width: 50%;
    padding: 15px 10px;
    text-align: left;
    font-size: 13px;
    vertical-align: top;
    border-bottom: 0px solid #d8d8d8;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .cart-overview.history table tfoot tr td:first-child {
    font-size: 13px;
    width: 60%;
    text-align: left;
  }
  .cart-overview.history table tfoot tr td:nth-child(2n) {
    width: 40%;
  }
  .cart-overview.history table tfoot tr td .info-transfer {
    font-size: 13px;
  }
  .cart-overview.history table tfoot tr td:last-child {
    text-align: right;
  }
  .cart-overview.history table tfoot tr:first-child td {
    padding-top: 15px;
  }
  .cart-overview.history table tfoot tr:last-child td {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: none;
    height: 60px;
  }
  .cart-overview.history table tfoot tr:last-child .digital-marketing {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: none;
    height: 111px;
  }
  .cart-overview.history .price.md {
    font-size: 13px;
  }
  .cart-overview.list-info table tbody tr td a .ico-download-orange {
    right: 10px;
  }
  .order-status .name-order {
    font-size: 10px;
  }
  .order-status .row-head {
    padding: 12px;
  }
  .order-status .row-head .date-history .left, .order-status .row-head .date-history .right {
    margin: 0;
  }
  .order-status .row-head .col.left {
    width: 100%;
    padding: 0 0 7px 0;
  }
  .order-status .row-head .col.left .left {
    width: 100%;
  }
  .order-status .row-head .col.right {
    width: 100%;
    padding: 0 0;
  }
  .order-status .row-head .col .row-total-history {
    border-top: 1px solid #d8d8d8;
    padding: 7px 0 7px 0;
  }
  .order-status .row-head .col .row-total-history label {
    float: left;
    font-size: 10px;
  }
  .order-status .row-head .col .row-total-history .box-price {
    float: right;
    display: block;
    width: auto;
    font-size: 13px;
  }
  .order-status .row-head .col .box-circle {
    border: none;
    display: none;
  }
  .order-status .row-mid {
    padding: 10px;
  }
  .order-status .row-mid.midreview {
    padding: 15px 10px 25px 10px;
  }
  .order-status .listing-address .row .col.col-right .box .label {
    font-size: 11px;
  }
  .order-status .cart-overview.history.table-order-status table tbody tr td {
    display: inline-block;
    width: 50%;
    padding: 10px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .order-status .cart-overview.history.table-order-status table tbody tr td:first-child {
    width: 100%;
    display: block;
    padding: 10px 0;
  }
  .order-status .cart-overview.history.table-order-status table tbody tr td.td-price {
    width: 50%;
    text-align: left;
    font-size: 13px;
  }
  .order-status .cart-overview.history.table-order-status table tbody tr td.td-subtotal {
    width: 50%;
    text-align: right;
    font-size: 13px;
  }
  .order-status .cart-overview.history.table-order-status table tbody tr:last-child td {
    padding-bottom: 15px;
  }
  .order-status .cart-overview.history.table-order-status table tfoot td {
    display: inline-block;
    width: 50%;
    padding: 10px 0;
    font-size: 13px;
    vertical-align: top;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .order-status .cart-overview.history.table-order-status table tfoot td:first-child {
    font-size: 13px;
    width: 63%;
    text-align: left;
  }
  .order-status .cart-overview.history.table-order-status table tfoot td:nth-child(2n) {
    width: 37%;
  }
  .order-status .cart-overview.history.table-order-status table tfoot td .info-transfer {
    font-size: 13px;
  }
  .order-status .cart-overview.history.table-order-status .product-cart .product-md {
    width: 50px;
    height: 35px;
  }
  .order-status .cart-overview.history.table-order-status .product-cart .product-title {
    font-size: 13px;
  }
  .voucher-search {
    padding: 17px 12px;
    text-align: left;
  }
  .voucher-search label {
    display: block;
    text-align: left;
    font-size: 13px;
    line-height: 16px;
    margin: 0 0 5px 0;
  }
  .voucher-search input {
    width: 68%;
    height: 30px;
    margin-right: 2%;
    padding: 0 10px;
  }
  .voucher-search button {
    width: 28%;
    padding: 0;
    height: 30px;
    line-height: 30px;
    font-size: 11px;
  }
  .row-voucher .row .col {
    width: 100%;
  }
  .row-voucher .row .col .text {
    padding: 15px 12px 15px 138px;
  }
  .row-result-poin {
    padding: 20px 15px;
  }
  .row-result-poin .row .box.left {
    width: 100%;
    margin-bottom: 6px;
  }
  .row-result-poin .row .box.right {
    width: 100%;
  }
  .row-result-poin .row .box .label {
    margin-right: 0;
    float: left;
    padding: 0 0 0 0;
  }
  .row-result-poin .row .box .label:after {
    display: none;
  }
  .row-result-poin .row .box .value-poin {
    float: right;
  }
  .row-result-poin .row .box a {
    height: 30px;
    line-height: 30px;
    width: 50%;
    float: left;
    margin: 0;
    font-size: 11px;
    padding: 0 15px;
  }
  .row-result-poin .row .box a:nth-child(1) {
    width: 48%;
    margin-right: 4%;
  }
  .row-result-poin .row .box a:nth-child(2) {
    width: 48%;
  }
  .listing-notif .row {
    padding: 15px;
  }
  .listing-notif .row .date {
    font-size: 11px;
  }
  .listing-notif .row .notif-descrip {
    font-size: 11px;
  }
  .body-form .mid-content {
    padding-bottom: 20px;
  }
  .body-form .wrapper.inner {
    padding: 0 0;
  }
  .body-form h1 {
    padding: 0 0px;
    text-align: center;
  }
  .body-form h2 {
    padding: 0 0px;
    text-align: center;
  }
  .body-form .row-reg h1 {
    text-align: center;
    padding: 0;
  }
  .body-form .row-reg h2 {
    text-align: center;
    padding: 0;
  }
  .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    width: 4px;
  }
  .mCSB_scrollTools .mCSB_draggerRail {
    width: 4px;
  }
  .list-payment .list {
    padding: 10px 10px;
    font-size: 13px;
  }
  .list-payment .acc-title:after {
    top: 10px;
    right: 4px;
  }
  .list-payment .acc-descrip {
    padding: 15px 20px;
    font-size: 13px;
  }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 30px;
    font-size: 12px;
    padding-left: 10px;
  }
  .select2-container--default .select2-search--dropdown .select2-search__field {
    padding: 6px 10px;
  }
  .select2-results__option {
    font-size: 12px;
    padding: 8px 10px;
  }
  .row-address {
    padding: 15px;
  }
  .row-address:before {
    display: none;
  }
  .row-address .col:nth-child(1) {
    width: 100%;
    padding: 0;
    margin-bottom: 15px;
  }
  .row-address .col:nth-child(2) {
    width: 100%;
    padding: 0;
  }
  .row-address .col .box-kurir label {
    line-height: 30px;
  }
  .row-address .col .box-kurir .selectbox {
    height: 30px;
    line-height: 30px;
  }
  .row-address .col .box-kurir .select2-container .select2-selection--single {
    line-height: 30px;
    height: 30px;
  }
  .row-address .col .box-kurir .select2-container .select2-selection--single .select2-selection__rendered {
    height: 30px;
    line-height: 30px;
  }
  .box-tracking .head-track .kurir {
    width: 60px;
    margin-right: 10px;
  }
  .box-tracking .head-track .box-order {
    margin-right: 10px;
  }
  .box-tracking .head-track .box-order span.order-id {
    font-size: 14px;
  }
  .box-tracking .head-track .btn-copy {
    margin: 20px 0 0 0;
  }
  .box-tracking .row .track-list .txt {
    font-size: 14px;
  }
  .add-comment .list {
    padding-left: 70px;
    padding-bottom: 10px;
    margin-bottom: 25px;
  }
  .add-comment .list .col.field-image {
    width: 60px;
    padding: 0 5px;
  }
  .add-comment .list .col.field-descrip .c-title {
    font-size: 14px;
    line-height: 16px;
  }
  .add-comment .button-area {
    padding-left: 70px;
  }
  .review-rate-md .rate-md {
    width: 20px;
    height: 20px;
    margin: 0;
  }
  .review-rate-md .rate-md .ico {
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
  }
  .review-rate-md .rate-md.selected .ico {
    background-size: 20px 20px;
  }
  .account-overview {
    padding: 15px;
  }
  .account-overview .row {
    padding: 10px 0;
  }
  .account-overview .row .col {
    width: 100%;
    padding: 0 0 3px 0;
    font-size: 13px;
  }
  .account-overview .row .col:nth-child(2n+2) {
    width: 100%;
    padding: 0;
  }
  #popupVoucher #boxPop {
    min-height: 0;
    margin: 10% auto;
  }
  .box-voucher {
    max-height: calc(100vh - 200px);
  }
  #boxPop {
    min-width: 90%;
    max-width: 80%;
    padding: 15px;
  }
  #boxPop .close_pop {
    top: 15px;
  }
  #boxPop.train {
    min-width: 90%;
    max-width: 80%;
  }
  .row-view .col {
    width: 100%;
    margin: 0 0 20px 0;
  }
  .row-view .col:last-child {
    margin-right: 0;
  }
  .row-view.type-2 .col {
    width: 100%;
  }
  .row-view.type-2 .col:last-child {
    margin-right: 0;
    width: 100%;
  }
  .row-charts .col {
    width: 100%;
    margin: 0;
  }
  .row-charts .col:last-child {
    margin: 0;
  }
  .wrap-left-right h1 {
    float: none;
  }
  .wrap-left-right .right {
    float: none;
    width: auto;
    display: block;
    position: relative;
  }
  .wrap-left-right .right .col-select-date {
    width: 100%;
    float: none;
    position: relative;
  }
  .wrap-left-right .right .col-select-date label {
    float: none;
    width: auto;
  }
  .wrap-left-right .right .col-select-date select {
    width: auto;
    min-width: 90px;
    margin-left: 5px;
  }
  .wrap-left-right .right.add select {
    width: 100%;
  }
  .wrap-left-right a {
    /*position: absolute; top: 0px; margin-top: 5px; left: 225px;*/
    float: none;
    width: 100%;
  }
  .sec-input-select-three .col-select {
    width: 100%;
    float: none;
  }
  .sec-input-select-three .col-select:first-child, .sec-input-select-three .col-select:nth-child(2), .sec-input-select-three .col-select:last-child {
    width: auto;
    float: none;
    margin: 0;
    margin-bottom: 20px;
  }
  .custom-radio .radio-btn {
    font-size: 14px;
  }
  .custom-radio label {
    margin-left: 15px;
  }
  footer .foot-top {
    padding: 30px 0 30px 0;
  }
  footer .foot-top .row {
    padding: 0;
  }
  footer .foot-top .row .col.col-2 {
    display: none;
  }
  footer .foot-top .row .col.col-3 {
    display: none;
  }
  footer .foot-top .row .col.col-4 {
    padding: 0;
  }
  footer .foot-top .row .col.col-4 h3 {
    font-size: 11px;
    line-height: 13px;
    letter-spacing: 2.2px;
  }
  footer .foot-top .row .col.contact-us  {
    font-size: 11px;
    padding-right: 0;
    margin-bottom: 5%;
  }
  footer .foot-top .row .col.col-4 .row-search .field {
    height: 30px;
  }
  footer .foot-top .row .col.col-4 .row-search .field input[type="text"] {
    padding: 0 60px 0 10px;
  }
  footer .foot-top .row .col.col-4 .row-search .field input[type="submit"] {
    font-size: 11px;
    width: 50px;
  }
  footer .foot-top .row .col.col-4 .note {
    font-size: 11px;
  }
  footer .foot-bottom {
    padding: 18px 0;
  }
  footer .foot-bottom .other-nav ul li a {
    font-size: 11px;
    line-height: 13px;
    padding: 0 10px;
  }
  footer .foot-bottom .copyright {
    font-size: 9px;
    width: 290px;
    margin: auto;
    line-height: 12px;
  }
  .row-my-account .account-content .filter-bottom .left {
    margin-bottom: 15px;
  }
  .row-my-account .account-content .filter-bottom .left, .row-my-account .account-content .filter-bottom .right {
    float: none;
    display: block;
  }
  .row-my-account .account-content .filter-bottom .left:after, .row-my-account .account-content .filter-bottom .right:after {
    clear: both;
    content: "";
    display: block;
  }
  .row-my-account .account-content .filter-bottom .right label {
    float: left;
    margin-top: 12px;
  }
  .row-my-account .account-content .filter-bottom .selectbox {
    width: auto;
    display: block;
    margin-left: 80px;
  }
  .row-my-account .listing-order-transaction .row-address .col:nth-child(1) {
    margin-bottom: 30px;
  }
  .row-my-account .listing-order-transaction .row-address .col .inline-btn {
    bottom: 15px;
    left: 15px;
  }
  .row-my-account .listing-order-transaction .box-payment {
    padding: 15px;
  }
  .row-my-account .listing-order-transaction .box-payment .opt-checkbox.sm .item {
    width: 100%;
    padding: 0;
  }
  .row-my-account .listing-order-transaction .row-market .custom-radio label {
    margin-left: 0;
  }
  .tiramart-point-info .row {
    padding: 10px;
  }
  .tiramart-point-info .row .col {
    width: 100%;
    padding: 2%;
    float: left;
  }
  .tiramart-point-info .row .col.col-right {
    position: relative;
    width: 100%;
    padding: 10px 0 0 0;
    height: auto;
  }
  .tiramart-point-info .row .col.col-right .box {
    float: left;
    width: 100%;
  }
  
  .tiramart-point-info .row .col .poin {
    font-size:40px;
  }
}

@media only screen and (max-width: 767px) and (orientation: landscape) {
  .banner-page figure {
    height: 100vh;
  }
  .banner-page figure img {
    height: 100%;
    object-fit: cover;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLmNzcyIsInNvdXJjZXMiOlsibW9iaWxlLnNjc3MiLCJzYXNzLWxpYi5zY3NzIiwiYm91cmJvbi9fYm91cmJvbi5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fcHJlZml4ZXIuc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi1pbnB1dHMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGlnaHQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19zaGFkZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3RyYW5zaXRpb24tcHJvcGVydHktbmFtZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsImJvdXJib24vaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsImJvdXJib24vaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsImJvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsImJvdXJib24vaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLCJib3VyYm9uL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19jYWxjLnNjc3MiLCJib3VyYm9uL2NzczMvX2NvbHVtbnMuc2NzcyIsImJvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJib3VyYm9uL2NzczMvX2ZvbnQtZmFjZS5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsImJvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsImJvdXJib24vY3NzMy9faHlwaGVucy5zY3NzIiwiYm91cmJvbi9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsImJvdXJib24vY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJib3VyYm9uL2NzczMvX2xpbmVhci1ncmFkaWVudC5zY3NzIiwiYm91cmJvbi9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwiYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwiYm91cmJvbi9jc3MzL19yYWRpYWwtZ3JhZGllbnQuc2NzcyIsImJvdXJib24vY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL190cmFuc2Zvcm0uc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci1jb2xvci5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItd2lkdGguc2NzcyIsImJvdXJib24vYWRkb25zL19idXR0b25zLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsImJvdXJib24vYWRkb25zL19lbGxpcHNpcy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fbWFyZ2luLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcGFkZGluZy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsImJvdXJib24vYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsImJvdXJib24vYWRkb25zL19zaXplLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdGV4dC1pbnB1dHMuc2NzcyIsImJvdXJib24vYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsImJvdXJib24vYWRkb25zL193b3JkLXdyYXAuc2NzcyIsImJvdXJib24vX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHRcclxuICAgIENvbXBhbnkgICAgOiBQVCBXZWIgQXJjaGl0ZWN0IFRlY2hub2xvZ3kgLSB3ZWJhcnEuY29tXHJcbiAgICBEb2N1bWVudCAgIDogU3R5bGVzaGVldFxyXG4gICAgQXV0aG9yICAgICA6IEFuZHJpIFNhbXN1cmlcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbkBpbXBvcnQgXCJzYXNzLWxpYlwiO1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuXHQuYWZ0ZXJfY2xlYXJ7Y29udGVudDpcIlwiO2NsZWFyOiBib3RoO2Rpc3BsYXk6IGJsb2NrO30gXHJcblx0LmFmdGVyX2NsZWFyOmFmdGVyLC53cmFwcGVyOmFmdGVyLHNlY3Rpb246YWZ0ZXJ7Y2xlYXI6Ym90aDtkaXNwbGF5OiBibG9jaztjb250ZW50OlwiIFwifSBcclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0d2lkdGg6IGF1dG87IG1hcmdpbi1sZWZ0OiAxMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7IFxyXG5cdFx0Ji5pbm5lciB7fSBcclxuXHRcdCYuaW5uZXItMiB7fVxyXG5cdH0gXHJcblxyXG5cdC5idG4ge1xyXG5cdFx0aGVpZ2h0OiA0MHB4OyBsaW5lLWhlaWdodDogNDBweDsgZm9udC1zaXplOiAxMnB4OyBcclxuXHRcdCYuYnRuLWxpbmUge1xyXG5cdFx0XHRoZWlnaHQ6IDMwcHg7IGxpbmUtaGVpZ2h0OiAyOHB4OyBmb250LXNpemU6IDExcHg7IGJvcmRlci13aWR0aDogMXB4OyBcclxuXHRcdH1cclxuXHRcdCYuZm9udC1tZCB7Zm9udC1zaXplOiAxMnB4O30gXHJcblx0XHQmLmJ0bi1zbSB7XHJcblx0XHRcdGhlaWdodDogMzBweDsgbGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5idG4tc2Nyb2xsIHtcclxuXHRcdHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDIwcHg7IGJvdHRvbTogMjBweDsgIFxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRoZWlnaHQ6NHB4OyB0b3A6IDRweDsgd2lkdGg6IDJweDsgXHJcblx0XHR9XHJcblx0fVxyXG5cdC5idG4tYmFjayB7XHJcblx0XHRmb250LXNpemU6IDExcHg7ICBcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0d2lkdGg6MTRweDsgaGVpZ2h0OiAxM3B4OyBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMTNweDsgcGFkZGluZzogMCAwIDAgMjBweDtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyAgIFx0XHJcblx0XHR9XHJcblx0XHQmLnNwYWNlLWJvdHRvbSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5wcmljZS1sYXJnZSB7XHJcblx0XHRmb250LXNpemU6IDE4cHg7IFxyXG5cdH1cclxuXHJcblx0aDMge2ZvbnQtc2l6ZTogMTZweDt9XHJcblxyXG5cdGhlYWRlciB7XHJcblx0XHRoZWlnaHQ6IDQ0cHg7IFxyXG5cdFx0LndyYXBwZXIge21hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7fSBcclxuXHRcdC5idXJnZXItbWVudSB7XHJcblx0XHRcdHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ0cHg7IG1hcmdpbjogMCAxMHB4IDAgMDtcclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0bGVmdDogMTNweDsgXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMSl7dG9wOiAxNXB4O31cclxuXHQgICAgICAgICAgICAmOm50aC1jaGlsZCgyKXt0b3A6IDIxcHg7fVxyXG5cdCAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpe3RvcDogMjdweDt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5sb2dvIHtcclxuXHRcdFx0bWFyZ2luOiA2cHggMCAwIDA7IFxyXG5cdFx0fVxyXG5cdFx0LnJpZ2h0IHtcclxuXHRcdFx0bWFyZ2luOiAwIDEzcHggMCAwO1xyXG5cdFx0XHQjYWNjb3JkaWFuLCAjYWNjb3JkaWFuMntcclxuXHRcdFx0XHQuaGF2ZS1jaGlsZHtcclxuXHRcdFx0XHRcdGgze1xyXG5cdFx0XHRcdFx0XHRhe1xyXG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXJ7IHRvcDoxMHB4OyB9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmNhcnQtb3ZlcnZpZXd7IFxyXG5cdFx0XHRcdFx0dG9wOiB1bnNldDsgYm90dG9tOiA0NXB4OyBoZWlnaHQ6IDg5dmg7IFxyXG5cdFx0XHRcdFx0LnRhYmxlLWNhcnR7XHJcblx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDk5JTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5ib3gtc2VhcmNoIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTsgXHJcblx0XHR9XHJcblx0XHQuYm94LWFjY291bnQge1xyXG5cdFx0XHRtYXJnaW46IDEwcHggMCAwIDA7IGhlaWdodDogMzRweDsgcGFkZGluZzogMCA1cHg7IFxyXG5cdFx0fVxyXG5cdFx0LmJveC1jYXJ0IHtcclxuXHRcdFx0bWFyZ2luOiAxMHB4IDAgMCAwOyBoZWlnaHQ6IDM0cHg7IHBhZGRpbmc6IDAgMCAwIDVweDsgXHJcblx0XHR9XHJcblx0XHQuYm94IHtcclxuXHRcdFx0LnN1Yi1ib3gge1xyXG5cdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0LmNvbCB7XHJcblx0XHRcdFx0XHRcdCYuZGMtbGVmdCB7cGFkZGluZy1yaWdodDogMTVweDt9XHJcblx0XHRcdFx0XHRcdC5wcm9kdWN0LXRpdGxlIHtmb250LXNpemU6IDEycHg7fVxyXG5cdFx0XHRcdFx0XHQucHJpY2Uge2ZvbnQtc2l6ZTogMTNweDt9ICBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji5kcm9wZG93bi1jYXJ0IHtcclxuXHRcdFx0XHRcdHdpZHRoOiAyOTBweDsgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuZHJvcGRvd24tY2FydCB7XHJcblx0XHRcdFx0XHQucm93IHtcclxuXHRcdFx0XHRcdFx0Ji50b3RhbCB7XHJcblx0XHRcdFx0XHRcdFx0LmNvbCB7XHJcblx0XHRcdFx0XHRcdFx0XHQmLmRjLXJpZ2h0IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjsgaGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmhlYWQtb3JkZXJ7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHQuYmFja3tcclxuXHRcdFx0XHRzcGFue1xyXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OjQ1cHg7IHdpZHRoOiA0NXB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuYm94LW9yZGVyeyBcclxuXHRcdFx0XHRsZWZ0OiA2NXB4OyBtYXJnaW4tdG9wOiAtMTBweDsgIHdpZHRoOiA5MCU7IHRvcDogN3B4O1xyXG5cdFx0XHRcdEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG5cdFx0XHRcdGg1LGg0eyBsaW5lLWhlaWdodDogMTVweDsgfVxyXG5cdFx0XHRcdGg0eyBmbG9hdDogcmlnaHQ7ICB0ZXh0LWFsaWduOiByaWdodDsgcGFkZGluZy1yaWdodDogNDBweDsgd2lkdGg6IDYwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDt9XHJcblx0XHRcdFx0aDV7IGZsb2F0OiBsZWZ0OyB3aWR0aDogNDAlIH1cclxuXHRcdFx0XHRoM3sgbWFyZ2luLXRvcDogLTEwcHg7IGZvbnQtc2l6ZTogMThweDsgfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubmF2LW1vYmlsZSB7XHJcblx0XHR3aWR0aDogMTAwJTsgXHJcblx0XHQubW9iLWlubmVyIHtcclxuXHRcdFx0d2lkdGg6IDMyMHB4OyBvdmVyZmxvdy15OiBhdXRvOyBcclxuXHRcdFx0LmhlYWQge1xyXG5cdFx0XHRcdC5sb2dvIHttYXJnaW4tbGVmdDogMjBweDt9ICBcclxuXHRcdFx0XHQuYnRuLWNsb3NlIHtyaWdodDogMTBweDt9IFxyXG5cdFx0XHR9XHJcblx0XHRcdC5zZWFyY2gtbW9iaWxlIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSB7cGFkZGluZzoyMHB4IDUwcHggMjBweCAyMHB4O31cclxuXHRcdFx0fSBcclxuXHRcdFx0Lm1lbnUge1xyXG5cdFx0XHRcdHVsIHtcclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMjBweCAyMHB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5sYW5nLW1vYiB7bWFyZ2luLWxlZnQ6IDE1cHg7IHBhZGRpbmctYm90dG9tOiAyMHB4O30gXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYXNpZGUge1xyXG5cdFx0d2lkdGg6IDMyMHB4OyBcclxuXHR9XHJcblxyXG5cdC5ib2R5LXBheW1lbnQge1xyXG5cdFx0aGVhZGVyIHtcclxuXHRcdFx0LnJpZ2h0IHtcclxuXHRcdFx0XHR0b3A6IHVuc2V0OyByaWdodDogMDsgcG9zaXRpb246IGZpeGVkOyBib3R0b206IDA7IGhlaWdodDogNDVweDsgYmFja2dyb3VuZDogIzFmYjI1YTsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMDsgcGFkZGluZzogMCAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBcclxuXHRcdFx0XHQuYm94LXRvdGFsIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcblx0XHRcdFx0XHQudHh0LXRvdGFsIHtkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMDtmb250LXNpemU6IDEwcHg7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nLXRvcDogMTBweDt9XHJcblx0XHRcdFx0XHQucHJpY2UtbGFyZ2Uge2Rpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAwO2ZvbnQtc2l6ZTogMTJweDsgZmxvYXQ6IHJpZ2h0OyBsaW5lLWhlaWdodDogdW5zZXQ7cGFkZGluZy10b3A6IDVweDt9IFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cdFxyXG5cclxuXHQuc2VsZWN0Ym94IHtcclxuXHRcdHNlbGVjdCB7Zm9udC1zaXplOiAxMXB4O30gXHJcblx0XHQmLnYyIHtcclxuXHRcdFx0aGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDtcclxuXHRcdFx0aW5wdXQge31cclxuXHRcdFx0c2VsZWN0IHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy1yaWdodDogMTVweDsgZm9udC1zaXplOiAxMnB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YWZ0ZXIge3JpZ2h0OiA1cHg7fSBcclxuXHRcdH0gXHJcblx0fVxyXG5cclxuXHQuaG9tZXNsaWRlciB7XHJcblx0XHRoZWlnaHQ6IDEwMHZoOyAgXHJcblx0XHQucGFyYWxsYXhfYm94IHtoZWlnaHQ6IDEwMCU7fSBcclxuXHRcdC5jYXB0aW9uIHtcclxuXHRcdFx0LndyYXBwZXIge1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvOyBwYWRkaW5nOiA0MHB4IDAgMCAwOyBkaXNwbGF5OiBibG9jazsgXHJcblx0XHRcdH1cclxuXHRcdFx0LnRpdGxlLXNtYWxsIHtcdFx0XHRcdFxyXG4gICAgICAgICAgICAgICAgLyomOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MzBweDsgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgfSovXHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuXHRcdGZpZ3VyZSB7XHJcblx0XHRcdGhlaWdodDogMTAwJTsgcGFkZGluZzogMDsgXHJcblx0XHR9XHJcblx0XHQuc2xpY2stc2xpZGVyIC5zbGljay10cmFjaywgLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XHJcblx0XHRcdGRpdiB7XHJcblx0ICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyAgXHJcblx0ICAgICAgICAgICAgZGl2IHtcclxuXHQgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cdCAgICAgICAgICAgICAgICAud3JhcHBlciB7XHJcblx0ICAgICAgICAgICAgICAgIFx0aGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IG1hcmdpbjogLTQwcHggMCAwIDA7ICBcclxuXHQgICAgICAgICAgICAgICAgXHRwYWRkaW5nOiA0MHB4IDAgMCAwO1xyXG5cdCAgICAgICAgICAgICAgICB9ICBcclxuXHQgICAgICAgICAgICAgICAgLnRhZ2xpbmUge1xyXG5cdCAgICAgICAgICAgICAgICBcdGhlaWdodDogYXV0bzsgIFxyXG5cdCAgICAgICAgICAgICAgICBcdC5pY29uLWxvZ28ge2hlaWdodDogYXV0bzt9XHJcblx0ICAgICAgICAgICAgICAgIFx0LnRpdGxlLXNtYWxsIHtcclxuXHQgICAgICAgICAgICAgICAgXHRcdGZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDE2cHg7IGhlaWdodDogYXV0bztcclxuXHQgICAgICAgICAgICAgICAgXHRcdG1hcmdpbjogMCAwIDAgMDsgXHJcblx0ICAgICAgICAgICAgICAgIFx0fSBcclxuXHQgICAgICAgICAgICAgICAgXHQudGl0bGUtbGFyZ2Uge1xyXG5cdCAgICAgICAgICAgICAgICBcdFx0Zm9udC1zaXplOiAzNnB4OyBsaW5lLWhlaWdodDogNDBweDsgaGVpZ2h0OiBhdXRvO1xyXG5cdCAgICAgICAgICAgICAgICBcdFx0bWFyZ2luLWJvdHRvbTogMjVweDsgIFxyXG5cdCAgICAgICAgICAgICAgICBcdH0gIFxyXG5cdCAgICAgICAgICAgICAgICBcdC5kZXNjcmlwIHtkaXNwbGF5OiBub25lO30gXHJcblx0ICAgICAgICAgICAgICAgIH0gIFxyXG5cdCAgICAgICAgICAgIH0gXHJcblx0ICAgICAgICB9XHJcblx0XHR9XHRcdFxyXG5cdH0gXHJcblx0LmJhbm5lci1wYWdlIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHRmaWd1cmUge1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87ICBcclxuXHRcdH1cclxuXHRcdC5jYXB0aW9uIHtcclxuXHRcdFx0LndyYXBwZXIge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlOyBtYXJnaW46IDA7IFxyXG5cdFx0XHR9XHJcblx0XHRcdC50YWdsaW5lIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0LnRpdGxlLXNtYWxsIHtmb250LXNpemU6IDExcHg7bWFyZ2luOiAwIDAgMCAwO31cclxuXHRcdFx0LnRpdGxlLWxhcmdlIHtmb250LXNpemU6IDM2cHg7fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYmFubmVyLWxhcmdlLWhvbWUge1xyXG5cdFx0aGVpZ2h0OiAxMDB2aDtcclxuXHRcdC5jYXB0aW9uIHtcclxuXHRcdFx0LnRhZ2xpbmUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDIycHg7IHdpZHRoOiAyMjBweDsgcGFkZGluZzogMCAwIDAgMDsgXHJcblx0XHRcdH0gXHJcblx0XHR9XHJcblx0XHRmaWd1cmUge1xyXG5cdFx0XHRoZWlnaHQ6IDEwMHZoO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQucm93LWNhdGVnb3J5IHtcclxuXHRcdHBhZGRpbmc6IDIwcHggMCAxMHB4IDA7ICBcclxuXHRcdC5yb3cge1xyXG5cdFx0XHQuY29sIHtcclxuXHRcdFx0XHRtYXJnaW46IDAgMCAxMHB4IDA7IFxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDVweCk7XHJcblx0XHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXJSYWRpdXMoNXB4KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHR3aWR0aDoxMDAlOyBcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji5jb2wtMiB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyBcclxuXHRcdFx0XHRcdCYudG9wIHtwYWRkaW5nOiAwO31cclxuXHRcdFx0XHRcdCYuYm90dG9tIHtwYWRkaW5nOiAwO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnJvdy1iZXN0LXNlbGxlciB7XHJcblx0XHRwYWRkaW5nOiAzMHB4IDA7IFxyXG5cdFx0aDMge1xyXG5cdFx0XHQmLm1vcmUge1xyXG5cdFx0XHRcdGEge2ZvbnQtc2l6ZTogMTFweDsgbWFyZ2luOiAzcHggMCAwIDA7fSAgXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5zbGljay1hcnJvdyB7XHJcblx0XHRcdHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIycHg7IG1hcmdpbi10b3A6IC01cHg7ICBcclxuXHRcdFx0dG9wOiAxMDAlOyBcclxuXHRcdFx0Ji5zbGljay1uZXh0IHtcclxuXHRcdFx0XHRsZWZ0OiA1MCU7IG1hcmdpbi1sZWZ0OiAxMXB4OyBcclxuXHRcdFx0XHQmOmJlZm9yZSB7YmFja2dyb3VuZC1zaXplOiA2cHggOXB4O31cclxuXHRcdFx0fVxyXG5cdFx0XHQmLnNsaWNrLXByZXYge1xyXG5cdFx0XHRcdGxlZnQ6IDUwJTsgbWFyZ2luLWxlZnQ6IC0xMXB4O1xyXG5cdFx0XHRcdCY6YmVmb3JlIHtiYWNrZ3JvdW5kLXNpemU6IDZweCA5cHg7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucHJvZHVjdC1saXN0IHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzMHB4OyBcclxuXHRcdC5yb3cge1xyXG5cdFx0XHQuY29sIHtcclxuXHRcdFx0XHR3aWR0aDogNDglOyBwYWRkaW5nOiA1cHg7IG1hcmdpbi1ib3R0b206IDQlO1xyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDNuKzMpIHttYXJnaW4tcmlnaHQ6IDIlO31cclxuXHRcdFx0XHQmOm50aC1jaGlsZCgybisyKSB7bWFyZ2luLXJpZ2h0OiAwO31cdFx0XHRcdFxyXG5cdFx0XHRcdC5kZXMge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTsgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5wcmljZSB7Zm9udC1zaXplOiAxNHB4O30gXHJcblx0XHRcdFx0LnByaWNlLWRpc2Mge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMXB4OyBcclxuXHRcdFx0XHRcdC5kaXNjIHtmb250LXNpemU6IDlweDt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5yaWJib24ge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiAxNHB4OyAgXHJcblx0XHRcdFx0XHQmLm5ldyB7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzMHB4OyBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYuZGlzYyB7XHJcblx0XHRcdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDZweCAwIDAgMDsgbGluZS1oZWlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYuc2FsZSB7bGluZS1oZWlnaHQ6IDMwcHg7fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRmaWd1cmUge1xyXG5cdFx0XHRcdFx0LypoZWlnaHQ6IDkwcHg7ICovcGFkZGluZy10b3A6IDA7ICBcclxuXHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQudGl0bGUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4OyBsaW5lLWhlaWdodDogMTVweDsgY29sb3I6ICMxMTE7IG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuY29sLTQge1xyXG5cdFx0XHQucm93IHtcclxuXHRcdFx0XHQuY29sIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggNXB4OyBcclxuXHRcdFx0XHRcdC5kZXMge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jazsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLm90aGVyIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdC5jb2wge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDQ5JTtcclxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDNuKzMpIHttYXJnaW4tcmlnaHQ6IDIlO30gICBcclxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDRuKSB7ZGlzcGxheTogYmxvY2s7fSBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYubGlzdC1wcm9tbyB7XHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdC5jb2wge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDQ4JTsgcGFkZGluZzogNXB4OyBtYXJnaW4tYm90dG9tOiA0JTsgXHJcblx0XHRcdFx0XHQmOm50aC1jaGlsZCg0bis0KSB7bWFyZ2luLXJpZ2h0OiAyJTt9XHJcblx0XHRcdFx0XHQmOm50aC1jaGlsZCgzbiszKSB7bWFyZ2luLXJpZ2h0OiAyJTt9XHJcblx0XHRcdFx0XHQmOm50aC1jaGlsZCgybisyKSB7bWFyZ2luLXJpZ2h0OiAwO30gXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5yb3ctb3RoZXIge1xyXG5cdFx0cGFkZGluZzogMjBweCAwIDAgMDtcclxuXHR9XHJcblxyXG5cdC5yb3ctdGVzdGltb25pIHtcclxuXHRcdC5yb3cge1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzVweDsgXHJcblx0XHRcdC5zbGljay1zbGlkZSB7XHJcblx0XHRcdFx0d2lkdGg6IDI1MHB4OyBcclxuXHRcdFx0fVxyXG5cdFx0XHQuY29sIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDEwcHggMCAwOyAgXHJcblx0XHRcdFx0ZmlndXJlIHtcclxuXHRcdFx0XHRcdHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuYm94IHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDQwcHggMTJweCAxOHB4IDEycHg7IGhlaWdodDogYXV0bzsgIFxyXG5cdFx0XHRcdFx0LnRzLXRvcCB7XHJcblx0XHRcdFx0XHRcdC5uYW1lIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7IFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdC5wb3NpdGlvbiB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuZGVzIHtmb250LXNpemU6IDExcHg7fVxyXG5cdFx0XHRcdH0gXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5zbGljay1kb3RzIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDsgXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRtYXJnaW46IDAgNHB4O1xyXG5cdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTBweDsgaGVpZ2h0OiA0cHg7IFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLnNsaWNrLWFjdGl2ZSB7XHJcblx0XHRcdFx0XHRidXR0b24ge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnJvdy1zcHJlYWQge1xyXG5cdFx0cGFkZGluZzogMTBweCAwIDQwcHggMDtcclxuXHRcdC53cmFwcGVyIHtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDAgMCAyMHB4IDA7ICAgIFxyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0fVxyXG5cdFx0ZmlndXJlIHtcclxuXHRcdFx0dG9wOiAtMzBweDsgbGVmdDogNTAlOyB3aWR0aDogMTkzcHg7IGhlaWdodDoxNTdweDsgXHJcblx0XHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwwKSk7IFxyXG5cdFx0fVxyXG5cdFx0LnRleHQge1xyXG5cdFx0XHRwYWRkaW5nOiAxMzVweCAxNXB4IDE1cHggMTVweDsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDoyMHB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG5cdFx0XHRwIHtsaW5lLWhlaWdodDogMjBweDt9XHJcblx0XHR9XHJcblx0XHQuYnRuLmFicy5hYnMtcmlnaHQge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IG5vbmU7IGxlZnQ6IDA7IGZvbnQtc2l6ZTogMTFweDsgXHJcblx0XHRcdHBhZGRpbmc6IDAgMjBweDsgaGVpZ2h0OiA0MHB4OyBsaW5lLWhlaWdodDogNDBweDsgICBcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5taWRkbGUge1xyXG5cdFx0cGFkZGluZzogNDRweCAwIDIwcHggMDsgbWluLWhlaWdodDogMzAwcHg7ICAgXHJcblx0fVxyXG5cdC5iYW5uZXItcHJvZHVjdCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdH1cdFxyXG5cdC5zdGF5LXdhe1xyXG5cdFx0cmlnaHQ6IDIwcHg7IGJvdHRvbTogMjBweDtcclxuXHRcdGEgeyBtYXJnaW4tbGVmdDogNXB4OyBiYWNrZ3JvdW5kLXNpemU6IDUwJSAhaW1wb3J0YW50OyB3aWR0aDo0NXB4OyBoZWlnaHQ6IDQ1cHg7IH1cclxuXHR9IFxyXG5cdC5tYWluLWZpbHRlciB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4OyBcclxuXHRcdC5maWx0ZXItdG9wIHtcclxuXHRcdFx0aDMge2ZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDE5cHg7ZmxvYXQ6IG5vbmU7ZGlzcGxheTogYmxvY2s7bWFyZ2luLWJvdHRvbTogMnB4O31cclxuXHRcdFx0LnNtYWxsIHtcclxuXHRcdFx0XHRmbG9hdDogbm9uZTsgZGlzcGxheTogYmxvY2s7cGFkZGluZzogMCAwIDAgMDsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiAxMXB4O1xyXG5cdFx0XHR9IFxyXG5cdFx0fVxyXG5cdFx0LmZpbHRlci10b3Age1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDsgXHJcblx0XHR9XHJcblx0XHQuZmlsdGVyLWJvdHRvbSB7XHJcblx0XHRcdHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDEwcHg7ICBcclxuXHRcdFx0bGFiZWwge2ZvbnQtc2l6ZTogMTBweDttYXJnaW4tYm90dG9tOiA1cHg7IG1hcmdpbi1ib3R0b206IDVweDsgZGlzcGxheTogYmxvY2s7fVxyXG5cdFx0XHQuc2VsZWN0Ym94IHtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDEwMCU7IGZvbnQtc2l6ZTogMTFweDtcclxuXHRcdFx0XHRzZWxlY3Qge2ZvbnQtc2l6ZTogMTFweDt9IFxyXG5cdFx0XHR9IFxyXG5cdFx0XHQubGVmdCB7XHJcblx0XHRcdFx0d2lkdGg6IDUwJTsgbWFyZ2luOjAgMCAxMHB4IDA7IHBhZGRpbmc6IDAgNXB4IDAgMDtcclxuXHRcdFx0XHRAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcblx0XHRcdH1cclxuXHRcdFx0LnJpZ2h0IHtcclxuXHRcdFx0XHR3aWR0aDogNTAlOyBtYXJnaW46MCAwIDEwcHggMDsgcGFkZGluZzogMCAwIDAgNXB4OyBcclxuXHRcdFx0XHRAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcblx0XHRcdH1cclxuXHRcdFx0LmZpbHRlci1tb2JpbGUge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlOyBtYXJnaW46IDBweCAwIDAgMDsgcGFkZGluZzogMTBweCAwIDAgMDsgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkOGQ4ZDg7IFxyXG5cdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTsgXHJcblx0XHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDVweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC5pY28ge21hcmdpbjogNXB4IDEwcHggMCAwO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmZpbHRlci1yYXRlIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMDsgXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRtYXJnaW46IDAgNnB4IDZweCAwOyBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYudjIge1x0XHRcdFxyXG5cdFx0XHQuZmlsdGVyLWJvdHRvbSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTsgcGFkZGluZzogNXB4IDAgNXB4IDA7ICBcclxuXHRcdFx0XHQubGVmdCB7ZGlzcGxheTogbm9uZTt9XHJcblx0XHRcdFx0LnJpZ2h0IHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7ICBcclxuXHRcdFx0XHRcdC5sYWJlbCB7XHJcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0OyB3aWR0aDogMjUlOyBmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwOyBcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBcclxuXHRcdFx0XHRcdH0gXHJcblx0XHRcdFx0XHQuc2VsZWN0Ym94IHtcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNzAlOyBtaW4td2lkdGg6IDcwJTsgXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5taWQtY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAyMHB4IDAgMjBweCAwO1xyXG5cdFx0Ji5wcm9kdWN0IHtwYWRkaW5nLXRvcDogMTBweDt9ICBcclxuXHRcdHAge2ZvbnQtc2l6ZTogMTNweDtsaW5lLWhlaWdodDogMjBweDt9IFxyXG5cdFx0Lm5hdi10YWIge1xyXG5cdFx0XHRib3JkZXI6MDsgXHJcblx0XHRcdHVsIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lOyBcclxuXHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMCA1cHggMTBweCA1cHg7IGZvbnQtc2l6ZTogMTFweDsgXHJcblx0XHRcdFx0XHRcdC50eHQge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7IFxyXG5cdFx0XHRcdFx0XHRcdCYuaW5mbyB7YmFja2dyb3VuZDogbm9uZTt9XHJcblx0XHRcdFx0XHRcdFx0Ji5yZXZpZXcge2JhY2tncm91bmQ6IG5vbmU7fVxyXG5cdFx0XHRcdFx0XHRcdCYuZGlzY3VzcyB7YmFja2dyb3VuZDogbm9uZTt9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQmLmFjdGl2ZSB7IFxyXG5cdFx0XHRcdFx0XHRhIHtcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdC50eHQge1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDsgXHJcblx0XHRcdFx0XHRcdFx0XHQmLmluZm8ge2JhY2tncm91bmQ6IG5vbmU7fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ji5yZXZpZXcge2JhY2tncm91bmQ6IG5vbmU7fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ji5kaXNjdXNzIHtiYWNrZ3JvdW5kOiBub25lO31cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Lm5hdlRhYk1vYmlsZSB7XHJcblx0ICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDMwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQgICAgICAgICAgICBzZWxlY3Qge1xyXG5cdCAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMjhweDsgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcclxuXHQgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDM7IGJhY2tncm91bmQ6IG5vbmU7IFxyXG5cdCAgICAgICAgICAgICAgICBjb2xvcjogIzc5NTMxZDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgXHJcblx0ICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgXHJcblx0ICAgICAgICAgICAgfVxyXG5cdCAgICAgICAgICAgICY6YmVmb3JlIHtcclxuXHQgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjRweDsgaGVpZ2h0OiAxMDAlOyBjb250ZW50OiBcIlwiOyByaWdodDogMDsgdG9wOiAwO1xyXG5cdCAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnItZHJvcC1zbS5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuXHQgICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuXHQgICAgICAgICAgICB9XHJcblx0ICAgICAgICB9XHJcblx0XHR9XHJcblx0XHQucGFnaW5nIHtcclxuXHRcdFx0dWwge21hcmdpbjogMCAwIDAgMDt9IFxyXG5cdFx0fVxyXG5cdFx0LnJvdy1kZXNjcmlwdGlvbiB7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCAwIDA7IG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0XHRcdCYudGFicyB7XHJcblx0XHRcdFx0Lm5hdi10YWIge1xyXG5cdFx0XHRcdFx0dWwge2Rpc3BsYXk6IGJsb2NrO30gXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuc3ViLW5hdiB7XHJcblx0XHRcdGJvcmRlcjowOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBiYWNrZ3JvdW5kOiAjZWFlYWVhOyBwYWRkaW5nOiAxMHB4IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblx0XHRcdG1hcmdpbi10b3A6IC0yMHB4OyBcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB0b3A6IDA7IGxlZnQ6IC01MCU7IGNvbnRlbnQ6IFwiXCI7IFxyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNlYWVhZWE7IHotaW5kZXg6IDE7XHJcblx0XHRcdH1cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHRvcDogMDsgcmlnaHQ6IC01MCU7IGNvbnRlbnQ6IFwiXCI7IFxyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNlYWVhZWE7IHotaW5kZXg6IDE7XHJcblx0XHRcdH1cclxuXHRcdFx0dWwge2Rpc3BsYXk6IG5vbmU7fVx0XHRcclxuXHRcdFx0LnN1Yk5hdk1vYmlsZSB7XHJcblx0ICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDQwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB6LWluZGV4OiAzOyBcclxuXHQgICAgICAgICAgICBzZWxlY3Qge1xyXG5cdCAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiA0MHB4OyBsaW5lLWhlaWdodDogMzhweDsgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcclxuXHQgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDM7IGJhY2tncm91bmQ6IG5vbmU7IFxyXG5cdCAgICAgICAgICAgICAgICBjb2xvcjogIzc5NTMxZDsgZm9udC13ZWlnaHQ6IGJvbGQ7IFxyXG5cdCAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IFxyXG5cdCAgICAgICAgICAgIH1cclxuXHQgICAgICAgICAgICAmOmJlZm9yZSB7XHJcblx0ICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDI0cHg7IGhlaWdodDogMTAwJTsgY29udGVudDogXCJcIjsgcmlnaHQ6IDA7IHRvcDogMDtcclxuXHQgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyLWRyb3Atc20ucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcblx0ICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcblx0ICAgICAgICAgICAgfVxyXG5cdCAgICAgICAgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ym9keS5jbXMge1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMjJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cdC5yaWJib24tbGcge2xlZnQ6IDVweDsgdG9wOiAwO30gXHJcblx0LmhlYWRpbmctbGFyZ2Uge2ZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDI0cHg7fSBcclxuXHQuaGVhZGluZy1sZyB7XHJcblx0XHRmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG5cdFx0Lm5vdGUge2ZvbnQtc2l6ZTogMTNweDsgcGFkZGluZzogNXB4IDAgMCAwO31cclxuXHR9IFxyXG5cdC5oZWFkaW5nLW1kIHtmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyMHB4O31cclxuXHQuaGVhZGluZy1zbSB7bWFyZ2luLWJvdHRvbTogMTBweDsgZm9udC1zaXplOiAxNHB4O30gICAgXHJcblx0LmhlYWRpbmcteHNtIHtmb250LXNpemU6IDE0cHg7fSBcclxuXHQucHJpY2Uge1xyXG5cdFx0Ji5sYXJnZSB7Zm9udC1zaXplOiAxNnB4O30gXHJcblx0fVxyXG5cclxuXHQucHJvZHVjdC1kZXRhaWwge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdC5wcm9kdWN0LWdhbGxlcnkge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMTVweDsgXHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7ICBcclxuXHRcdFx0LmltYWdlcy1sZyB7XHJcblx0XHRcdFx0cGFkZGluZzogMDsgXHJcblx0XHRcdH1cclxuXHRcdFx0LmltYWdlcy1zbSB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlOyBcclxuXHRcdFx0XHR3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHRcdC5zbGljay1zbGlkZSB7XHJcblx0XHRcdFx0XHR3aWR0aDogNzBweDsgaGVpZ2h0OiA1MnB4OyBtYXJnaW4tcmlnaHQ6IDZweDsgXHJcblx0XHRcdFx0XHRmaWd1cmUge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IFxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuc2xpY2stbGlzdCB7aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7fSBcclxuXHRcdC5wcm9kdWN0LXRleHQge1xyXG5cdFx0XHQucm93LWJveCB7XHJcblx0XHRcdFx0cGFkZGluZzogMCAwIDhweCAwOyBtYXJnaW46IDAgMCAxNXB4IDA7IFxyXG5cdFx0XHRcdC5jb2wge1x0XHRcdFx0XHQgXHJcblx0XHRcdFx0XHQmLmJveC1yYXRlIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7IG1hcmdpbjogMCAwIDEwcHggMDsgXHJcblx0XHRcdFx0XHRcdC5jb3VudCB7Zm9udC1zaXplOiAxMXB4O31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYuYm9yZGVyLWxlZnQge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAwOyBmb250LXNpemU6IDEwcHg7IGJvcmRlci1sZWZ0OiAwOyBcclxuXHRcdFx0XHRcdFx0LmJveC1kaXNjdXNzIHtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE4cHggMTJweDsgIFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmLnJpZ2h0IHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwOyBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYubGFiZWwge3dpZHRoOiA0MHB4OyBwYWRkaW5nLXJpZ2h0OiAxNXB4O2ZvbnQtc2l6ZTogMTNweDt9IFxyXG5cdFx0XHRcdFx0Ji5wcmljZSB7Zm9udC1zaXplOiAxOHB4O31cclxuXHRcdFx0XHRcdCYucHJpY2UtZGlzYyB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdFx0LmRpc2Mge2ZvbnQtc2l6ZTogMTBweDt9IFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ji5xdWFudGl0eSB7bWFyZ2luLXJpZ2h0OiAwO31cdFxyXG5cdFx0XHRcdFx0Ji5zdG9jayB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogNXB4IDAgMCA1cHg7IFxyXG5cdFx0XHRcdFx0XHQmLmF2YWlsYWJsZSB7XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRzcGFuIHtmb250LXNpemU6IDEycHg7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji53YnV0dG9uIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMCAwIDA7ICBcclxuXHRcdFx0XHRcdC5idG4ge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTsgbWFyZ2luOiAwIDAgMTBweCAwOyBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmJveC1zaGFyZSB7XHJcblx0XHRcdFx0Lmljby1zaGFyZSB7YmFja2dyb3VuZC1zaXplOiAxM3B4IDEycHg7Zm9udC1zaXplOiAxMHB4O3BhZGRpbmc6IDAgMCAwIDIwcHg7fVxyXG5cdFx0XHR9XHRcdFx0XHRcdFxyXG5cdFx0fVx0XHRcdFxyXG5cdFx0LmlucHV0LXF0eSB7XHJcblx0XHRcdC5idG4tbWludXMge1xyXG5cdFx0XHRcdHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0JjpiZWZvcmUge3RvcDotNXB4O31cclxuXHRcdFx0fVxyXG5cdFx0XHRpbnB1dCB7XHJcblx0XHRcdFx0d2lkdGg6IDUwcHg7IGhlaWdodDogMzBweDtmb250LXNpemU6IDExcHg7IGxpbmUtaGVpZ2h0OiAxMXB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5idG4tcGx1cyB7XHJcblx0XHRcdFx0d2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDtcclxuXHRcdFx0XHQmOmJlZm9yZSB7dG9wOi0ycHg7fSBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cdFxyXG5cdC50b29sdGlwLWNhcnQge1xyXG5cdFx0d2lkdGg6IDkwJTsgcGFkZGluZzogMTVweDtcclxuXHRcdC5sZWZ0IHt3aWR0aDogMTAwJTt9XHJcblx0XHQucmlnaHQge3dpZHRoOiAxMDAlO30gXHJcblx0XHQudHh0IHtsaW5lLWhlaWdodDogMjBweDsgbWFyZ2luLWJvdHRvbTogMTVweDsgcGFkZGluZy10b3A6IDEwcHg7IHBhZGRpbmctYm90dG9tOiAxMHB4O30gICBcclxuXHR9XHJcblx0Lm5vdC1yZXZpZXcge3BhZGRpbmc6IDIwcHg7fVx0XHJcblx0LmJveC1zY3JlZW4tcmF0ZSB7XHJcblx0XHRwYWRkaW5nOiAyMHB4OyBcclxuXHRcdC52YWx1ZSB7Zm9udC1zaXplOiA2MHB4O31cclxuXHRcdC5sZWZ0IHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7IG1hcmdpbjogMCAwIDIwcHggMDtcclxuXHRcdH1cclxuXHRcdC5yaWdodCB7d2lkdGg6IDEwMCU7fSBcclxuXHR9XHJcblx0LnNjcmVlbi1yYXRlIHtcclxuXHRcdC5oaXN0b2dyYW0tc3VtbWFyeSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7IFxyXG5cdFx0XHQuY291bnQge3RvcDogLTVweDt9IFxyXG5cdFx0XHQuaGlzdG9ncmFtLWJhciB7IFxyXG5cdFx0XHRcdG1hcmdpbjowIDMzcHggMCA0NXB4OyBcclxuXHRcdFx0fVxyXG5cdFx0fVx0XHRcclxuXHR9XHJcblx0LnJvdy1kaXNjdXNzIHtcclxuXHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHQuYnRuIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7IG1hcmdpbjogMCAwIDEwcHggMDsgXHJcblx0XHR9XHJcblx0XHQudHh0IHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiA0MHB4OyBwYWRkaW5nLXRvcDogMDsgICAgXHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHR3aWR0aDozMHB4OyBoZWlnaHQ6IDE5cHg7IGJhY2tncm91bmQtc2l6ZTogMTAwJTsgXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnBvc3QtY29tbWVudCB7XHJcblx0XHQubGlzdCB7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHggMjBweCAxMHB4IDIwcHg7ICBcclxuXHRcdFx0LnJvdy1jb21tZW50IHtcclxuXHRcdFx0XHRoNCB7Zm9udC1zaXplOiAxNnB4O30gXHJcblx0XHRcdFx0cCB7Zm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMThweDt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnJvdy1hcnRpY2xlIHtcclxuXHRcdHBhZGRpbmc6IDA7IFxyXG5cdFx0LnJvdyB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDI1cHg7IFxyXG5cdFx0XHQuY29sIHtcclxuXHRcdFx0XHQmLnRleHQge1xyXG5cdFx0XHRcdFx0LmRlcyB7Zm9udC1zaXplOiAxM3B4O30gXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuaW1nIHsgXHJcblx0XHRcdFx0XHRmaWd1cmUge1xyXG5cdFx0XHRcdFx0XHQuYm94LXBsYXkge1xyXG5cdFx0XHRcdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNTVweDsgaGVpZ2h0OiA1NXB4OyBcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5ydGwge1xyXG5cdFx0XHRcdC5jb2wge1xyXG5cdFx0XHRcdFx0Ji50ZXh0IHtwYWRkaW5nOiAwO30gXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5ncmlkLXNwcmVhZCB7XHJcblx0XHRwYWRkaW5nOiAwOyBcclxuXHRcdC5yb3cge1xyXG5cdFx0XHRwYWRkaW5nOiAyMHB4IDAgMCAwO1xyXG5cdFx0XHQuY29sIHtcclxuXHRcdFx0XHRwYWRkaW5nOiA0MHB4IDE1cHggMjBweCAxNXB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDMwcHg7IFxyXG5cdFx0XHRcdGZpZ3VyZSB7XHJcblx0XHRcdFx0XHR0b3A6IC0zMHB4OyBsZWZ0OiA1MCU7IHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLDApKTsgIFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuZGVzIHt0ZXh0LWFsaWduOiBjZW50ZXI7Zm9udC1zaXplOiAxMXB4O2xpbmUtaGVpZ2h0OiAxNnB4O30gXHJcblx0XHRcdFx0LmJ0biB7aGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDtmb250LXNpemU6IDExcHg7fSBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQubGlzdGluZy1ldmVudCB7XHJcblx0XHQucm93IHtcclxuXHRcdFx0LmNvbCB7XHJcblx0XHRcdFx0d2lkdGg6IDQ4LjUlO1xyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDNuKzMpe21hcmdpbi1yaWdodDogMyU7fSAgXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4rMil7bWFyZ2luLXJpZ2h0OiAwO30gICBcclxuXHRcdFx0XHRmaWd1cmUge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDJweCk7IFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuaW1nIHttYXJnaW4tYm90dG9tOiA4cHg7fSBcclxuXHRcdFx0XHQuZS10aXRsZSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxNnB4OyBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuZ2FsbGVyeSB7XHJcblx0XHRcdC5yb3cge21hcmdpbi1ib3R0b206IDEwcHg7fVxyXG5cdFx0XHQuY29sIHtcclxuXHRcdFx0XHR3aWR0aDogNDUlOyBtYXJnaW4tcmlnaHQ6IDclOyBcclxuXHRcdFx0XHQmOm50aC1jaGlsZCgzbiszKXttYXJnaW4tcmlnaHQ6IDclO31cclxuXHRcdFx0XHQmOm50aC1jaGlsZCgybisyKXttYXJnaW4tcmlnaHQ6IDA7fVxyXG5cdFx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogN3B4OyBcclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHR0b3A6LTdweDsgbGVmdDogN3B4OyBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZmlndXJlIHtcclxuXHRcdFx0XHRcdGhlaWdodDogNzZweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmV2ZW50LWdhbGxlcnktc2xpZGVyIHtcclxuXHRcdC5zbGlkZXItdGh1bWIge1xyXG5cdFx0XHQuc2xpY2stc2xpZGUge1xyXG5cdFx0XHRcdHdpZHRoOiA4NHB4OyBoZWlnaHQ6IDQ3cHg7IG1hcmdpbi1yaWdodDogNHB4OyBvdmVyZmxvdzogaGlkZGVuOyBcclxuXHRcdFx0XHRmaWd1cmUge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlOyBcclxuXHRcdFx0XHRcdGltZyB7aGVpZ2h0OiBhdXRvO30gXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5yb3ctcmVnIHtcclxuXHRcdHBhZGRpbmc6IDA7IFxyXG5cdFx0LmNvbCB7XHJcblx0XHRcdCYudGV4dCB7XHJcblx0XHRcdFx0LmJhbmstYWNjb3VudCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4O1xyXG5cdFx0XHRcdFx0ZmlndXJlIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDsgXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjgpKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cC5uYW1lIHtmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxM3B4OyBtYXJnaW46IDAgMCAycHggMDt9IFxyXG5cdFx0XHRcdFx0cC5udW1iZXIge2ZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDIwcHg7IG1hcmdpbjowO30gXHJcblx0XHRcdFx0fSBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5yZXN1bHQge1xyXG5cdFx0XHQgLmNvbCB7XHJcblx0XHRcdCBcdCYudGV4dCB7d2lkdGg6IDEwMCU7fSBcclxuXHRcdFx0IFx0YSB7ZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAxMHB4O30gXHJcblx0XHRcdCB9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5ib3gtc3RlcCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG5cdFx0LnN0ZXAge1xyXG5cdFx0XHR3aWR0aDogMzIuOCU7IFxyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHR3aWR0aDogODBweDsgZm9udC1zaXplOiAxMXB4OyBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQub3B0LWNoZWNrYm94IHtcclxuXHRcdC5pdGVtIHtcclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggNXB4OyAgIFxyXG5cdFx0XHRcdHAge2ZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IDE1cHg7fSAgXHJcblx0XHRcdH0gXHJcblx0XHR9XHJcblx0XHQmLm1kIHtcclxuXHRcdFx0Lml0ZW0ge1xyXG5cdFx0XHRcdHdpZHRoOiA1MCU7IG1hcmdpbi1yaWdodDogMDsgIFxyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDVweDsgXHJcblx0XHRcdFx0QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyAgXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4rMil7cGFkZGluZy1sZWZ0OiA1cHg7cGFkZGluZy1yaWdodDogMDt9IFxyXG5cdFx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMTVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuc20ge1xyXG5cdFx0XHQuaXRlbSB7XHJcblx0XHRcdFx0d2lkdGg6IDUwJTsgbWFyZ2luLXJpZ2h0OiAwOyBtaW4td2lkdGg6IDUwJTsgICBcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7IFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgIFxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDJuKzIpe3BhZGRpbmctbGVmdDogNXB4O3BhZGRpbmctcmlnaHQ6IDA7fSAgXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYudm91Y2hlciB7XHJcblx0XHRcdC5pdGVtIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTsgcGFkZGluZzogMDtcclxuXHRcdFx0XHQmOm50aC1jaGlsZCgybisyKSB7cGFkZGluZzogMDt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYubGcge1xyXG5cdFx0XHQuaXRlbSB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7IHBhZGRpbmc6IDA7IG1hcmdpbjogMCAwIDEwcHggMDsgICBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYm94LXBheW1lbnQge1xyXG5cdFx0cGFkZGluZzogMTBweDsgXHJcblx0XHQucm93IHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDsgXHJcblx0XHR9XHJcblx0fVxyXG5cdC5mb3JtLXN0ZCB7XHJcblx0XHRwYWRkaW5nOiAwOyBcclxuXHRcdGlucHV0IHtwYWRkaW5nOiAwIDEwcHg7Zm9udC1zaXplOiAxMnB4OyBoZWlnaHQ6IDM1cHg7IGxpbmUtaGVpZ2h0OiAzNXB4O31cclxuXHRcdC5pbnB1dF9maWxlIHtcclxuXHRcdFx0cGFkZGluZzogMCAxMHB4IDAgMTBweDtmb250LXNpemU6IDEycHg7IGhlaWdodDogMzVweDsgbGluZS1oZWlnaHQ6IDM1cHg7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHR3aWR0aDoyMHB4OyBoZWlnaHQ6IDg1JTsgdG9wOiAycHg7IHJpZ2h0OiA1cHg7IFxyXG5cdFx0XHR9XHJcblx0XHRcdGlucHV0IHtwYWRkaW5nLWxlZnQ6IDVweDsgdGV4dC1hbGlnbjogbGVmdDt9IFxyXG5cdFx0fVxyXG5cdFx0dGV4dGFyZWEge3BhZGRpbmc6IDEwcHggMTBweDtmb250LXNpemU6IDEycHg7IGhlaWdodDogOTBweDt9ICBcclxuXHRcdGxhYmVsIHtsaW5lLWhlaWdodDogMTVweDsgbWFyZ2luLWJvdHRvbTogNXB4O30gXHJcblx0XHQuYnRuIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBcclxuXHRcdH1cclxuXHRcdC5mb3Jnb3Qge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAxMHB4IDAgMCAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG5cdFx0fVxyXG5cdFx0LnR4dC1sb2dpbiB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDEycHggMCAwIDA7IFxyXG5cdFx0fVxyXG5cdFx0LmZvcm0tZ3JvdXAge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4OyBcclxuXHRcdFx0JjpsYXN0LWNoaWxkIHt9IFxyXG5cdFx0fVxyXG5cdFx0LnNlbmQtY29kZSB7XHJcblx0XHRcdGEuYnRuLXNlbmQtY29kZSB7bGluZS1oZWlnaHQ6IDM1cHg7IGhlaWdodDozNXB4OyBmb250LXNpemU6IDExcHg7fSAgXHJcblx0XHR9XHJcblx0XHQucm93LW9wdCB7XHJcblx0XHRcdC5jb2wtb3B0IHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTsgcGFkZGluZzogMCAwIDAgMDsgbWFyZ2luLWJvdHRvbTogMTVweDsgICBcclxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge3BhZGRpbmctbGVmdDowOyBtYXJnaW4tYm90dG9tOiAwO30gIFxyXG5cdFx0XHR9ICBcclxuXHRcdH1cclxuXHRcdC5yb3ctZGF0ZSB7XHJcblx0XHRcdC5jb2wtZHQge1xyXG5cdFx0XHRcdCYuYmlydGgge3dpZHRoOiAxMDAlOyBtYXJnaW46IDAgMCAxMHB4IDA7fVxyXG5cdFx0XHRcdCYuZGF0ZSB7d2lkdGg6IDEwMCU7IG1hcmdpbjogMCAwIDEwcHggMDt9XHJcblx0XHRcdFx0Ji55ZWFyIHt3aWR0aDogMzAlO31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnJvdy1yYWRpbyB7XHJcblx0XHRcdC5yYWRpbyB7XHJcblx0XHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmZvcm0tY2hpbGQge1xyXG5cdFx0XHRwYWRkaW5nOiAxMHB4IDAgMCAwOyAgXHJcblx0XHRcdC5yb3ctaGFsZiB7XHJcblx0XHRcdFx0LmNvbC1oYWxmIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5ib3gtZGlzY2xhaW1lciB7XHJcblx0XHRcdHBhZGRpbmc6IDE4cHggNXB4IDE4cHggMThweDsgIFxyXG5cdFx0XHRwIHtmb250LXNpemU6IDEycHg7fVxyXG5cdFx0fVxyXG5cdFx0ZmllbGRzZXQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0XHQmOmxhc3QtY2hpbGQge21hcmdpbi1ib3R0b206MDt9IFxyXG5cdFx0fVxyXG5cdFx0LnJvdy1zdCB7XHJcblx0XHRcdC5jb2wtc3Qge1xyXG5cdFx0XHRcdCYubGYge3dpZHRoOiAxMDAlOyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1ib3R0b206IDEwcHg7fSBcclxuXHRcdFx0XHQmLnJmIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlOyBcclxuXHRcdFx0XHRcdC5idG4ge2xpbmUtaGVpZ2h0OiAzMHB4OyBoZWlnaHQ6IDMwcHg7fSAgIFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmNoZWNrYm94IHtcclxuXHRcdFx0bGFiZWwge21hcmdpbi1ib3R0b206IDA7fSBcclxuXHRcdFx0aW5wdXQge2hlaWdodDogMTAwJTsgbGluZS1oZWlnaHQ6IDEwMCU7fSBcclxuXHRcdH1cclxuXHR9XHJcblx0LnJvdy1mb3JtIHtcclxuXHRcdHBhZGRpbmc6IDEwcHggMCAwIDA7IFxyXG5cdFx0LnJvdyB7XHJcblx0XHRcdC5jb2wge1xyXG5cdFx0XHRcdCYuZnVsbCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAwO1xyXG5cdFx0XHRcdFx0YSB7bWFyZ2luOiAwIDAgMTBweCAwO30gXHJcblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge3BhZGRpbmctdG9wOiAyMHB4O30gXHJcblx0XHRcdFx0fSBcclxuXHRcdFx0XHQmLmNvbC0zIHtcclxuXHRcdFx0XHRcdHdpZHRoOiA0OSU7IG1hcmdpbjogMCAyJSAxMHB4IDA7IFxyXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMm4rMil7bWFyZ2luLXJpZ2h0OiAwO30gXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuY29sLTQge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7IG1hcmdpbjogMCAwIDEwcHggMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmZvcm0tYWRkIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA2NXB4OyBcclxuXHRcdC5tYWluc2xpZGVyLWFyZWEge1xyXG5cdFx0XHRwYWRkaW5nOiAwOyBib3JkZXI6MDsgXHJcblx0XHR9XHJcblx0XHQuYnV0dG9uLWFkZCB7XHJcblx0XHRcdGhlaWdodDogODBweDsgcGFkZGluZzogMTBweDsgXHJcblx0XHRcdC5pYy10ZXh0IHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMjhweDsgbGluZS1oZWlnaHQ6IDE0cHg7IG1hcmdpbi10b3A6IDhweDsgXHJcblx0XHRcdFx0JjpiZWZvcmV7XHJcblx0XHRcdFx0XHR3aWR0aDoyNHB4OyBoZWlnaHQ6IDI0cHg7IGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IFxyXG5cdC5mb3JtLXRlc3RpIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA2NXB4OyBcclxuXHRcdC50ZXN0aW1vbmktYXJlYSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7IGJvcmRlcjowOyBcclxuXHRcdH1cclxuXHRcdC5idXR0b24tdGVzdGkge1xyXG5cdFx0XHRoZWlnaHQ6IDgwcHg7IHBhZGRpbmc6IDEwcHg7IFxyXG5cdFx0XHQuaWMtdGV4dCB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDI4cHg7IGxpbmUtaGVpZ2h0OiAxNHB4OyBtYXJnaW4tdG9wOiA4cHg7IFxyXG5cdFx0XHRcdCY6YmVmb3Jle1xyXG5cdFx0XHRcdFx0d2lkdGg6MjRweDsgaGVpZ2h0OiAyNHB4OyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQudXBsb2FkLWZpbGUtbXVsdGlwbGUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDsgXHJcblx0XHQud3JhcC1maWxlcyB7XHJcblx0XHRcdC5saXN0LWJveCB7XHJcblx0XHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0XHR3aWR0aDogODBweDsgaGVpZ2h0OiA4MHB4OyBwYWRkaW5nOiA1cHg7IFxyXG5cdFx0XHRcdFx0LmljLXRleHQge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4IDAgMCAwOyBmb250LXNpemU6IDlweDtcclxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOjE4cHg7IGhlaWdodDogMThweDsgYmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7IFxyXG5cdFx0XHRcdFx0XHRcdHRvcDogMHB4O1xyXG5cdFx0XHRcdFx0XHR9ICBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlucHV0IHtcclxuXHRcdFx0XHRcdFx0Ji50b2dnbGUge3BhZGRpbmc6IDAgNXB4O31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IFxyXG5cdFx0XHRcdC5ib3gge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogNXB4OyBoZWlnaHQ6IDgwcHg7IFxyXG5cdFx0XHRcdFx0LnJlbW92ZSB7XHJcblx0XHRcdFx0XHRcdHJpZ2h0OiA1cHg7IGJvdHRvbTogNXB4O1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDsgXHJcblx0XHRcdFx0XHR9IFxyXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoM24rMykge21hcmdpbi1yaWdodDogMi42NyU7fSBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cdFxyXG5cdH1cclxuXHQucm93LW15LWFjY291bnQge1xyXG5cdFx0LnNpZGUtcHJvZmlsZSB7XHJcblx0XHRcdGhlaWdodDogYXV0bzsgXHJcblx0XHRcdC5waG90by1wcm9maWxlIHt3aWR0aDogMTAwJTsgbWluLWhlaWdodDogODBweDt9XHJcblx0XHRcdC5ib3gtcG9pbiB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgcGFkZGluZzogN3B4IDEwcHg7XHJcblx0XHRcdFx0LnR4dCB7d2lkdGg6IGF1dG87IHBhZGRpbmc6IDhweCAwIDAgMDt9XHJcblx0XHRcdFx0LnRvdGFsIHtcclxuXHRcdFx0XHRcdGZsb2F0OiByaWdodDsgd2lkdGg6IGF1dG87IHBhZGRpbmc6IDAgMzVweCAwIDA7IFxyXG5cdFx0XHRcdFx0LnJlZGVlbSB7d2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgdG9wOiAtM3B4O30gXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQubmF2LWFjY291bnQge1xyXG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xyXG5cdFx0XHQuc2VsZWN0RmlsdGVyIHtcclxuXHRcdFx0XHRzZWxlY3Qge2ZvbnQtc2l6ZTogMTNweDsgcGFkZGluZy1sZWZ0OiAxMHB4O30gXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5hY2NvdW50LWNvbnRlbnQge1xyXG5cdFx0XHQucm93LWZvcm0ge1xyXG5cdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0LmNvbCB7XHJcblx0XHRcdFx0XHRcdCYucHJvZmlsLWxlZnQge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdFx0XHRcdC5mb3JtLWdyb3VwIHtcclxuXHRcdFx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7cGFkZGluZy10b3A6MDt9IFxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSBcclxuXHRcdFx0XHRcdFx0Ji5wcm9maWwtcmlnaHQge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyBcclxuXHRcdFx0XHRcdFx0XHQuZm9ybS1ncm91cCB7XHJcblx0XHRcdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge3BhZGRpbmctdG9wOjA7fSBcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0gXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5ib3gtcGhvdG8ge1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0OyBtYXJnaW46NXB4IDAgN3B4IDA7IHdpZHRoOiAxNThweDsgaGVpZ2h0OiAxNThweDsgICBcclxuXHRcdFx0XHQuaW5uZXItcGhvdG8ge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgXHJcblx0XHRcdFx0XHQuaWMtdHh0IHtcclxuXHRcdFx0XHRcdFx0dG9wOiA1NSU7IHBhZGRpbmctdG9wOiA0MHB4O1xyXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OjI4cHg7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji52MiB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDgwcHg7IHdpZHRoOiAxNDVweDsgcGFkZGluZzogNXB4OyAgXHJcblx0XHRcdFx0XHQuaW5uZXItcGhvdG8ge1x0XHRcdFx0XHRcdCBcclxuXHRcdFx0XHRcdFx0LmljLXR4dCB7XHRcdFxyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6MzJweCAwIDAgMDsgZm9udC1zaXplOiA5cHg7IFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6MjRweDsgdG9wOiA1cHg7ICBcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYudjMge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA4MHB4OyB3aWR0aDogMTQ1cHg7IHBhZGRpbmc6IDVweDsgIFxyXG5cdFx0XHRcdFx0LmlubmVyLXBob3RvIHtcdFx0XHRcdFx0XHQgXHJcblx0XHRcdFx0XHRcdC5pYy10eHQge1x0XHRcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOjMycHggMCAwIDA7IGZvbnQtc2l6ZTogOXB4OyBcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1x0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OjI0cHg7IHRvcDogNXB4OyAgXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQudXBsb2FkLWZpbGUgLndyYXAtZmlsZXMge1xyXG5cdFx0XHRcdC5pbnB1dC1saXN0IGlucHV0IHtmb250LXNpemU6IDEwcHg7fSBcclxuXHRcdFx0XHQubGlzdC1ib3gge1xyXG5cdFx0XHRcdFx0LmJveCB7XHJcblx0XHRcdFx0XHRcdC5yZW1vdmUge1xyXG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogNXB4OyByaWdodDogNXB4O1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC51cGxvYWQtZmlsZS10ZXN0aSAud3JhcC1maWxlcyAubGlzdC1ib3ggLmJveCAucmVtb3ZlIHtcclxuXHRcdFx0XHRib3R0b206IDVweDsgcmlnaHQ6IDVweDtcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lmxpc3RpbmctYWRkcmVzcyB7XHJcblx0XHRcdCYudjIge1xyXG5cdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7IG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdFx0XHQuY29sIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7IHBhZGRpbmc6IDAgMCAxMnB4IDA7XHJcblx0XHRcdFx0XHRcdCYuY29sLXJpZ2h0IHtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTsgcGFkZGluZzogMCAwIDAgMDsgdGV4dC1hbGlnbjogbGVmdDsgXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0LmxhYmVsIHtmb250LXNpemU6IDExcHg7fVxyXG5cdFx0XHRcdFx0XHQudGl0bGUtc3RhdHVzIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW4tYm90dG9tOiA1cHg7fVxyXG5cdFx0XHRcdFx0fSBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cdFxyXG5cdFx0Lmxpc3Rpbmctb3JkZXItdHJhbnNhY3Rpb257XHJcblx0XHRcdC5yb3ctdGR0e1xyXG5cdFx0XHRcdC5jb2x7IGZsb2F0OiBub25lO2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiAxMDAlO21hcmdpbi10b3A6IDIwcHg7IH1cclxuXHRcdFx0fVxyXG5cdFx0XHQucm93LWFkZHJlc3N7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDUwcHg7XHJcblx0XHRcdFx0LmNvbHtcclxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDEpLCAmOm50aC1jaGlsZCgyKXsgd2lkdGg6IDEwMCU7IGZsb2F0OiBub25lOyB9XHJcblx0XHRcdFx0XHQubGFiZWx7IGZsb2F0OiBub25lOyB3aWR0aDogMTAwJTsgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVx0XHJcblx0fVxyXG5cdC5saXN0aW5nLWFkZHJlc3Mge1xyXG5cdFx0LnJvdyB7XHJcblx0XHRcdHBhZGRpbmc6IDEwcHg7IFxyXG5cdFx0XHQuY29sIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTsgcGFkZGluZzogMDsgZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0Ji5jb2wtcmlnaHQge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgcGFkZGluZzogMTBweCAwIDAgMDsgaGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHRcdFx0LmJveCB7XHJcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0OyB3aWR0aDogMTAwJTsgXHJcblx0XHRcdFx0XHRcdC5hZGRyZXNzLW1haW4ge1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxvYXQ6IGxlZnQ7IGZvbnQtc2l6ZTogOXB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdC53cmFwLWJ0biB7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlOyBmbG9hdDogcmlnaHQ7IHdpZHRoOiBhdXRvOyByaWdodDogMDsgXHJcblx0XHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0XHQmLmVkaXQge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7YmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ji5yZW1vdmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7YmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSBcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmFkZHJlc3Mge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmLmFkZC1uZXcge1xyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTBweDtcclxuXHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDYwcHg7IHBhZGRpbmc6IDAgMCAwIDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMjJweCAwIDAgMDsgbWFyZ2luLXRvcDogMTBweDtcclxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOjI0cHg7IGhlaWdodDogMjRweDtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cdFx0XHRcdFx0XHJcblx0XHRcdFx0fSBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji52MiB7XHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdC5jb2wge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7IHBhZGRpbmc6IDA7XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0LmxhYmVsIHtmb250LXNpemU6IDExcHg7IG1hcmdpbjogMDt9IFxyXG5cdFx0XHRcdFx0Lm5hbWUtb3JkZXIge2ZvbnQtc2l6ZTogMTNweDsgbWFyZ2luOiAwIDAgNXB4IDA7fVxyXG5cdFx0XHRcdFx0LmFkZHJlc3Mge2ZvbnQtc2l6ZTogMTNweDt9IFxyXG5cdFx0XHRcdFx0Ji5jb2wtcmlnaHQge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTsgcGFkZGluZzogMCAwIDAgMDtcclxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5pZC1vcmRlciB7Zm9udC1zaXplOiAxM3B4O31cclxuXHQubmFtZS1vcmRlciB7Zm9udC1zaXplOiAxMHB4O31cclxuXHQubGlzdGluZy1vcmRlciB7XHJcblx0XHQucm93LXN0YXR1c3tcclxuXHRcdFx0bGFiZWx7IGZvbnQtc2l6ZTogMTBweDsgIH1cclxuXHQgICAgXHRzcGFueyBmb250LXNpemU6IDEzcHg7IH1cclxuXHQgICAgfVxyXG5cdFx0LnJvdyB7XHJcblx0XHRcdC5jb2wge1xyXG5cdFx0XHRcdCYubGVmdCB7XHJcblx0XHRcdFx0XHR3aWR0aDogNTAlOyBwYWRkaW5nOiAxMnB4IDEycHggN3B4IDEycHg7XHJcblx0XHRcdFx0XHQubGVmdCwgLnJpZ2h0eyBcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gIFxyXG5cdFx0XHRcdCYucmlnaHQge3dpZHRoOiA1MCU7IHBhZGRpbmc6MTJweCAxMnB4IDdweCAxMnB4OyBwYWRkaW5nLXJpZ2h0OiA3MHB4OyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTt9IFxyXG5cdFx0XHRcdC5yb3ctdG90YWwtaGlzdG9yeSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiA3cHggMCA3cHggMDtcclxuXHRcdFx0XHRcdGxhYmVsIHtmbG9hdDogcmlnaHQ7IGZvbnQtc2l6ZTogMTBweDt9IFxyXG5cdFx0XHRcdFx0LmJveC1wcmljZSB7XHJcblx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiBhdXRvOyBmb250LXNpemU6IDEzcHg7IFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuYm94LWNpcmNsZSB7XHJcblx0XHRcdFx0XHQuZHJvcGRvd24tY2lyY2xle1xyXG5cdFx0XHRcdFx0XHQuc2hvd3sgdG9wOiAwOyB9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuYm94eyB0b3A6IDIwJTsgfVxyXG5cdFx0XHRcdH0gXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYud2l0aC1kYXRle1xyXG5cdFx0XHQuZGF0ZS1oaXN0b3J5e1xyXG5cdFx0XHRcdC5sZWZ0LC5yaWdodHsgbWFyZ2luOiAwIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5wb2luIHtcclxuXHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0LmNvbCB7XHJcblx0XHRcdFx0XHQmLmxlZnQge3BhZGRpbmc6MTJweCA5MHB4IDEycHggMTJweDt9XHJcblx0XHRcdFx0XHQmLnJpZ2h0IHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAwOyB3aWR0aDogYXV0bzsgXHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEycHg7IHBhZGRpbmctbGVmdDogMTJweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5tZW1iZXIge1xyXG5cdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0LmNvbCB7XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdCYubGVmdCB7bWluLWhlaWdodDogNThweDt9ICAgXHJcblx0XHRcdFx0XHRcdCYucmlnaHQge1xyXG5cdFx0XHRcdFx0XHRcdC52YWx1ZS1zbSB7bWFyZ2luLXRvcDogMTVweDt9IFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdC5idG4ge1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMzVweDsgbGluZS1oZWlnaHQ6IDM1cHg7IHBhZGRpbmc6IDAgMTVweDsgZm9udC1zaXplOiAxMnB4OyAgICBcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuY2FydC1vdmVydmlldyB7XHJcblx0XHQucHJvZHVjdC1jYXJ0IHttaW4taGVpZ2h0OiAzMHB4O30gXHJcblx0XHQuY2hlY2tib3gtMiB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMHB4OyBsZWZ0OiA3cHg7IFxyXG5cdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gIFxyXG5cdFx0fVxyXG5cdFx0dGFibGUge1xyXG5cdFx0XHR0aGVhZCB7XHJcblx0XHRcdFx0dGgge2Rpc3BsYXk6IG5vbmU7fSBcclxuXHRcdFx0fVxyXG5cdFx0XHR0Ym9keSB7XHJcblx0XHRcdFx0dHIge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlOyBcclxuXHRcdFx0XHRcdHRkIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmU7IGJvcmRlci1ib3R0b206MDsgICAgXHJcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7IHBhZGRpbmc6NXB4IDEwcHg7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuXHRcdFx0XHRcdFx0LmNoZWNrYm94LTIge3RvcDogMThweDt9XHJcblx0XHRcdFx0XHRcdCYudGQtY2hlY2sge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAwOyBoZWlnaHQ6IDA7IHBhZGRpbmc6IDA7IFx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0Ji50ZC1wcm9kdWN0IHtwYWRkaW5nLWxlZnQ6MzVweDsgcGFkZGluZy1yaWdodDogMTBweDtwYWRkaW5nLXRvcDogMTBweDt9ICAgXHJcblx0XHRcdFx0XHRcdCYudGQtcHJpY2Uge3BhZGRpbmctbGVmdDoxMDBweDsgdGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOiAxM3B4O30gICAgXHJcblx0XHRcdFx0XHRcdCYudGQtcXR5IHtwYWRkaW5nLWxlZnQ6MTAwcHg7IHRleHQtYWxpZ246IGxlZnQ7fSAgIFxyXG5cdFx0XHRcdFx0XHQmLnRkLWFjdGlvbiB7cGFkZGluZy1sZWZ0OjEwMHB4OyB0ZXh0LWFsaWduOiBsZWZ0O30gICBcclxuXHRcdFx0XHRcdFx0Ji50ZC1zdWJ0b3RhbCB7ZGlzcGxheTogbm9uZTt9ICBcclxuXHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7cGFkZGluZy10b3A6IDA7fSAgICBcclxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtwYWRkaW5nLWJvdHRvbTogMTVweDsgcGFkZGluZy10b3A6IDE1cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWFlYWVhO30gICBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0dGZvb3Qge1xyXG5cdFx0XHRcdHRyIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblx0XHRcdFx0XHR0ZCB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOjVweCAxMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1x0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQmLnRmLWNoZWNrIHtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMDsgaGVpZ2h0OjA7IHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0Ji50Zi1wcm9kdWN0IHtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAxMnB4IDAgMTBweCAzMHB4OyBmb250LXNpemU6IDExcHg7IFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdCYudGYtdG90YWwtcHJpY2Uge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxNXB4OyBcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQudG90YWwge1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAwIDAgNXB4IDA7XHJcblx0XHRcdFx0XHRcdFx0LnR4dC10b3RhbCB7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogMCAwIDVweCAwOyBmb250LXNpemU6IDEzcHg7IFxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQucHJpY2UtbGFyZ2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0LmJ0biB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5idG4tcmVtb3ZlIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwOyBsaW5lLWhlaWdodDogMTZweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5oaXN0b3J5IHtcclxuXHRcdFx0Ym9yZGVyOiAwOyBcclxuXHRcdFx0LnRhYmxlLWNhcnQge31cclxuXHRcdFx0dGFibGUge1xyXG5cdFx0XHRcdHRoZWFkIHtcclxuXHRcdFx0XHRcdHRoIHtkaXNwbGF5OiBub25lO30gXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRib2R5IHtcclxuXHRcdFx0XHRcdHRyIHtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7IFxyXG5cdFx0XHRcdFx0XHR0ZCB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAzcHggMTBweDsgYm9yZGVyOjA7IFxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgXHJcblx0XHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7cGFkZGluZy10b3A6MTBweDt9IFxyXG5cdFx0XHRcdFx0XHRcdCYudGQtcHJpY2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNDAlOyB0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdFx0XHRcdFx0fSBcclxuXHRcdFx0XHRcdFx0XHQmLnRkLXN1YnRvdGFsIHtcclxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jazsgdGV4dC1hbGlnbjogcmlnaHQ7IGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdFx0XHRcdFx0fSBcclxuXHRcdFx0XHRcdFx0XHQmLnRkLXF0eSB7XHJcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxMCU7IGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRcdFx0fSBcclxuXHRcdFx0XHRcdFx0XHQucHJvZHVjdC1jYXJ0IHtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyBcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ji5oYXZlLXZvdWNoZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0LnByb2R1Y3QtY2FydCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyBcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdC52b3VjaGVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBibG9jazsgdG9wOiAwOyBsZWZ0OiAwOyBtYXJnaW46IDVweCAwOyBcclxuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwKSk7IFxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7cGFkZGluZy1ib3R0b206IDE1cHg7fSBcdFx0XHRcclxuXHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQmLnRyLWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0XHQucHJvZHVjdC1jYXJ0IHtwYWRkaW5nOiAwOyB3aWR0aDogMTAwJTsgcGFkZGluZzogMCAwIDAgMDt9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtib3JkZXItYm90dG9tOiBub25lO30gIFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0Zm9vdCB7XHJcblx0XHRcdFx0XHR0ciB7XHJcblx0XHRcdFx0XHRcdHRkIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1MCU7IHBhZGRpbmc6IDE1cHggMTBweDsgdGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7IHZlcnRpY2FsLWFsaWduOiB0b3A7IFxyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjZDhkOGQ4O1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuXHRcdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtmb250LXNpemU6MTNweDsgd2lkdGg6IDYwJTsgdGV4dC1hbGlnbjogbGVmdDt9XHJcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMm4pIHt3aWR0aDogNDAlO31cclxuXHRcdFx0XHRcdFx0XHQuaW5mby10cmFuc2ZlciB7Zm9udC1zaXplOiAxM3B4O31cclxuXHRcdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7IFxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxke1xyXG5cdFx0XHRcdFx0XHRcdHRkIHtwYWRkaW5nLXRvcDogMTVweDt9IFxyXG5cdFx0XHRcdFx0XHR9IFxyXG5cdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1x0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0dGQge1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDIwcHg7IHBhZGRpbmctYm90dG9tOiAyMHB4OyBcclxuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7IGhlaWdodDogNjBweDsgXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnByaWNlIHtcclxuXHRcdFx0XHQmLm1kIHtmb250LXNpemU6IDEzcHg7fSBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5saXN0LWluZm97XHJcblx0XHRcdHRhYmxle1xyXG5cdFx0XHRcdHRib2R5e1xyXG5cdFx0XHRcdFx0dHJ7XHJcblx0XHRcdFx0XHRcdHRke1xyXG5cdFx0XHRcdFx0XHRcdGF7XHJcblx0XHRcdFx0XHRcdFx0XHQuaWNvLWRvd25sb2FkLW9yYW5nZXsgcmlnaHQ6IDEwcHg7IH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm9yZGVyLXN0YXR1cyB7XHJcblx0XHQubmFtZS1vcmRlciB7Zm9udC1zaXplOiAxMHB4O30gXHJcblx0XHQucm93LWhlYWQge1xyXG5cdFx0XHRwYWRkaW5nOiAxMnB4O1xyXG5cdFx0XHQuZGF0ZS1oaXN0b3J5e1xyXG5cdFx0XHRcdC5sZWZ0LC5yaWdodHsgbWFyZ2luOiAwIH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuY29sIHtcclxuXHRcdFx0XHQmLmxlZnQge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7IHBhZGRpbmc6IDAgMCA3cHggMDtcclxuXHRcdFx0XHRcdC5sZWZ0eyB3aWR0aDogMTAwJTt9XHJcblx0XHRcdFx0fSAgXHJcblx0XHRcdFx0Ji5yaWdodCB7d2lkdGg6IDEwMCU7IHBhZGRpbmc6MCAwO30gXHJcblx0XHRcdFx0LnJvdy10b3RhbC1oaXN0b3J5IHtcclxuXHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDhkOGQ4OyBwYWRkaW5nOiA3cHggMCA3cHggMDtcclxuXHRcdFx0XHRcdGxhYmVsIHtmbG9hdDogbGVmdDsgZm9udC1zaXplOiAxMHB4O30gXHJcblx0XHRcdFx0XHQuYm94LXByaWNlIHtcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0OyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IGF1dG87IGZvbnQtc2l6ZTogMTNweDsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5ib3gtY2lyY2xlIHtcclxuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTsgZGlzcGxheTogbm9uZTsgXHJcblx0XHRcdFx0fSBcclxuXHRcdFx0fVxyXG5cdFx0fVx0XHRcclxuXHRcdC5yb3ctbWlkIHtcclxuXHRcdFx0cGFkZGluZzogMTBweDtcclxuXHRcdFx0Ji5taWRyZXZpZXcge3BhZGRpbmc6IDE1cHggMTBweCAyNXB4IDEwcHg7fSAgIFxyXG5cdFx0fVxyXG5cdFx0Lmxpc3RpbmctYWRkcmVzcyB7XHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdC5jb2wge1xyXG5cdFx0XHRcdFx0Ji5jb2wtcmlnaHQge1xyXG5cdFx0XHRcdFx0XHQuYm94IHtcclxuXHRcdFx0XHRcdFx0XHQubGFiZWwge2ZvbnQtc2l6ZTogMTFweDt9IFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuY2FydC1vdmVydmlldy5oaXN0b3J5IHtcclxuXHRcdFx0Ji50YWJsZS1vcmRlci1zdGF0dXMge1xyXG5cdFx0XHRcdHRhYmxlIHtcclxuXHRcdFx0XHRcdHRib2R5IHtcclxuXHRcdFx0XHRcdFx0dHIge1xyXG5cdFx0XHRcdFx0XHRcdHRkIHtcclxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDUwJTsgcGFkZGluZzogMTBweCAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBcclxuXHRcdFx0XHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge3dpZHRoOjEwMCU7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAxMHB4IDA7fSBcclxuXHRcdFx0XHRcdFx0XHRcdCYudGQtcHJpY2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDo1MCU7IHRleHQtYWxpZ246IGxlZnQ7IGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdFx0XHRcdFx0XHRcdH0gXHJcblx0XHRcdFx0XHRcdFx0XHQmLnRkLXN1YnRvdGFsIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6NTAlOyB0ZXh0LWFsaWduOiByaWdodDsgZm9udC1zaXplOiAxM3B4O1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRkIHtwYWRkaW5nLWJvdHRvbTogMTVweDt9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0Zm9vdCB7XHJcblx0XHRcdFx0XHRcdHRkIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1MCU7IHBhZGRpbmc6IDEwcHggMDtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7IHZlcnRpY2FsLWFsaWduOiB0b3A7IFxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuXHRcdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtmb250LXNpemU6MTNweDsgd2lkdGg6IDYzJTsgdGV4dC1hbGlnbjogbGVmdDt9XHJcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMm4pIHt3aWR0aDogMzclO31cclxuXHRcdFx0XHRcdFx0XHQuaW5mby10cmFuc2ZlciB7Zm9udC1zaXplOiAxM3B4O31cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQucHJvZHVjdC1jYXJ0IHtcclxuXHRcdFx0XHRcdC5wcm9kdWN0LW1kIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDUwcHg7IGhlaWdodDogMzVweDsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQucHJvZHVjdC10aXRsZSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnZvdWNoZXItc2VhcmNoIHtcclxuXHRcdHBhZGRpbmc6IDE3cHggMTJweDsgdGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdGxhYmVsIHtkaXNwbGF5OiBibG9jazsgdGV4dC1hbGlnbjogbGVmdDtmb250LXNpemU6IDEzcHg7bGluZS1oZWlnaHQ6IDE2cHg7bWFyZ2luOiAwIDAgNXB4IDA7fSBcclxuXHRcdGlucHV0IHtcclxuXHRcdFx0d2lkdGg6IDY4JTsgaGVpZ2h0OiAzMHB4OyBtYXJnaW4tcmlnaHQ6IDIlOyBwYWRkaW5nOiAwIDEwcHg7XHJcblx0XHR9IFxyXG5cdFx0YnV0dG9uIHtcclxuXHRcdFx0d2lkdGg6IDI4JTsgcGFkZGluZzogMDsgaGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDsgZm9udC1zaXplOiAxMXB4OyBcclxuXHRcdH1cdFx0XHJcblx0fVxyXG5cdC5yb3ctdm91Y2hlciB7XHJcblx0XHQucm93IHtcclxuXHRcdFx0LmNvbCB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7IFxyXG5cdFx0XHRcdC50ZXh0IHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDE1cHggMTJweCAxNXB4IDEzOHB4OyAgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5yb3ctcmVzdWx0LXBvaW4ge1xyXG5cdFx0cGFkZGluZzogMjBweCAxNXB4OyBcclxuXHRcdC5yb3cge1xyXG5cdFx0XHQuYm94IHtcclxuXHRcdFx0XHQmLmxlZnQge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDZweDsgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYucmlnaHQge3dpZHRoOiAxMDAlO31cclxuXHRcdFx0XHQubGFiZWwge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwOyBmbG9hdDogbGVmdDsgcGFkZGluZzogMCAwIDAgMDtcclxuXHRcdFx0XHRcdCY6YWZ0ZXIge2Rpc3BsYXk6bm9uZTt9IFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQudmFsdWUtcG9pbiB7ZmxvYXQ6IHJpZ2h0O30gIFxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDsgd2lkdGg6IDUwJTsgZmxvYXQ6IGxlZnQ7IG1hcmdpbjogMDsgXHJcblx0XHRcdFx0XHRmb250LXNpemU6IDExcHg7IHBhZGRpbmc6IDAgMTVweDtcclxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHt3aWR0aDogNDglOyBtYXJnaW4tcmlnaHQ6IDQlO31cclxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHt3aWR0aDogNDglO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lmxpc3Rpbmctbm90aWYge1xyXG5cdFx0LnJvdyB7XHJcblx0XHRcdHBhZGRpbmc6IDE1cHg7XHJcblx0XHRcdC5kYXRlIHtmb250LXNpemU6IDExcHg7fSBcclxuXHRcdFx0Lm5vdGlmLWRlc2NyaXAge2ZvbnQtc2l6ZTogMTFweDt9IFxyXG5cdFx0fSBcclxuXHR9XHJcblxyXG5cdC5ib2R5LWZvcm0ge1xyXG4gICAgICAgIC5taWQtY29udGVudCB7cGFkZGluZy1ib3R0b206IDIwcHg7fSBcclxuICAgICAgICAud3JhcHBlci5pbm5lciB7cGFkZGluZzogMCAwO31cclxuICAgICAgICBoMSB7cGFkZGluZzogMCAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjt9XHJcbiAgICAgICAgaDIge3BhZGRpbmc6IDAgMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7fSBcclxuICAgICAgICAucm93LXJlZyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGgxIHt0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDA7fSBcclxuICAgICAgICAgICAgaDIge3RleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1DU0Jfc2Nyb2xsVG9vbHMge1xyXG4gICAgXHQubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHt3aWR0aDogNHB4O30gXHJcbiAgICBcdC5tQ1NCX2RyYWdnZXJSYWlsIHtcclxuICAgIFx0XHR3aWR0aDogNHB4OyBcclxuICAgIFx0fVxyXG4gICAgfVxyXG4gICAgLmxpc3QtcGF5bWVudCB7XHJcbiAgICBcdC5saXN0IHtcclxuICAgIFx0XHRwYWRkaW5nOiAxMHB4IDEwcHg7IGZvbnQtc2l6ZTogMTNweDtcclxuICAgIFx0fVxyXG4gICAgXHQuYWNjLXRpdGxlIHtcclxuICAgICAgICAgICAgJjphZnRlciB7dG9wOjEwcHg7IHJpZ2h0OiA0cHg7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjLWRlc2NyaXAge1xyXG4gICAgICAgIFx0cGFkZGluZzogMTVweCAyMHB4OyBmb250LXNpemU6IDEzcHg7XHJcbiAgICBcdH1cclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDsgZm9udC1zaXplOiAxMnB4OyBwYWRkaW5nLWxlZnQ6IDEwcHg7ICBcclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge3BhZGRpbmc6IDZweCAxMHB4O30gXHJcbiAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge2ZvbnQtc2l6ZTogMTJweDsgcGFkZGluZzogOHB4IDEwcHg7fVxyXG4gICAgLnJvdy1hZGRyZXNzIHtcclxuICAgIFx0cGFkZGluZzogMTVweDsgXHJcbiAgICBcdCY6YmVmb3JlIHtkaXNwbGF5Om5vbmU7fSBcclxuICAgIFx0LmNvbCB7XHJcbiAgICBcdFx0JjpudGgtY2hpbGQoMSkge3dpZHRoOiAxMDAlO3BhZGRpbmc6IDA7IG1hcmdpbi1ib3R0b206IDE1cHg7fSBcclxuICAgIFx0XHQmOm50aC1jaGlsZCgyKSB7d2lkdGg6IDEwMCU7cGFkZGluZzogMDt9ICAgICBcdFx0XHJcbiAgICBcdFx0LmJveC1rdXJpciB7XHJcbiAgICBcdFx0XHRsYWJlbCB7bGluZS1oZWlnaHQ6IDMwcHg7fVxyXG4gICAgXHRcdFx0LnNlbGVjdGJveCB7aGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDt9IFxyXG4gICAgXHRcdFx0LnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtsaW5lLWhlaWdodDogMzBweDsgaGVpZ2h0OiAzMHB4O31cclxuICAgIFx0XHRcdC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgIFx0XHRcdFx0aGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDsgXHJcbiAgICBcdFx0XHR9XHJcbiAgICBcdFx0fVxyXG4gICAgXHR9XHJcbiAgICB9XHJcblxyXG4gICAgLmJveC10cmFja2luZyB7XHJcbiAgICBcdC5oZWFkLXRyYWNrIHtcclxuICAgIFx0XHQua3VyaXIge3dpZHRoOiA2MHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7fSBcclxuICAgIFx0XHQuYm94LW9yZGVyIHtcclxuICAgIFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIFx0XHRcdHNwYW4ge1xyXG4gICAgXHRcdFx0XHQmLm9yZGVyLWlkIHtmb250LXNpemU6IDE0cHg7fSBcclxuICAgIFx0XHRcdH0gXHJcbiAgICBcdFx0fSBcclxuICAgIFx0XHQuYnRuLWNvcHkge21hcmdpbjogMjBweCAwIDAgMDt9IFxyXG4gICAgXHR9XHJcbiAgICBcdC5yb3cge1xyXG4gICAgXHRcdC50cmFjay1saXN0IHsgICAgXHRcdFx0XHJcbiAgICBcdFx0XHQudHh0IHtmb250LXNpemU6IDE0cHg7fVxyXG4gICAgXHRcdH0gIFxyXG4gICAgXHR9XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZC1jb21tZW50IHtcclxuICAgIFx0Lmxpc3Qge1xyXG4gICAgXHRcdHBhZGRpbmctbGVmdDogNzBweDsgcGFkZGluZy1ib3R0b206IDEwcHg7IG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgXHRcdC5jb2wge1xyXG4gICAgXHRcdFx0Ji5maWVsZC1pbWFnZSB7d2lkdGg6IDYwcHg7IHBhZGRpbmc6IDAgNXB4O30gXHJcbiAgICBcdFx0XHQmLmZpZWxkLWRlc2NyaXAge1xyXG4gICAgXHRcdFx0XHQuYy10aXRsZSB7Zm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMTZweDt9ICBcclxuICAgIFx0XHRcdH1cclxuICAgIFx0XHR9XHJcbiAgICBcdH1cclxuICAgIFx0LmJ1dHRvbi1hcmVhIHtwYWRkaW5nLWxlZnQ6IDcwcHg7fSBcclxuICAgIH1cclxuICAgIC5yZXZpZXctcmF0ZS1tZCB7XHJcbiAgICBcdC5yYXRlLW1kIHtcclxuICAgIFx0XHR3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyBtYXJnaW46IDA7ICBcclxuICAgIFx0XHQuaWNvIHtcclxuICAgIFx0XHRcdHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4OyBcclxuICAgIFx0XHR9IFxyXG4gICAgXHRcdCYuc2VsZWN0ZWQge1xyXG4gICAgXHRcdFx0LmljbyB7YmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7fVxyXG4gICAgXHRcdH1cclxuICAgIFx0fVxyXG4gICAgfSAgICBcclxuXHJcbiAgICAuYWNjb3VudC1vdmVydmlldyB7XHJcbiAgICBcdHBhZGRpbmc6IDE1cHg7IFxyXG4gICAgXHQucm93IHtcclxuICAgIFx0XHRwYWRkaW5nOiAxMHB4IDA7ICAgXHJcbiAgICBcdFx0LmNvbCB7XHJcbiAgICBcdFx0XHR3aWR0aDogMTAwJTsgcGFkZGluZzogMCAwIDNweCAwOyBmb250LXNpemU6IDEzcHg7ICAgIFxyXG4gICAgXHRcdFx0JjpudGgtY2hpbGQoMm4rMikge3dpZHRoOiAxMDAlOyBwYWRkaW5nOiAwO31cclxuICAgIFx0XHR9XHJcbiAgICBcdH1cclxuICAgIH0gICAgXHJcblx0I3BvcHVwVm91Y2hlciB7XHJcblx0XHQjYm94UG9wIHttaW4taGVpZ2h0OiAwOyBtYXJnaW46IDEwJSBhdXRvO31cclxuXHR9XHJcblx0LmJveC12b3VjaGVyIHttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAyMDBweCk7IH1cclxuICAgICNib3hQb3AgeyBcclxuICAgIFx0bWluLXdpZHRoOiA5MCU7IG1heC13aWR0aDogODAlOyBwYWRkaW5nOiAxNXB4O1xyXG4gICAgXHQuY2xvc2VfcG9wIHtcclxuICAgIFx0XHR0b3A6IDE1cHg7ICBcclxuICAgIFx0fSBcclxuICAgIFx0Ji50cmFpbiB7XHJcbiAgICBcdFx0bWluLXdpZHRoOiA5MCU7IG1heC13aWR0aDogODAlOyBcclxuICAgIFx0fVxyXG4gICAgfVxyXG4gICAgLnJvdy12aWV3IHtcclxuICAgIFx0LmNvbCB7XHJcbiAgICBcdFx0d2lkdGg6IDEwMCU7IG1hcmdpbjogMCAwIDIwcHggMDtcclxuICAgIFx0XHQmOmxhc3QtY2hpbGQge21hcmdpbi1yaWdodDowO31cclxuICAgIFx0fVxyXG4gICAgXHQmLnR5cGUtMiB7IFxyXG4gICAgXHRcdC5jb2wge1xyXG5cdCAgICBcdFx0d2lkdGg6IDEwMCU7IFxyXG5cdCAgICBcdFx0JjpsYXN0LWNoaWxkIHttYXJnaW4tcmlnaHQ6MDsgd2lkdGg6IDEwMCU7fVxyXG5cdCAgICBcdH1cclxuICAgIFx0fVxyXG4gICAgfVxyXG4gICAgLnJvdy1jaGFydHMge1xyXG4gICAgXHQuY29sIHtcclxuICAgIFx0XHR3aWR0aDogMTAwJTsgbWFyZ2luOiAwOyBcclxuICAgIFx0XHQmOmxhc3QtY2hpbGR7bWFyZ2luOjA7fSBcclxuICAgIFx0fVxyXG4gICAgfVxyXG5cclxuICAgIC53cmFwLWxlZnQtcmlnaHQge1xyXG4gICAgXHRoMSB7ZmxvYXQ6IG5vbmU7fVxyXG4gICAgXHQucmlnaHQge1xyXG4gICAgXHRcdGZsb2F0OiBub25lOyB3aWR0aDogYXV0bzsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIFx0XHQuY29sLXNlbGVjdC1kYXRlIHtcclxuICAgIFx0XHRcdHdpZHRoOiAxMDAlOyBmbG9hdDogbm9uZTsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgXHRcdFx0bGFiZWwge2Zsb2F0OiBub25lOyB3aWR0aDogYXV0bzt9XHJcbiAgICBcdFx0XHRzZWxlY3Qge3dpZHRoOiBhdXRvOyBtaW4td2lkdGg6IDkwcHg7IG1hcmdpbi1sZWZ0OiA1cHg7fVxyXG4gICAgXHRcdH1cclxuICAgIFx0XHQmLmFkZCB7XHJcbiAgICBcdFx0XHRzZWxlY3Qge3dpZHRoOiAxMDAlO31cclxuICAgIFx0XHR9XHJcbiAgICBcdH1cclxuICAgIFx0YSB7Lypwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyBtYXJnaW4tdG9wOiA1cHg7IGxlZnQ6IDIyNXB4OyovIGZsb2F0OiBub25lOyB3aWR0aDogMTAwJTt9XHJcbiAgICB9XHJcbiAgICAuc2VjLWlucHV0LXNlbGVjdC10aHJlZXtcclxuICAgIFx0LmNvbC1zZWxlY3R7IFxyXG4gICAgXHRcdHdpZHRoOiAxMDAlOyBmbG9hdDogbm9uZTtcclxuICAgIFx0XHQmOmZpcnN0LWNoaWxkLCY6bnRoLWNoaWxkKDIpLCAmOmxhc3QtY2hpbGR7IHdpZHRoOmF1dG87IGZsb2F0OiBub25lOyBtYXJnaW46IDA7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgIFx0XHRcclxuICAgIFx0fVxyXG4gICAgfVxyXG4gICAgLmN1c3RvbS1yYWRpb3tcclxuICAgIFx0LnJhZGlvLWJ0bnsgZm9udC1zaXplOiAxNHB4OyB9XHJcbiAgICBcdGxhYmVseyBtYXJnaW4tbGVmdDogMTVweDsgfVxyXG4gICAgfVxyXG5cdGZvb3RlciB7XHJcblx0XHQuZm9vdC10b3Age1xyXG5cdFx0XHRwYWRkaW5nOiAzMHB4IDAgMzBweCAwO1xyXG5cdFx0XHQucm93IHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwOyBcclxuXHRcdFx0XHQuY29sIHtcclxuXHRcdFx0XHRcdCYuY29sLTMge2Rpc3BsYXk6IG5vbmU7fSBcclxuXHRcdFx0XHRcdCYuY29sLTQge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwOyBcclxuXHRcdFx0XHRcdFx0aDMge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTFweDsgbGluZS1oZWlnaHQ6IDEzcHg7IGxldHRlci1zcGFjaW5nOiAyLjJweDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQucm93LXNlYXJjaCB7XHJcblx0XHRcdFx0XHRcdFx0LmZpZWxkIHtcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMzBweDsgXHJcblx0XHRcdFx0XHRcdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgNjBweCAwIDEwcHg7IFxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTFweDsgd2lkdGg6IDUwcHg7IFxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQubm90ZSB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMXB4OyBcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5mb290LWJvdHRvbSB7XHJcblx0XHRcdHBhZGRpbmc6IDE4cHggMDsgXHJcblx0XHRcdC5vdGhlci1uYXYge1xyXG5cdFx0XHRcdHVsIHtcclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O2xpbmUtaGVpZ2h0OiAxM3B4OyBwYWRkaW5nOiAwIDEwcHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmNvcHlyaWdodCB7Zm9udC1zaXplOiA5cHg7d2lkdGg6IDI5MHB4O21hcmdpbjogYXV0bzsgbGluZS1oZWlnaHQ6IDEycHg7fSBcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5yb3ctbXktYWNjb3VudHsgXHJcblx0XHQuYWNjb3VudC1jb250ZW50IC5maWx0ZXItYm90dG9tIHtcclxuXHRcdFx0LmxlZnQge21hcmdpbi1ib3R0b206IDE1cHg7fVxyXG5cdFx0XHQubGVmdCwgLnJpZ2h0IHtcclxuXHRcdFx0XHRmbG9hdDogbm9uZTsgZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0JjphZnRlciB7Y2xlYXI6IGJvdGg7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrO31cclxuXHRcdFx0fVxyXG5cdFx0XHQucmlnaHQge1xyXG5cdFx0XHRcdGxhYmVsIHtmbG9hdDogbGVmdDsgIG1hcmdpbi10b3A6IDEycHg7fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5zZWxlY3Rib3gge3dpZHRoOiBhdXRvOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWxlZnQ6IDgwcHg7fVxyXG5cdFx0fVxyXG5cdFx0Lmxpc3Rpbmctb3JkZXItdHJhbnNhY3Rpb257XHJcblx0XHRcdC5yb3ctYWRkcmVzc3tcclxuXHRcdFx0XHQuY29se1xyXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMSl7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cclxuXHRcdFx0XHRcdC5pbmxpbmUtYnRueyBib3R0b206IDE1cHg7IGxlZnQ6IDE1cHg7IH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmJveC1wYXltZW50e1xyXG5cdFx0XHRcdHBhZGRpbmc6IDE1cHg7XHJcblx0XHRcdFx0Lm9wdC1jaGVja2JveHtcclxuXHRcdFx0XHRcdCYuc217XHJcblx0XHRcdFx0XHRcdC5pdGVteyB3aWR0aDogMTAwJTsgcGFkZGluZzogMDsgfVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQucm93LW1hcmtldHtcclxuXHRcdFx0XHQuY3VzdG9tLXJhZGlve1xyXG5cdFx0XHRcdFx0bGFiZWx7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSAgICBcclxufVxyXG5cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xyXG5cdC5iYW5uZXItcGFnZSB7XHJcblx0XHRmaWd1cmUge1xyXG5cdFx0XHRoZWlnaHQ6IDEwMHZoO1xyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHRcclxuICAgIENvbXBhbnkgICAgOiBQVCBXZWIgQXJjaGl0ZWN0IFRlY2hub2xvZ3kgLSB3ZWJhcnEuY29tXHJcbiAgICBEb2N1bWVudCAgIDogU3R5bGVzaGVldFxyXG4gICAgQXV0aG9yICAgICA6IEZyb250RW5kIFRlYW0gIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi8qIGltcG9ydCBib3VyYm9uIC0gaHR0cDovL2JvdXJib24uaW8vZG9jcyAqL1xyXG5AaW1wb3J0IFwiYm91cmJvbi9ib3VyYm9uXCI7XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkYXR0cil7XHJcbiAgICB0cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtbW96LXRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLW1zLXRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogJGF0dHI7XHJcbn1cclxuQG1peGluIHRyYW5zZm9ybSgkYXR0cil7XHJcbiAgICB0cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogJGF0dHI7XHJcbiAgICAtby10cmFuc2Zvcm06ICRhdHRyO1xyXG59XHJcbkBtaXhpbiBib3JkZXJSYWRpdXMoJGF0dHIpe1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC1vLWJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG59XHJcbkBtaXhpbiBib3hTaGFkb3coJGF0dHIpe1xyXG4gICAgYm94LXNoYWRvdzogICRhdHRyO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkYXR0cjtcclxuICAgIC1tb3otYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtbXMtYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtby1ib3gtc2hhZG93OiAkYXR0clxyXG59XHJcbkBtaXhpbiBib3hTaXppbmcoJGF0dHIpe1xyXG4gICAgYm94LXNpemluZzogICRhdHRyO1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYXR0cjtcclxuICAgIC1tb3otYm94LXNpemluZzogJGF0dHI7XHJcbiAgICAtbXMtYm94LXNpemluZzogJGF0dHI7XHJcbiAgICAtby1ib3gtc2l6aW5nOiAkYXR0clxyXG59XHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgIDo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuQG1peGluIGJveFNpemluZygkYXR0cil7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiAkYXR0cjtcclxuICAgIGJveC1zaXppbmc6ICRhdHRyO1xyXG59XHJcbkBtaXhpbiBjbGVhcmZpeHsgXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7IFxyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyBcclxuICAgIH1cclxuICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IFxyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIGhlaWdodDogMHB4O1xyXG4gICAgICAgIC8qbWFyZ2luLXRvcDogLTFweDsqL1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuICAgICZ7XHJcbiAgICAgICAgKnpvb206IDE7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIHRyYW5zZm9ybW9yaWdpbigkYXR0cil7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkYXR0cjtcclxuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46ICRhdHRyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogJGF0dHI7XHJcbn1cclxuXHJcblxyXG4vKiBjb2xvciBnbG9iYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiRjXzExMTogIzExMTtcclxuJGNfMzMzOiAjMzMzO1xyXG4kY182NjY6ICM2NjY7XHJcbiRjXzk5OTogIzk5OTtcclxuJGNfZWE6ICNlYWVhZWE7XHJcbiIsIi8vIEJvdXJib24gNC4yLjdcclxuLy8gaHR0cDovL2JvdXJib24uaW9cclxuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXHJcbi8vIE1JVCBMaWNlbnNlXHJcblxyXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcclxuQGltcG9ydCBcInNldHRpbmdzL3B4LXRvLWVtXCI7XHJcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xyXG5cclxuQGltcG9ydCBcImZ1bmN0aW9ucy9hc3NpZ24taW5wdXRzXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWlucy1mYWxzeVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxlbmd0aFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbnVtYmVyXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc2hhZGVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnRcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XHJcblxyXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1hbmdsZS1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3N0ci10by1udW1cIjtcclxuXHJcbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcclxuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcclxuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcclxuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcclxuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcclxuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2xpbmVhci1ncmFkaWVudFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xyXG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcclxuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcclxuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xyXG5cclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItY29sb3JcIjtcclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXN0eWxlXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXdpZHRoXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvZWxsaXBzaXNcIjtcclxuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL21hcmdpblwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcclxuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3ByZWZpeGVyXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3RleHQtaW5wdXRzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvd29yZC13cmFwXCI7XHJcblxyXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xyXG5cclxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLW1pY3Jvc29mdDogdHJ1ZSAhZGVmYXVsdDtcclxuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQSBnbG9iYWwgc2V0dGluZyB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYCRhc3NldC1waXBlbGluZWAgdmFyaWFibGUgZm9yIGFsbCBmdW5jdGlvbnMgdGhhdCBhY2NlcHQgaXQuXHJcbi8vL1xyXG4vLy8gQHR5cGUgQm9vbFxyXG5cclxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcclxuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xyXG4gICRsaXN0OiAoKTtcclxuXHJcbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xyXG4gICAgJGlucHV0OiB1bnF1b3RlKCRpbnB1dCk7XHJcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcclxuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbGlzdDtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBjb250YWlucyBhIHZhbHVlKHMpLlxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3RcclxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcclxuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2x9XHJcblxyXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcclxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XHJcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XHJcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbH1cclxuXHJcbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xyXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcclxuICAgIEBpZiBub3QgJGl0ZW0ge1xyXG4gICAgICBAcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGZhbHNlO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXHJcblxyXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXHJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXHJcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFyay5cclxuLy8vXHJcbi8vLyBAbGluayBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICBpcy1saWdodCgkY29sb3IpXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbH1cclxuXHJcbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XHJcbiAgJC1sb2NhbC1yZWQ6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcclxuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcclxuICAkLWxvY2FsLWJsdWU6IGJsdWUocmdiYSgkaGV4LWNvbG9yLCAxKSk7XHJcbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xyXG5cclxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gMC42O1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgbnVtYmVyLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXHJcblxyXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxyXG5cclxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XHJcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxyXG4gICAgICAgICAgb3IgY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XHJcbn1cclxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXHJcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XHJcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXHJcblxyXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcclxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xyXG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xyXG4gIH1cclxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XHJcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xyXG4gIH1cclxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XHJcbn1cclxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xyXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcclxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcclxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xyXG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xyXG4gIH1cclxuXHJcbiAgJGJhc2U6ICRlbS1iYXNlO1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XHJcbi8vLyAgIFRoZSBhbW91bnQgb2YgYmxhY2sgdG8gYmUgbWl4ZWQgaW4uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NGEyMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0NvbG9yfVxyXG5cclxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcclxuICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFdpdGggVW5pdCl9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAkZGltZW5zaW9uOiBzdHJpcC11bml0cygxMGVtKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgICRkaW1lbnNpb246IDEwO1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxyXG5cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggd2hpdGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxyXG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgjNmVjYWE2LCA0MCUpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0NvbG9yfVxyXG5cclxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xyXG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xyXG59XHJcbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcclxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xyXG4gICRuZXctcHJvcHM6ICgpO1xyXG5cclxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xyXG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcclxuICAvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcclxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcclxuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRwcm9wO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG9ydGhhbmRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbWFyZ2luOiAxZW0gMmVtIDFlbSAyZW07XHJcbi8vLyAgIH1cclxuXHJcbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xyXG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XHJcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcclxuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcclxuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xyXG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xyXG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIFNjYWxpbmcgVmFyaWFibGVzXHJcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcclxuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xyXG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XHJcbiRtaW5vci10aGlyZDogICAgICAxLjI7XHJcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xyXG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XHJcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcclxuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcclxuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcclxuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xyXG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XHJcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcclxuJG9jdGF2ZTogICAgICAgICAgIDI7XHJcbiRtYWpvci10ZW50aDogICAgICAyLjU7XHJcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcclxuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XHJcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xyXG5cclxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcclxuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xyXG5cclxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XHJcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcclxuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcclxuICAkdmFsdWU6ICR2MTtcclxuXHJcbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXHJcbiAgQHdoaWxlICR2MiA+ICR2MSB7XHJcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXHJcbiAgfVxyXG4gIEB3aGlsZSAkdjIgPCAkdjEge1xyXG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcclxuICB9XHJcblxyXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXHJcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xyXG5cclxuICBAaWYgJGluY3JlbWVudCA+IDAge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcclxuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcclxuICAgICAgICAkdmFsdWU6ICR2MjtcclxuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xyXG4gICAgICAgICR2YWx1ZTogJHYxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGluY3JlbWVudCA8IDAge1xyXG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxyXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xyXG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xyXG4gICAgfVxyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xyXG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xyXG4gICAgICAgICR2YWx1ZTogJHYyO1xyXG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XHJcbiAgICAgICAgJHZhbHVlOiAkdjE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxyXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XHJcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xyXG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcclxuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XHJcblxyXG4gIEBpZiBub3QgJGluZGV4IHtcclxuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XHJcbiAgICBAcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XHJcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcclxuICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcclxuLy8vXHJcbi8vLyBAaWdub3JlIFlvdSBjYW4gYWxzbyB1c2UgYGZhbHNlYCBpbnN0ZWFkIG9mIGBudWxsYC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgZGlyZWN0aW9uYWwgdmFsdWVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xyXG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xyXG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9XHJcblxyXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XHJcbiAgJG91dHB1dDogbnVsbDtcclxuXHJcbiAgJGE6IG50aCgkdmFscywgMSk7XHJcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XHJcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XHJcbiAgJGQ6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCBpZihsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkpKTtcclxuXHJcbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxyXG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cclxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XHJcbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxyXG5cclxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XHJcbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxyXG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cclxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XHJcblxyXG4gIEByZXR1cm4gJG91dHB1dDtcclxufVxyXG5cclxuLy8vIE91dHB1dCBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLCBmb3IgaW5zdGFuY2UgYG1hcmdpbmAuXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcclxuLy8vICAgUHJlZml4IHRvIHVzZVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZcclxuLy8vICAgU3VmZml4IHRvIHVzZVxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIHZhbHVlc1xyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XHJcblxyXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcclxuICAvLyBQcm9wZXJ0eSBOYW1lc1xyXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xyXG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcblxyXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xyXG5cclxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcclxuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxyXG5cclxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cclxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cclxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAjeyRhbGx9OiAkdmFscztcclxuICB9XHJcbn1cclxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2VcclxuLy8gUmVmZXJlbmNlOiBodHRwOi8vZ29vLmdsL1J1MWJLUFxyXG5cclxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xyXG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XHJcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiB1cmw7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXHJcbiAgJGZvbnQtZmFtaWx5LFxyXG4gICRmaWxlLXBhdGgsXHJcbiAgJGFzc2V0LXBpcGVsaW5lLFxyXG4gICRmaWxlLWZvcm1hdHMsXHJcbiAgJGZvbnQtdXJsKSB7XHJcblxyXG4gICRzcmM6ICgpO1xyXG5cclxuICAkZm9ybWF0cy1tYXA6IChcclxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxyXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxyXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcclxuICApO1xyXG5cclxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XHJcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xyXG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XHJcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xyXG5cclxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcclxuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHNyYztcclxufVxyXG4iLCJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcclxuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xyXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxyXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xyXG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXHJcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXHJcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XHJcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcclxufVxyXG4iLCIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXHJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcclxuICAkb2Zmc2V0OiBudWxsO1xyXG4gICR1bml0LXNob3J0OiAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAyLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcblxyXG4gIEBpZiAoJHVuaXQtbG9uZyA9PSBcImdyYWRcIikgb3JcclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcclxuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxyXG4gICAgICAgICAgICgkdW5pdC1zaG9ydCA9PSBcInJhZFwiKSB7XHJcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvZmZzZXQge1xyXG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XHJcblxyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xyXG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xyXG4gICRncmFkaWVudHM6ICgpO1xyXG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xyXG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcclxuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XHJcblxyXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XHJcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcclxuXHJcbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xyXG4gICRoYXMtc2luZ2xlLXBvc2l0aW9uOiB1bnF1b3RlKF9wb3NpdGlvbi1mbGlwcGVyKCRmaXJzdC12YWwpICsgXCJcIik7XHJcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAxKSk7XHJcblxyXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xyXG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XHJcbiAgICAkcG9zOiB1bnF1b3RlKCRoYXMtc2luZ2xlLXBvc2l0aW9uICsgXCJcIik7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxyXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XHJcbiAgICAvLyBSb3RhdGUgZGVncmVlIGZvciB3ZWJraXRcclxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGdyYWRpZW50cztcclxufVxyXG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcclxuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xyXG4gICRzcGVjOiBudWxsO1xyXG4gICRkZWdyZWU6IG51bGw7XHJcbiAgJHNpZGU6IG51bGw7XHJcbiAgJGNvcm5lcjogbnVsbDtcclxuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XHJcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xyXG4gIEBpZiAoJGxlbmd0aCA+IDEpIHtcclxuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XHJcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XHJcblxyXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxyXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XHJcbiAgICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcclxuICAgICAgICAkY29ybmVyOiBudGgoJHBvcywgMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMiB7IC8vIE9sZGVyIHN5bnRheCAoXCJ0b3AgbGVmdFwiKVxyXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcclxuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XHJcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XHJcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxyXG4gICAgQGlmICR0eXBlID09IHN0cmluZyB7XHJcbiAgICAgICRkZWdyZWU6ICRwb3M7XHJcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcclxuICAgICAgJHNwZWM6ICRwb3M7XHJcbiAgICB9XHJcbiAgfVxyXG4gICRkZWdyZWU6IHVucXVvdGUoJGRlZ3JlZSArIFwiLFwiKTtcclxuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xyXG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcclxufVxyXG5cclxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcclxuICBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gcmlnaHQsIGxlZnQsIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xyXG59XHJcbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XHJcbiAgJHZhbC0xOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGhhcy1tdWx0aXBsZS12YWxzIC0gMSk7XHJcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcbiAgJHZhbC0zOiBudWxsO1xyXG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcclxuXHJcbiAgQGlmICRoYXMtdmFsLTMge1xyXG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcclxuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMSwgJGhhcy12YWwtMyAtIDEpO1xyXG4gIH1cclxuXHJcbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XHJcbiAgJHBvczogdW5xdW90ZSgkcG9zICsgXCJcIik7XHJcblxyXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XHJcbiAgQGlmICR2YWwtMSA9PSBcInRvXCIge1xyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpIHtcclxuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xyXG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XHJcbiAgICAkcG9zLXR5cGU6ICB0eXBlLW9mKCRmaXJzdC12YWwpO1xyXG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XHJcblxyXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHNwZWMgd2FzIHBhc3NlZCB0byBtaXhpblxyXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcclxuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcclxuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJHNwZWMtYXQtaW5kZXggLSAxKSB7XHJcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XHJcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICRnMTogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiBub3Qgc3BlYyBjYWxjdWxhdGUgY29ycmVjdCB2YWx1ZXNcclxuICAgIEBlbHNlIHtcclxuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgICAgIEBpZiAoJHBvcy10eXBlID09IG51bWJlcilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJyaWdodFwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcclxuXHJcbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XHJcblxyXG4gICAgICAgICAgQGlmICRwb3MgPT0gJGcxIHtcclxuICAgICAgICAgICAgJGcxOiBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGVsc2UgaWZcclxuICAgICAgICAgICAoJGZpcnN0LXZhbCA9PSBcImVsbGlwc2VcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LWNvcm5lclwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb250YWluXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XHJcblxyXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICR2YWx1ZTtcclxuXHJcbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRnMSB7XHJcbiAgICAgICAgICAgICRnMTogbnVsbDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAZWxzZSBpZiAkdmFsdWUgPT0gJGcyIHtcclxuICAgICAgICAgICAgJGcyOiBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcclxufVxyXG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3MpIHtcclxuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xyXG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xyXG5cclxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXHJcbiAgICAgICAgICAgICB1bnF1b3RlKGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LFwiLCBudWxsKSk7XHJcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XHJcblxyXG4gICRzcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skcG9zLXNwZWN9XCI7XHJcblxyXG4gIC8vIEFkZCBjb21tYVxyXG4gIEBpZiAoJHNwZWMgIT0gXCIgIFwiKSB7XHJcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcclxuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcclxuICAkZ3JhZGllbnRzOiAoKTtcclxuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcclxuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XHJcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xyXG5cclxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xyXG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XHJcblxyXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XHJcblxyXG4gIEBpZiAkaXMtc3BlYy1zeW50YXggYW5kICRpcy1zcGVjLXN5bnRheCA+IDEge1xyXG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcclxuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuICAgICRwb3M6IGFwcGVuZCgkcG9zLCAka2V5d29yZCwgY29tbWEpO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xyXG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgc3RyLWluZGV4KCRpbWFnZSwgXCJjb3ZlclwiKSBvciBzdHItaW5kZXgoJGltYWdlLCBcImNvbnRhaW5cIikge1xyXG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGdyYWRpZW50cztcclxufVxyXG4iLCIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcclxuXHJcbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcclxuICAkcHJlLXNwZWM6IG51bGw7XHJcbiAgJHNwZWM6IG51bGw7XHJcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XHJcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XHJcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XHJcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xyXG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcclxuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xyXG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XHJcbiAgfVxyXG5cclxuICBAaWYgJHZlbmRvciB7XHJcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcclxuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XHJcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcclxuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xyXG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XHJcbiAgICAgICR2YWx1ZTogbnVsbDtcclxuICAgIH1cclxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcclxuICB9XHJcbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXHJcbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xyXG4gIC8vIE1hdHJpY2VzXHJcbiAgJHN0cmluZ3M6IFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiO1xyXG4gICRudW1iZXJzOiAgMCAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOTtcclxuXHJcbiAgLy8gUmVzdWx0XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGl2aWRlcjogMDtcclxuICAkbWludXM6IGZhbHNlO1xyXG5cclxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCRzdHJpbmcsICRpLCAkaSk7XHJcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSBcIi1cIiB7XHJcbiAgICAgICRtaW51czogdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcclxuICAgICAgJGRpdmlkZXI6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaWYgbm90ICRpbmRleCB7XHJcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xyXG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcclxuXHJcbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcclxuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxyXG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xyXG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xyXG59XHJcbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxyXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxyXG5cclxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xyXG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkdmFsdWVzLi4uKSB7XHJcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb25zLi4uKSB7XHJcbiAgLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XHJcbiAgLy8gcnVubmluZyB8IHBhdXNlZFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcclxuICAvLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcclxufVxyXG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcclxuLy8gbm90YXRpb24uXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xyXG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xyXG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcclxuXHJcbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcclxuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XHJcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcclxuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xyXG5cclxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xyXG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xyXG5cclxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDMpO1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgNik7XHJcblxyXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xyXG4gICAgJHNwZWMtYmFja2dyb3VuZHM6ICAgYXBwZW5kKCRzcGVjLWJhY2tncm91bmRzLCAgICRzcGVjLWJhY2tncm91bmQsICAgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZDogJHdlYmtpdC1iYWNrZ3JvdW5kcztcclxuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcclxufVxyXG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXHJcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcclxuICAkd2Via2l0LWltYWdlczogKCk7XHJcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcclxuXHJcbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xyXG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XHJcbiAgICAkc3BlYy1pbWFnZTogKCk7XHJcblxyXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XHJcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAxLCAzKTtcclxuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDEsIDYpO1xyXG5cclxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xyXG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcclxuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XHJcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcclxuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcclxuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcclxufVxyXG4iLCJAbWl4aW4gYm9yZGVyLWltYWdlKCRib3JkZXJzLi4uKSB7XHJcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcclxuICAkc3BlYy1ib3JkZXJzOiAoKTtcclxuXHJcbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XHJcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XHJcbiAgICAkc3BlYy1ib3JkZXI6ICgpO1xyXG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xyXG5cclxuICAgIEBpZiAkYm9yZGVyLXR5cGUgPT0gc3RyaW5nIG9yIGxpc3Qge1xyXG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XHJcblxyXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCAzKTtcclxuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgNik7XHJcblxyXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcclxuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xyXG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcclxuICAgICAgICAgIGJvcmRlci1pbWFnZTogJHNwZWMtYm9yZGVycztcclxuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi8vRXhhbXBsZXM6XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XHJcbiIsIkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XHJcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcclxuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcclxufVxyXG4iLCJAbWl4aW4gY29sdW1ucygkYXJnOiBhdXRvKSB7XHJcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcclxuICAvLyBhdXRvIHx8IGludGVnZXJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xyXG4gIC8vIG5vcm1hbCB8fCBsZW5ndGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZ2FwLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWZpbGwoJGFyZzogYXV0bykge1xyXG4gIC8vIGF1dG8gfHwgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWZpbGwsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZSgkYXJnKSB7XHJcbiAgLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCBoaWRkZW4gfCBkYXNoZWQgfCBkb3R0ZWQgfCBkb3VibGUgfCBncm9vdmUgfCBpbnNldCB8IGluc2V0IHwgb3V0c2V0IHwgcmlkZ2UgfCBzb2xpZFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcclxuICAvLyBub25lIHx8IGFsbFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcclxuICAvLyBhdXRvIHx8IGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xyXG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcclxufVxyXG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcclxuXHJcbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcclxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcclxuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcclxuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xyXG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcclxuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcclxufVxyXG5cclxuQG1peGluIGRpc3BsYXktYm94IHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiAtbW96LWJveDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcclxuICBkaXNwbGF5OiBib3g7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XHJcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xyXG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XHJcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xyXG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcclxuLy8gc2luZ2xlfG11bHRpcGxlXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xyXG4vLyBVbmlmaWVkIGF0dHJpYnV0ZXMgZm9yIDIwMDksIDIwMTEsIGFuZCAyMDEyIGZsYXZvdXJzLlxyXG5cclxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXHJcbi8vIDIwMTEgLSBkaXNwbGF5IChmbGV4Ym94IHwgaW5saW5lLWZsZXhib3gpXHJcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXHJcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xyXG4vLyBmbGV4IHwgaW5saW5lLWZsZXhcclxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcclxuICAgIC8vIDIwMDlcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgICBkaXNwbGF5OiBib3g7XHJcblxyXG4gICAgLy8gMjAxMlxyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xyXG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcclxuXHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcclxuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgZGlzcGxheTogJHZhbHVlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxyXG4vLyAyMDExIC0gZmxleCAoZGVjaW1hbCB8IHdpZHRoIGRlY2ltYWwpXHJcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xyXG5cclxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXHJcbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcclxuLy8gICAgICAtIGJveC1kaXJlY3Rpb24gKG5vcm1hbCB8IHJldmVyc2UpXHJcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcclxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlOiByb3cpIHtcclxuXHJcbiAgLy8gQWx0IHZhbHVlcy5cclxuICAkdmFsdWUtMjAwOTogJHZhbHVlO1xyXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XHJcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xyXG5cclxuICBAaWYgJHZhbHVlID09IHJvdyB7XHJcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xyXG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XHJcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbiB7XHJcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcclxuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcclxuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgfVxyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcclxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcclxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xyXG4gIC8vIEFsdCB2YWx1ZXNcclxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xyXG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xyXG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcclxufVxyXG5cclxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxyXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXHJcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcclxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxyXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcclxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxyXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1vcmRlcjogJGludDtcclxufVxyXG5cclxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxyXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XHJcbn1cclxuXHJcbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxyXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xyXG59XHJcblxyXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxyXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXHJcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcclxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcclxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcclxuXHJcbiAgLy8gQWx0IHZhbHVlcy5cclxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJGFsdC12YWx1ZTogZW5kO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcclxuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xyXG4gIH1cclxuXHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcclxuXHJcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xyXG5cclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XHJcbiAgfVxyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcclxufVxyXG5cclxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XHJcblxyXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XHJcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBlbmQ7XHJcbiAgfVxyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcclxufVxyXG5cclxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcclxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxyXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcclxuXHJcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XHJcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xyXG4gIH1cclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcclxufVxyXG4iLCJAbWl4aW4gZm9udC1mYWNlKFxyXG4gICRmb250LWZhbWlseSxcclxuICAkZmlsZS1wYXRoLFxyXG4gICR3ZWlnaHQ6IG5vcm1hbCxcclxuICAkc3R5bGU6IG5vcm1hbCxcclxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcclxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XHJcblxyXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG5cclxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXHJcbiAgICAgICRmb250LWZhbWlseSxcclxuICAgICAgJGZpbGUtcGF0aCxcclxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxyXG4gICAgICAkZmlsZS1mb3JtYXRzLFxyXG4gICAgICAkZm9udC11cmwtcHJlZml4XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gZm9udC1mZWF0dXJlLXNldHRpbmdzKCRzZXR0aW5ncy4uLikge1xyXG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxyXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoaHlwaGVucywgJGh5cGhlbmF0aW9uLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcclxuXHJcbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xyXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcclxuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcclxuICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xyXG4gIH1cclxufVxyXG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcclxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcclxuXHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XHJcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xyXG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xyXG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XHJcblxyXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcclxuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XHJcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xyXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xyXG4gICRwb3Mtc3BlYzogbnVsbDtcclxuICAkcG9zLWRlZ3JlZTogbnVsbDtcclxuXHJcbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXHJcbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xyXG4gICAgJGcxMDogJGc5OyAkZzk6ICRnODsgJGc4OiAkZzc7ICRnNzogJGc2OyAkZzY6ICRnNTtcclxuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XHJcbiAgICAkcG9zOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgQGlmICRwb3Mge1xyXG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xyXG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcclxuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XHJcbiAgfVxyXG5cclxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcclxuXHJcbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxyXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XHJcblxyXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxyXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XHJcbn1cclxuIiwiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XHJcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xyXG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXHJcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJGcxLCAkZzIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XHJcblxyXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKTtcclxuICAkZzE6ICBudGgoJGRhdGEsIDEpO1xyXG4gICRnMjogIG50aCgkZGF0YSwgMik7XHJcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcclxuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcclxuXHJcbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XHJcblxyXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xyXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcclxuXHJcbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxyXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xyXG5cclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXHJcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XHJcbiAgJHBvczogICAgICAgIGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpO1xyXG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE91dHB1dHMgdGhlIHNwZWMgYW5kIHByZWZpeGVkIHZlcnNpb25zIG9mIHRoZSBgOjpzZWxlY3Rpb25gIHBzZXVkby1lbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbH0gJGN1cnJlbnQtc2VsZWN0b3IgW2ZhbHNlXVxyXG4vLy8gICBJZiBzZXQgdG8gYHRydWVgLCBpdCB0YWtlcyB0aGUgY3VycmVudCBlbGVtZW50IGludG8gY29uc2lkZXJhdGlvbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNlbGVjdGlvbih0cnVlKSB7XHJcbi8vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICAgIH1cclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQ6Oi1tb3otc2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudDo6c2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gc2VsZWN0aW9uKCRjdXJyZW50LXNlbGVjdG9yOiBmYWxzZSkge1xyXG4gIEBpZiAkY3VycmVudC1zZWxlY3RvciB7XHJcbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIDo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJHZhbHVlKSB7XHJcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcclxufVxyXG5cclxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XHJcbi8vIG5vbmUgfHwgdW5kZXJsaW5lIHx8IG92ZXJsaW5lIHx8IGxpbmUtdGhyb3VnaFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcclxufVxyXG5cclxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XHJcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tc3R5bGUsICRzdHlsZSwgbW96IHdlYmtpdCk7XHJcbn1cclxuXHJcbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tY29sb3IoJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcclxuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcclxufVxyXG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgJHByb3BlcnR5LCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzOiA1MCUpIHtcclxuICAvLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxyXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXHJcbiAgLy8gei1heGlzIC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBmbGF0KSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cclxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcclxuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XHJcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xyXG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcclxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xyXG4gICR3ZWJraXQ6ICgpO1xyXG4gICRtb3o6ICgpO1xyXG4gICRzcGVjOiAoKTtcclxuXHJcbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXHJcbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XHJcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcclxuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcclxuICAgICAgJGxpc3QzOiAoKTtcclxuXHJcbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xyXG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xyXG5cclxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcclxuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xyXG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcclxuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XHJcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xyXG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcclxuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcclxuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcclxuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcclxuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydGllcy4uLikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XHJcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcclxuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcclxuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkdmFsdWU6IG5vbmUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih1c2VyLXNlbGVjdCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWNvbG9yKCNhNjBiNTUgIzc2Y2Q5YyBudWxsICNlOGFlMWEpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XHJcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNzZjZDljO1xyXG4vLy8gICAgIGJvcmRlci10b3AtY29sb3I6ICNhNjBiNTU7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgYm9yZGVyLWNvbG9yYFxyXG5cclxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWxzLi4uKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCBjb3JuZXJzIG9uIHRoZSBzaWRlIG9mIGEgYm94LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaWlcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQtb25lIHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudC10d28ge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygzcHgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudC1vbmUge1xyXG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcclxuLy8vICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudC10d28ge1xyXG4vLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcclxuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxyXG5cclxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItc3R5bGVgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xyXG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItc3R5bGVgXHJcblxyXG5AbWl4aW4gYm9yZGVyLXN0eWxlKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXdpZHRoKDFlbSBudWxsIDIwcHgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcclxuLy8vICAgICBib3JkZXItdG9wLXdpZHRoOiAxZW07XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxyXG5cclxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIGJ1dHRvbnMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLWJ1dHRvbnN9YC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgI3skYWxsLWJ1dHRvbnN9IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1mb2N1c30sXHJcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgI3skYWxsLWJ1dHRvbnMtYWN0aXZlfSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgYnV0dG9uLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIGJ1dHRvbjpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxyXG4vLy8gICBidXR0b246aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgYnV0dG9uOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuLy8vXHJcbi8vLyBAdG9kbyBSZW1vdmUgZG91YmxlIGFzc2lnbmVkIHZhcmlhYmxlcyAoTGluZXMgNTnigJM2MikgaW4gdjUuMC4wXHJcblxyXG4kYnV0dG9ucy1saXN0OiAnYnV0dG9uJyxcclxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJidXR0b25cIl0nLFxyXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcclxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nO1xyXG5cclxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcclxuJGFsbC1idXR0b25zLWFjdGl2ZTogYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBhY3RpdmUpO1xyXG4kYWxsLWJ1dHRvbnMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGZvY3VzKTtcclxuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XHJcblxyXG4kYWxsLWJ1dHRvbi1pbnB1dHM6ICAgICAgICAkYWxsLWJ1dHRvbnM7XHJcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XHJcbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogICRhbGwtYnV0dG9ucy1mb2N1cztcclxuJGFsbC1idXR0b24taW5wdXRzLWhvdmVyOiAgJGFsbC1idXR0b25zLWhvdmVyO1xyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cclxuLy8vXHJcbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcclxuLy8vICAgICBjbGVhcjogYm90aDtcclxuLy8vICAgICBjb250ZW50OiBcIlwiO1xyXG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICY6OmFmdGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzEwMCVdXHJcbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGVsbGlwc2lzO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcclxuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbi8vLyAgICAgd29yZC13cmFwOiBub3JtYWw7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJGdlb3JnaWE6IFwiR2VvcmdpYVwiLCBcIkNhbWJyaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcclxuXHJcbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kaGVsdmV0aWNhOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcclxuXHJcbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJGx1Y2lkYS1ncmFuZGU6IFwiTHVjaWRhIEdyYW5kZVwiLCBcIlRhaG9tYVwiLCBcIlZlcmRhbmFcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiRtb25vc3BhY2U6IFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ29uc29sYXNcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcclxuXHJcbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJHZlcmRhbmE6IFwiVmVyZGFuYVwiLCBcIkdlbmV2YVwiLCBzYW5zLXNlcmlmO1xyXG4iLCIvLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cclxuLy8vXHJcbi8vLyBAbGluayBodHRwOi8vemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcclxuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcclxuXHJcbkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogbnVsbCkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgQGlmICRoZWlnaHQge1xyXG4gICAgQHdhcm4gXCJUaGUgYGhpZGUtdGV4dGAgbWl4aW4gaGFzIGNoYW5nZWQgYW5kIG5vIGxvbmdlciByZXF1aXJlcyBhIGhlaWdodC4gVGhlIGhlaWdodCBhcmd1bWVudCB3aWxsIG5vIGxvbmdlciBiZSBhY2NlcHRlZCBpbiB2NS4wLjBcIjtcclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYG1hcmdpbmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAxMHB4IDNlbSAyMHZoKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDNlbTtcclxuLy8vICAgICBtYXJnaW4tbGVmdDogMjB2aDtcclxuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgbWFyZ2luYFxyXG5cclxuQG1peGluIG1hcmdpbigkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBwYWRkaW5nKDEydmggbnVsbCAxMHB4IDUlKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4vLy8gICAgIHBhZGRpbmctbGVmdDogNSU7XHJcbi8vLyAgICAgcGFkZGluZy10b3A6IDEydmg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgcGFkZGluZ2BcclxuXHJcbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb24uIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1Bvc2l0aW9ufSAkcG9zaXRpb24gW3JlbGF0aXZlXVxyXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGNvb3JkaW5hdGVzIFtudWxsIG51bGwgbnVsbCBudWxsXVxyXG4vLy8gICBMaXN0IG9mIHZhbHVlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4IGZvciB0aGUgZWRnZXMgb2YgYSBib3hcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGxlZnQ6IDEwZW07XHJcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLy8gICAgIHRvcDogMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IHVucGFja1xyXG5cclxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xyXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XHJcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcclxuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG5cclxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xyXG5cclxuICAkb2Zmc2V0czogKFxyXG4gICAgdG9wOiAgICBudGgoJGNvb3JkaW5hdGVzLCAxKSxcclxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXHJcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxyXG4gICAgbGVmdDogICBudGgoJGNvb3JkaW5hdGVzLCA0KVxyXG4gICk7XHJcblxyXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XHJcblxyXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XHJcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxyXG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcclxuLy8vXHJcbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxyXG4vLy8gICBWYWx1ZSB0byB1c2VcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRwcmVmaXhlc1xyXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcclxuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbi8vLyAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itd2Via2l0XHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW9wZXJhXHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcclxuXHJcbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzKSB7XHJcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xyXG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLXdlYmtpdCB7XHJcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcclxuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcclxuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLW9wZXJhIHtcclxuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XHJcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgIHtcclxuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcclxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xyXG59XHJcbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XHJcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaGlkcGkge1xyXG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XHJcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2l6ZVxyXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxyXG4vLy9cclxuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgJHNpemVgIGl0IGlzIHVzZWQgZm9yIGJvdGggd2lkdGggYW5kIGhlaWdodC4gQWxsIHVuaXRzIGFyZSBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZShhdXRvIDEwZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XHJcbi8vLyAgICAgd2lkdGg6IDJlbTtcclxuLy8vICAgICBoZWlnaHQ6IDJlbTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcclxuLy8vICAgICB3aWR0aDogYXV0bztcclxuLy8vICAgICBoZWlnaHQ6IDEwZW07XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcclxuXHJcbkBtaXhpbiBzaXplKCR2YWx1ZSkge1xyXG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XHJcbiAgJGhlaWdodDogJHdpZHRoO1xyXG5cclxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcclxuICAgICRoZWlnaHQ6IG50aCgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGlmIGlzLXNpemUoJGhlaWdodCkge1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xyXG4gIH1cclxuXHJcbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gXCJgI3skd2lkdGh9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJHdpZHRoYCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfSxcclxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxyXG4vLy8gICB0ZXh0YXJlYSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXHJcbi8vLyAgIHRleHRhcmVhOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3ZlcixcclxuLy8vICAgdGV4dGFyZWE6aG92ZXIge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXHJcbi8vLyAgIHRleHRhcmVhOmFjdGl2ZSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGVcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic2VhcmNoXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRpbWVcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dDpub3QoW3R5cGVdKScsXHJcbiAgICAgICAgICAgICAgICAgICAndGV4dGFyZWEnO1xyXG5cclxuJGFsbC10ZXh0LWlucHV0czogICAgICAgIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QpO1xyXG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcclxuJGFsbC10ZXh0LWlucHV0cy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGZvY3VzKTtcclxuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxyXG4vLy9cclxuLy8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW9lZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Jlc291cmNlcy9kZW1vcy9lZmZlY3QvZWFzaW5nLmh0bWxcclxuLy8vXHJcbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcclxuXHJcbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XHJcblxyXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xyXG5cclxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcclxuIiwiQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcclxuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XHJcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcclxuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XHJcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHdpZHRoOiAwO1xyXG5cclxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XHJcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XHJcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xyXG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XHJcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xyXG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdyYXAgW2JyZWFrLXdvcmRdXHJcbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAud3JhcHBlciB7XHJcbi8vLyAgICAgQGluY2x1ZGUgd29yZC13cmFwKGJyZWFrLXdvcmQpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAud3JhcHBlciB7XHJcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuLy8vICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbi8vLyAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XHJcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XHJcbiAgd29yZC13cmFwOiAkd3JhcDtcclxuXHJcbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgd29yZC1icmVhazogJHdyYXA7XHJcbiAgfVxyXG59XHJcbiIsIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcclxuXHJcbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xyXG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XHJcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcclxuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xyXG5cclxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcclxuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcclxuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XHJcbiAgICAkc3R5bGU6IHNpbXBsZTtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XHJcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcclxuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xyXG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcclxuICAgICRzdHlsZTogc2ltcGxlO1xyXG5cclxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcclxuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcclxuICAgICRwYWRkaW5nOiAkYmFzZS1jb2xvcjtcclxuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcclxuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xyXG4gICAgJHN0eWxlOiBzaW1wbGU7XHJcblxyXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xyXG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gIH1cclxuXHJcbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXHJcbkBtaXhpbiBidXR0b25zdHlsZSgkdHlwZSwgJGItY29sb3IsICR0LXNpemUsICRwYWQpIHtcclxuICAvLyBHcmF5c2NhbGUgYnV0dG9uXHJcbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR0eXBlID09IHNoaW55IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcclxuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcclxuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICAvLyBDb2xvcmVkIGJ1dHRvblxyXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xyXG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XHJcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHR5cGUgPT0gcGlsbCB7XHJcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcclxuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNpbXBsZSBCdXR0b25cclxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcclxuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xyXG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcclxuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XHJcblxyXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XHJcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XHJcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XHJcbiAgfVxyXG5cclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XHJcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xyXG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcblxyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcclxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTaGlueSBCdXR0b25cclxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XHJcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XHJcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xyXG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XHJcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XHJcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcclxuXHJcbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcclxuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xyXG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xyXG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcclxuICAgICRzZWNvbmQtc3RvcDogICBncmF5c2NhbGUoJHNlY29uZC1zdG9wKTtcclxuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcclxuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xyXG5cclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XHJcblxyXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xyXG4gICAgJHNlY29uZC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC02NiwgJGdyZWVuOiAtNjIsICRibHVlOiAtNTEpO1xyXG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xyXG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XHJcbiAgICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRzZWNvbmQtc3RvcC1ob3Zlcik7XHJcbiAgICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wLWhvdmVyKTtcclxuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Vjb25kLXN0b3AtaG92ZXIgNTAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxyXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBQaWxsIEJ1dHRvblxyXG5AbWl4aW4gcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcclxuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xyXG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XHJcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XHJcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcclxuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcclxuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XHJcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcclxuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XHJcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcclxuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcclxuICB9XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xyXG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcclxuICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcblxyXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcclxuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcclxuICAgICRib3JkZXItc2lkZXM6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIlLCAgICAkbGlnaHRuZXNzOiAtMjclKTtcclxuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcclxuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtNCUsICAgICRsaWdodG5lc3M6IC0xNS41JSk7XHJcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xyXG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcclxuICAgICAgJGJvcmRlci1zaWRlczogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcclxuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XHJcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG5cclxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XHJcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNiwgICRzYXR1cmF0aW9uOiAtMi41JSwgJGxpZ2h0bmVzczogLTMwJSk7XHJcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XHJcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcclxuICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA1LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGdyYXlzY2FsZSgkYWN0aXZlLWNvbG9yKTtcclxuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xyXG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbS1hY3RpdmU7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcclxuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGbGF0IEJ1dHRvblxyXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcclxuXHJcbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGJvcmRlcjogMDtcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcclxuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxyXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRmxleGlibGUgZ3JpZFxyXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xyXG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xyXG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xyXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcclxuXHJcbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuLy8gRmxleGlibGUgZ3V0dGVyXHJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xyXG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xyXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3V0dGVyIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcclxuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcclxuXHJcbiAgQHdhcm4gXCJUaGUgZ3JpZC13aWR0aCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnb2xkZW4tcmF0aW8oJHZhbHVlLCAkaW5jcmVtZW50KSB7XHJcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcclxuXHJcbiAgQHdhcm4gXCJUaGUgZ29sZGVuLXJhdGlvIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFBsZWFzZSB1c2UgdGhlIG1vZHVsYXItc2NhbGUgZnVuY3Rpb24sIGluc3RlYWQuXCI7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRib3gpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICBAd2FybiBcIlRoZSBib3gtc2l6aW5nIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFRoaXMgcHJvcGVydHkgY2FuIG5vdyBiZSB1c2VkIHVuLXByZWZpeGVkLlwiO1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Z0dBSWdHO0FDSmhHOzs7O2dHQUlnRztBQUVoRyw2Q0FBNkM7QUEwRTdDO2dHQUNnRztBRDFFaEcsTUFBTSxDQUFOLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztFQUN4QixBQUFBLFlBQVksRUF5Q1osQUF6Q0EsTUF5Q00sQ0FtRUwsV0FBVyxDQVNWLFVBQVUsRUF3Q1osQUE3SkEsYUE2SmEsQ0FDWixNQUFNLENBQ0wsTUFBTSxDQUVMLFVBQVUsQ0FqS0Q7SUFBQyxPQUFPLEVBQUMsRUFBRztJQUFDLEtBQUssRUFBRSxJQUFLO0lBQUMsT0FBTyxFQUFFLEtBQU07R0FBRztFQUN4RCxBQUFZLFlBQUEsQUFBQSxNQUFNLEVBd0NsQixBQXhDQSxNQXdDTSxDQW1FTCxXQUFXLENBU1YsVUFBVSxBQXBIQSxNQUFNLEVBNEpsQixBQTVKQSxhQTRKYSxDQUNaLE1BQU0sQ0FDTCxNQUFNLENBRUwsVUFBVSxBQWhLRCxNQUFNLEVBQUMsQUFBUSxRQUFBLEFBQUEsTUFBTSxFQUFDLEFBQU8sT0FBQSxBQUFBLE1BQU0sQ0FBQTtJQUFDLEtBQUssRUFBQyxJQUFLO0lB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RUFGaEMsQUFHRSxlQUhhLENBQ2QsZ0JBQWdCLENBQUMsY0FBYyxDQUU5QixLQUFLLEVBSFAsQUFHUyxlQUhNLENBQ2QsZ0JBQWdCLENBQUMsY0FBYyxDQUV2QixNQUFNLENBQUM7SUFDYixLQUFLLEVBQUUsSUFBSztJQUFFLE9BQU8sRUFBRSxLQUFNO0dBRTdCO0VBTkgsQUFHRSxlQUhhLENBQ2QsZ0JBQWdCLENBQUMsY0FBYyxDQUU5QixLQUFLLEFBRUgsTUFBTSxFQUxWLEFBR1MsZUFITSxDQUNkLGdCQUFnQixDQUFDLGNBQWMsQ0FFdkIsTUFBTSxBQUVYLE1BQU0sQ0FBQztJQUFDLEtBQUssRUFBRSxJQUFLO0lBQUUsT0FBTyxFQUFFLEVBQUc7SUFBRSxPQUFPLEVBQUUsS0FBTTtHQUFHO0VBTDFELEFBUUcsZUFSWSxDQUNkLGdCQUFnQixDQUFDLGNBQWMsQ0FNOUIsTUFBTSxDQUNMLEtBQUssQ0FBQztJQUFDLEtBQUssRUFBRSxJQUFLO0lBQUcsVUFBVSxFQUFFLElBQUs7R0FBRztFQVI3QyxBQVVFLGVBVmEsQ0FDZCxnQkFBZ0IsQ0FBQyxjQUFjLENBUzlCLFVBQVUsQ0FBQztJQUFDLEtBQUssRUFBRSxJQUFLO0lBQUUsT0FBTyxFQUFFLEtBQU07SUFBRSxXQUFXLEVBQUUsSUFBSztHQUFHO0VBVmxFLEFBY0csZUFkWSxDQVlkLDBCQUEwQixDQUN6QixZQUFZLENBQ1gsSUFBSSxBQUNGLFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBQztJQUFFLGFBQWEsRUFBRSxJQUFLO0dBQUk7RUFmNUMsQUFnQkksZUFoQlcsQ0FZZCwwQkFBMEIsQ0FDekIsWUFBWSxDQUNYLElBQUksQ0FFSCxXQUFXLENBQUE7SUFBRSxNQUFNLEVBQUUsSUFBSztJQUFFLElBQUksRUFBRSxJQUFLO0dBQUk7RUFoQi9DLEFBbUJFLGVBbkJhLENBWWQsMEJBQTBCLENBT3pCLFlBQVksQ0FBQTtJQUNYLE9BQU8sRUFBRSxJQUFLO0dBTWQ7RUExQkgsQUF1QkssZUF2QlUsQ0FZZCwwQkFBMEIsQ0FPekIsWUFBWSxDQUVYLGFBQWEsQUFDWCxHQUFHLENBQ0gsS0FBSyxDQUFBO0lBQUUsS0FBSyxFQUFFLElBQUs7SUFBRSxPQUFPLEVBQUUsQ0FBRTtHQUFJO0VBdkJ6QyxBQTZCSSxlQTdCVyxDQVlkLDBCQUEwQixDQWV6QixXQUFXLENBQ1YsYUFBYSxDQUNaLEtBQUssQ0FBQTtJQUFFLFdBQVcsRUFBRSxDQUFFO0dBQUk7OztBQVEvQixNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLLE9BQU8sV0FBVyxFQUFFLFNBQVM7RUFDN0QsQUFDQyxZQURXLENBQ1gsTUFBTSxDQUFDO0lBQ04sTUFBTSxFQUFFLEtBQU07R0FJZDtFQU5GLEFBR0UsWUFIVSxDQUNYLE1BQU0sQ0FFTCxHQUFHLENBQUM7SUFDSCxNQUFNLEVBQUUsSUFBSztJQUFFLFVBQVUsRUFBRSxLQUFNO0dBQ2pDIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
