@charset "UTF-8";
.transparent-background {
  background-color: transparent;
  zoom: 1;
}

.tbl-cell {
  display: table-cell;
  vertical-align: top;
  text-align: center;
}

.tbl-type {
  display: table;
  width: 100%;
}

.route1, .route2, .route3, .route4 {
  -webkit-transform: rotateY(-90deg);
  -moz-transform: rotateY(-90deg);
  -ms-transform: rotateY(-90deg);
  transform: rotateY(-90deg);
}

.route1 {
  -webkit-transition: -webkit-transform 0.3s ease-out 0s;
  -moz-transition: -moz-transform 0.3s ease-out 0s;
  transition: -webkit-transform 0.3s ease-out 0s;
  -moz-transition: transform 0.3s ease-out 0s, -moz-transform 0.3s ease-out 0s;
  transition: transform 0.3s ease-out 0s;
  transition: transform 0.3s ease-out 0s, -webkit-transform 0.3s ease-out 0s, -moz-transform 0.3s ease-out 0s;
}

.route2 {
  -webkit-transition: -webkit-transform 0.3s ease-out 0.2s;
  -moz-transition: -moz-transform 0.3s ease-out 0.2s;
  transition: -webkit-transform 0.3s ease-out 0.2s;
  -moz-transition: transform 0.3s ease-out 0.2s, -moz-transform 0.3s ease-out 0.2s;
  transition: transform 0.3s ease-out 0.2s;
  transition: transform 0.3s ease-out 0.2s, -webkit-transform 0.3s ease-out 0.2s, -moz-transform 0.3s ease-out 0.2s;
}

.route3 {
  -webkit-transition: -webkit-transform 0.3s ease-out 0.4s;
  -moz-transition: -moz-transform 0.3s ease-out 0.4s;
  transition: -webkit-transform 0.3s ease-out 0.4s;
  -moz-transition: transform 0.3s ease-out 0.4s, -moz-transform 0.3s ease-out 0.4s;
  transition: transform 0.3s ease-out 0.4s;
  transition: transform 0.3s ease-out 0.4s, -webkit-transform 0.3s ease-out 0.4s, -moz-transform 0.3s ease-out 0.4s;
}

.route4 {
  -webkit-transition: -webkit-transform 0.3s ease-out 0.6s;
  -moz-transition: -moz-transform 0.3s ease-out 0.6s;
  transition: -webkit-transform 0.3s ease-out 0.6s;
  -moz-transition: transform 0.3s ease-out 0.6s, -moz-transform 0.3s ease-out 0.6s;
  transition: transform 0.3s ease-out 0.6s;
  transition: transform 0.3s ease-out 0.6s, -webkit-transform 0.3s ease-out 0.6s, -moz-transform 0.3s ease-out 0.6s;
}

.route {
  -webkit-transform: rotateY(0deg);
  -moz-transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
  transform: rotateY(0deg);
}

.g_button {
  display: block;
  height: 2.4375em;
  border-radius: 0.125em;
  overflow: hidden;
  text-align: center;
  line-height: 2.4375em;
  background-color: #e77f33;
}
.g_button .txt {
  font-size: 1.03125em;
  color: #fff;
}
.g_button:hover {
  opacity: 0.8;
}

.main_slide {
  background-color: #f5f5f5;
  opacity: 0;
}

.banner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.bmw_root {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}

.scroll_wrapper {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}
.scroll_wrapper .scroller {
  position: relative;
}
.scroll_wrapper .item {
  float: left;
  text-align: center;
  width: 320px;
}
.scroll_wrapper .item img {
  width: 100%;
  min-width: 320px;
  max-width: 640px;
  height: auto;
  min-height: 132px;
  max-height: 240px;
}
.scroll_wrapper .item .imgph {
  width: 100%;
  min-width: 320px;
  max-width: 640px;
  height: 10.1875em;
  -webkit-background-size: cover;
          background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.scroll_wrapper .banner_new_num {
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 100%;
  text-align: center;
  height: 0.6875em;
}
.scroll_wrapper .new_tbl_cell {
  display: inline-block;
  width: 0.6875em;
  height: 0.6875em;
  overflow: hidden;
  vertical-align: top;
  margin: 0 0.125em;
}
.scroll_wrapper .new_tbl_cell .p {
  display: inline-block;
  width: 0.4375em;
  height: 0.4375em;
  background-color: rgba(255, 255, 255, 0.5);
  float: left;
  margin: 0.125em;
  border-radius: 0.21875em;
}
.scroll_wrapper .on .p {
  background-color: rgba(255, 255, 255, 0.3);
  width: 0.6875em;
  height: 0.6875em;
  border: 0.15625em solid #fff;
  margin: 0;
  border-radius: 0.6875em;
}

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

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

body {
  background: #e9ecf1;
}

.bmw_inner {
  padding-top: 2.8125em;
}

.main, .bmw_root {
  width: 100%;
  min-width: 320px;
  max-width: 640px;
  font-size: 16px;
  background: #e9ecf1;
  font-family: "黑体-简", "文泉驿微米黑";
  position: relative;
  margin: 0 auto;
}

@media screen and (min-width: 480px) {
  .main, .bmw_root {
    font-size: 24px;
  }
}
@media screen and (min-width: 640px) {
  .main, .bmw_root {
    font-size: 32px;
  }
}
.none {
  display: none;
}

.phone_icon {
  background: url(/dianping/mobile/static/images/common/phone_icon.png) no-repeat;
  -webkit-background-size: 15.1875em 12.15625em;
          background-size: 15.1875em 12.15625em;
}

.common_header {
  width: 100%;
  height: 2.8125em;
  background: #37c07e;
  position: relative;
}

.common_header_tit {
  color: #fff;
  text-align: center;
  font-size: 1.25em;
  padding-top: 0.375em;
}

.home_icon {
  display: block;
  width: 1.6875em;
  height: 1.4375em;
  background-position: -1.3125em 0;
  position: absolute;
  top: 0.6875em;
  left: 0.625em;
}

.user_icon {
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-position: -3.5em 0;
  position: absolute;
  top: 0.65625em;
  right: 0.625em;
}

.other_home_icon {
  display: block;
  width: 1.6875em;
  height: 1.4375em;
  background-position: -1.3125em 0;
  position: absolute;
  top: 0.6875em;
  left: 0.625em;
}

.back_arrow {
  width: 2.1875em;
  height: 2.8125em;
  background-position: 0.9em 0.75em;
  position: absolute;
  top: 0;
  left: 0;
}

.m_right_icon {
  float: right;
  display: block;
  width: 0.625em;
  height: 1.125em;
  background-position: -5.78125em 0;
}

.common_exit_btn {
  float: right;
  font-size: 0.9375em;
  color: #fff;
  position: absolute;
  top: 0.71875em;
  right: 0.625em;
}
.common_exit_btn:hover {
  color: #fff;
}

.Emty_lists {
  height: 21.875em;
  text-align: center;
  display: table;
  width: 100%;
  vertical-align: middle;
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-pack: center;
  -webkit-box-align: center;
}

.bmw_root .bmw_main {
  -webkit-transform-origin: 50% 50% 50%;
  -moz-transform-origin: 50% 50% 50%;
  -ms-transform-origin: 50% 50% 50%;
  transform-origin: 50% 50% 50%;
  -webkit-transition: -webkit-transform 0.4s;
  -moz-transition: -moz-transform 0.4s;
  transition: -webkit-transform 0.4s;
  -moz-transition: transform 0.4s, -moz-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s, -moz-transform 0.4s;
}
.bmw_root .ck-wrapper {
  width: 100%;
}
.bmw_root .bmw_card {
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: url(/dianping/mobile/static/images/grayboyalogo.png) no-repeat center 3.125em;
  -webkit-background-size: 3.25em 3.25em;
          background-size: 3.25em 3.25em;
}
.bmw_root .bmw_wrapper {
  position: relative;
}
.bmw_root .common_header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.bmw_root .header_fix {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.common_header .m_logo {
  height: 100%;
  width: 100%;
  text-align: center;
}
.common_header .m_logo .mlogo {
  display: inline-block;
  width: 6.15625em;
  height: 1.6875em;
  background-position: -0.03125em -0.0625em;
  margin-top: 0.5625em;
}

.main_header_fix {
  padding-top: 2.8125em;
}

/*分icon*/
.sb_need_icon {
  display: inline-block;
  width: 1.5625em;
  height: 1.5625em;
  background: #fff3c6;
  border-radius: 50%;
  text-align: center;
  padding-top: 0.125em;
}

.ni_icon_inner {
  display: inline-block;
  width: 1.3125em;
  height: 1.3125em;
  background: #ffd241;
  border-radius: 50%;
  text-align: center;
}

.ii_txt {
  font-family: "微软雅黑";
  font-size: 1.0625em;
  color: #dea300;
  line-height: 0.5;
  font-weight: bold;
  position: relative;
  top: -0.0625em;
}

/*绿方块*/
.ct_squareicon {
  display: block;
  float: left;
  width: 0.375em;
  height: 0.78125em;
  margin: 0.34375em 0.96875em 0 0;
  background: #37c07e;
}

/*common load more css*/
.common_loadmore_btn {
  display: block;
  width: 60%;
  height: 3.125em;
  font-size: 0.75em;
  color: #fff;
  background-color: #333;
  background-color: rgba(255, 255, 255, 0.6);
  border: 1px solid #ccc;
  text-align: center;
  line-height: 3.125em;
  color: #454848;
  margin: 1.5625em auto 0;
}
.common_loadmore_btn:hover {
  color: #454848;
}

.common_load_warp {
  width: 100%;
  height: 6.0625em;
  position: relative;
  background: #e9ecf1;
  position: relative;
}
.common_load_warp .clw_txt {
  font-size: 0.75em;
  color: #3ac06b;
  line-height: 6.0625em;
  text-align: center;
}

.nc_top_float {
  position: fixed;
}

.common_backtop {
  display: inline-block;
  width: 2.375em;
  height: 2.375em;
  color: #fff;
  background-color: #333;
  background-color: rgba(62, 62, 62, 0.8);
  border-radius: 0.3125em;
  text-align: center;
  line-height: 0.9;
  padding-top: 0.1875em;
}
.common_backtop .cb_backTxt {
  display: inline-block;
  width: 1.53125em;
}
.common_backtop .cb_backTxt u {
  color: #fff;
  font-size: 0.6875em;
  text-decoration: none;
}
.common_backtop:hover {
  color: #fff;
}

/*common submit btn*/
.common_submit_btn {
  display: block;
  width: 100%;
  height: 100%;
  background: #37c07e;
  border-bottom: 4px solid #299f66;
  color: #e9ecf1;
  text-align: center;
  line-height: 2.1875em;
  margin: 0 auto;
}
.common_submit_btn:hover {
  color: #e9ecf1;
}
.common_submit_btn:active {
  color: #e9ecf1;
  background: #2ea76d;
  border-bottom: 4px solid #268e5c;
}

/*common footer css*/
.common_footer {
  width: 100%;
  /*position: absolute; bottom: 0; left: 0;*/
  padding-top: 1.5625em;
}

.cf_topSkip_warp {
  width: 100%;
  height: 1.53125em;
  background: #c2c3c5;
  padding: 0.21875em 0.65625em 0 0.625em;
}

.skip_btn {
  float: left;
  color: #7a7a7a;
  font-size: 0.75em;
}
.skip_btn:hover {
  color: #7a7a7a;
}

.skip_btn1 {
  float: right;
  color: #7a7a7a;
  font-size: 0.75em;
  margin-left: 1.03125em;
}
.skip_btn1 a {
  color: #7a7a7a;
}
.skip_btn1:hover {
  color: #7a7a7a;
}

.cf_platform_list {
  text-align: center;
}

.cf_platform_list .it {
  display: inline-block;
}

.it_platform {
  display: inline-block;
  height: 100%;
  padding: 0 0.4375em;
  color: #7a7a7a;
  font-size: 0.6875em;
  line-height: 100%;
}
.it_platform:hover {
  color: #7a7a7a;
}

.it_line {
  border: 2px solid #7a7a7a;
  border-top: none;
  border-bottom: none;
  padding: 0 0.5625em;
}

.cf_right {
  font-family: "Arial";
  color: #7a7a7a;
  font-size: 0.6875em;
  text-align: center;
}

.bt20 {
  margin-bottom: 0.625em;
}

.m_icon {
  background: url(/dianping/mobile/static/images/common/mboya-icon.png) no-repeat;
  -webkit-background-size: 15.625em 15.625em;
          background-size: 15.625em 15.625em;
  display: block;
}

.m_icon_warp {
  display: block;
  width: 1.875em;
  height: 1.875em;
  border-radius: 100%;
  overflow: hidden;
  background: #ccc;
  margin: 0 auto;
}
.m_icon_warp .m_icon {
  width: 1.53125em;
  height: 1.53125em;
  margin: 0 auto;
  margin-top: 0.15625em;
}

.ac_icon_byzx {
  background: #2cc0da;
}
.ac_icon_byzx .m_icon {
  background-position: 0.125em -4.25em;
}

.ac_icon_agjy {
  background: #ff867a;
}
.ac_icon_agjy .m_icon {
  background-position: -1.84375em -4.125em;
}

.ac_icon_kpxx {
  background: #87bcf7;
}
.ac_icon_kpxx .m_icon {
  background-position: -3.8125em -4.25em;
}

.ac_icon_ydxx {
  background: #ad7ece;
}
.ac_icon_ydxx .m_icon {
  background-position: -5.8125em -4.25em;
}

.ac_icon_hwsq {
  background: #77b4be;
}
.ac_icon_hwsq .m_icon {
  background-position: -7.78125em -4.25em;
}

.ac_icon_zyty {
  background: #54ac9c;
}
.ac_icon_zyty .m_icon {
  background-position: -9.8125em -4.25em;
}

.ac_icon_pwys {
  background: #fcb671;
}
.ac_icon_pwys .m_icon {
  background-position: -11.78125em -4.25em;
}

.ac_icon_lxz {
  background: #81e183;
}
.ac_icon_lxz .m_icon {
  background-position: -14.09375em -4.1875em;
}

.ac_icon_bygg {
  background: #37c07e;
}
.ac_icon_bygg .m_icon {
  background-position: -9.8125em -4.1875em;
}

.ac_icon_rmzx {
  background: #67e3b9;
}
.ac_icon_rmzx .m_icon {
  background-position: 0.125em -5.875em;
}

.ac_icon_cgxw {
  background: #6ddcde;
}
.ac_icon_cgxw .m_icon {
  background-position: -12.65625em -2.1875em;
}

.ac_icon_hdkb {
  background: #eb7f60;
}
.ac_icon_hdkb .m_icon {
  background-position: -14.34375em -2.1875em;
}

.ac_icon_hdpc {
  background: #e088ac;
}
.ac_icon_hdpc .m_icon {
  background-position: -9.375em -2.28125em;
}

.ac_icon_cgcp {
  background: #e3ba67;
}
.ac_icon_cgcp .m_icon {
  background-position: -11.03125em -2.28125em;
}

.s_boya_icon {
  display: block;
  width: 1.3125em;
  height: 1.28125em;
  background-position: -6.84375em -0.28125em;
}

.home_mtabs {
  height: 3.59375em;
  display: block;
  position: relative;
  z-index: 5;
}
.home_mtabs .home_mtabs_in {
  position: relative;
  display: box;
  display: -webkit-box;
}
.home_mtabs .mtab_item {
  display: block;
  box-flex: 1;
  -webkit-box-flex: 1;
  background: #fff;
  height: 100%;
  border-right: 2px solid #eef1f5;
}
.home_mtabs .mtab_item:last-child {
  border-right: 0 none;
}
.home_mtabs .tab_btn {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  padding-top: 0.3125em;
  border-bottom: 0.21875em solid #fff;
}
.home_mtabs .tab_btn .mtab_icon {
  display: block;
  width: 1.5em;
  height: 1.5625em;
  margin: 0 auto;
}
.home_mtabs .tab_btn .title {
  font-size: 0.8125em;
  color: #258255;
}
.home_mtabs .tab_btn_active {
  background-color: #f5f5f5;
  border-bottom: 0.21875em solid #37c07e;
}
.home_mtabs .main_search {
  position: absolute;
  height: 1.875em;
  border: 1px solid rgba(61, 61, 61, 0.4);
  top: 3.59375em;
  left: 0.21875em;
  width: 97.8125%;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.15625em;
}
.home_mtabs .main_search .search_inp {
  display: block;
  float: left;
  height: 100%;
  background-color: transparent;
  border: 0 none;
  outline: none;
  padding: 0 10px;
  font-size: 1em;
  width: 91.054313099%;
  color: #333;
}
.home_mtabs .main_search .search_btn {
  display: block;
  width: 1.40625em;
  height: 1.40625em;
  background-color: #f4ad49;
  border-bottom: 0.0625em solid #c38a3a;
  border-radius: 0.125em;
  overflow: hidden;
  float: right;
  margin: 0.21875em 0.1875em 0 0;
}
.home_mtabs .main_search .search_btn .m_icon {
  display: block;
  height: 0.6875em;
  width: 0.6875em;
  background-position: -8.15625em -2.75em;
  margin: 0.34375em 0 0 0.34375em;
}

.m_icon_info {
  background-position: -0.03125em -2.15625em;
}

.m_icon_active {
  background-position: -2.125em -2.15625em;
}

.m_icon_vinues {
  background-position: -4.28125em -2.15625em;
}

.m_icon_search {
  background-position: -6.4375em -2.15625em;
}

.bm_lawyer {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4999;
  width: 100%;
  height: 0;
  overflow: visible;
  font-family: "Microsoft Yahei";
}

.bm_popwarp {
  width: 80%;
  font-family: "黑体-简", "文泉驿微米黑";
  position: relative;
  position: absolute;
}

@media screen and (min-width: 480px) {
  .bm_popwarp {
    font-size: 24px;
  }
}
@media screen and (min-width: 640px) {
  .bm_popwarp {
    font-size: 32px;
  }
}
.NY-pop-mask {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.2;
  filter: alpha(opacity=20);
  top: 0;
  left: 0;
}

.bm_pop {
  width: 100%;
  background: #fff;
}

.bm_pop_title {
  height: 1.46875em;
  background-color: #6bcd9b;
  padding-left: 0.3125em;
}
.bm_pop_title .t {
  font-size: 0.8125em;
  display: inline-block;
  height: 100%;
  line-height: 100%;
  color: #fff;
}
.bm_pop_title .close {
  display: inline-block;
  float: right;
  height: 100%;
  width: 1.46875em;
}
.bm_pop_title .close .i {
  display: block;
  height: 100%;
  font-family: "simsun";
  width: 1.0625em;
  height: 1.0625em;
  margin: 0.1875em 0 0 0.1875em;
  border: 1px solid #258255;
  line-height: 83%;
  text-align: center;
  border-radius: 1.0625em;
}
.bm_pop_title .close .it {
  font-weight: bold;
  font-size: 0.625em;
  line-height: 1.0625em;
  font-style: normal;
  color: #258255;
}

.bm_contenter {
  background-color: #fff;
  padding: 0.625em;
}
.bm_contenter .txt {
  padding: 0.78125em 0;
  color: #6a6a6a;
  font-size: 0.6875em;
  text-align: center;
}

.bm_pbtn_ar {
  padding: 0.3125em 0;
  text-align: center;
  display: block;
  width: 100%;
}

.bm_p_button {
  display: inline-block;
  height: 1.25em;
  line-height: 100%;
  text-align: center;
  padding: 0 0.3125em;
  margin: 0 0.15625em;
}
.bm_p_button .tt {
  font-size: 0.75em;
  display: inline-block;
  min-width: 3em;
}

.NY-con-toast {
  padding: 15px 10px;
  text-align: center;
}

.NY-con-toast p {
  line-height: 29px;
  font-size: 0.4375em;
  font-weight: bold;
  color: #666;
}

.bm_p_button_waiter {
  border: 1px solid #c9c9c9;
  background-color: #fff;
  border-radius: 2px;
}
.bm_p_button_waiter .tt {
  color: #297b53;
}

.bm_p_button_green {
  background-color: #47c387;
  border: 1px solid #47c387;
  border-radius: 2px;
}
.bm_p_button_green .tt {
  color: #fff;
}

.login_popwarp {
  width: 100%;
  padding: 1.5625em 0.9375em 1.5625em;
  /*输入框正确错误*/
}
.login_popwarp .llw_login_list {
  position: relative;
}
.login_popwarp .llw_login_list .it {
  float: left;
  width: 100%;
  margin-bottom: 0.28125em;
  position: relative;
}
.login_popwarp .llw_login_list .it .it_forget {
  float: left;
  color: #b3b3b3;
  font-size: 0.6875em;
}
.login_popwarp .llw_login_list .it .it_reg {
  float: right;
  color: #b3b3b3;
  font-size: 0.6875em;
}
.login_popwarp .llw_login_list .it .login_btn {
  width: 100%;
  height: 2.3125em;
}
.login_popwarp .llw_login_list .it_padding {
  padding: 0.34375em 0.4375em 0.78125em 0.5em;
}
.login_popwarp .llw_login_list .tiptxt {
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
          align-items: center;
  position: absolute;
  height: 2.1875em;
  color: #f00;
  line-height: 1.2;
  top: -2.125em;
  display: none;
}
.login_popwarp .llw_login_list .tiptxt.d-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
}
.login_popwarp .llw_login_list .tiptxt .t {
  font-size: 0.625em;
  font-style: normal;
}
.login_popwarp .llw_login_list .mlogin_continue,
.login_popwarp .llw_login_list .mlogin_change {
  display: none;
  width: 48%;
  float: right;
  line-height: 2.5em;
  text-align: center;
  font-size: 0.9em;
}
.login_popwarp .llw_login_list .mlogin_continue {
  float: left;
  background: #c9c9c9;
  border-color: #c9c9c9;
}
.login_popwarp .inpt_it {
  border: 1px solid #eee;
}
.login_popwarp .inpt_it_captcha .log_input_captcha {
  padding-right: 42% !important;
}
.login_popwarp .inpt_it_captcha img.captcha {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
  width: 40%;
  height: 100%;
  cursor: pointer;
}
.login_popwarp .inpt_it_captcha .reg_false_tips {
  top: auto;
}
.login_popwarp .it_inputwarp {
  width: 100%;
  height: 2.1875em;
  background: #fff;
  position: relative;
}
.login_popwarp .it_inputwarp .log_input {
  width: 100%;
  height: 100%;
  padding: 0.78125em;
  line-height: 1.5625em;
  border: none;
  font-size: 0.6875em;
  color: #b3b3b3;
}
.login_popwarp .it_inputwarp .log_input:focus {
  outline-color: #37C074;
}
.login_popwarp .it_inputwarp .log_true_icon {
  width: 0.5em;
  height: 0.34375em;
  background-position: -8.03125em -1.78125em;
  position: absolute;
  top: 0.90625em;
  right: 0.75em;
  display: none;
}
.login_popwarp .true_status {
  border: 1px solid #51bf87;
}
.login_popwarp .true_status .log_true_icon {
  display: block;
}
.login_popwarp .focus_status {
  border: 1px solid #0bacd3;
}
.login_popwarp .false_status {
  border: 1px solid #f9b5b5;
}

/*empty css*/
.comm_empty_warp {
  width: 100%;
  text-align: center;
  padding: 1.5625em 0;
}

.cew_empty_icon {
  display: inline-block;
  width: 7.8125em;
  height: 9.15625em;
  background: url(/dianping/mobile/static/images/common/empty_icon.png) no-repeat center center;
  -webkit-background-size: 7.78125em 9.15625em;
          background-size: 7.78125em 9.15625em;
}

/*msg pop*/
.common_msgshow_warp {
  width: 100%;
  background: #fef4c7;
  border: 1px solid #e5e5e5;
  padding: 0.15625em 1.40625em;
  position: absolute;
  left: 0;
  top: 2.8125em;
  opacity: 0;
}

.cmw_msgTxt {
  float: left;
  font-size: 0.625em;
  color: #6a6a6a;
  margin-right: 0.78125em;
}

.cmw_detailTxt {
  width: 69.53125%;
  float: left;
  font-size: 0.625em;
  color: #6a6a6a;
}

.cmw_greenFont {
  color: #33aa70;
  font-weight: bold;
  margin: 0 0.625em;
}

.reg_false_tips {
  color: #ff0000;
  position: absolute;
  top: 0.6875em;
  right: 0.09375em;
}
.reg_false_tips .tt {
  font-size: 0.375em;
  font-weight: none;
  float: left;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1vbi9jb21tb24uY3NzIiwiY29yZS9fbWl4aW4uc2NzcyIsImNvbW1vbi9jb21tb24uc2NzcyIsImNvcmUvX2NzczMuc2NzcyIsImNvcmUvX3NldHRpbmcuc2NzcyIsImNvcmUvX21lZGlhX3F1ZXJpZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUM4ZmhCO0VBQ0UsNkJBQUE7RUFDQSxPQUFBO0FENWZGOztBQ2dqQkE7RUFDRSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUQ3aUJGOztBRUZBO0VBQVUsY0FBQTtFQUFlLFdBQUE7QUZPekI7O0FFSEE7RUNpQk0sa0NBeVN5QjtFQXRTekIsK0JBc1N5QjtFQW5TekIsOEJBbVN5QjtFQTVSM0IsMEJBNFIyQjtBSGhUL0I7O0FFUkE7RUMwRE0sc0RBQUE7RUFHQSxnREFBQTtFQVVGLDhDRHZFNEM7RUN1RTVDLDRFRHZFNEM7RUN1RTVDLHNDRHZFNEM7RUN1RTVDLDJHRHZFNEM7QUZlaEQ7O0FFZEE7RUN5RE0sd0RBQUE7RUFHQSxrREFBQTtFQVVGLGdERHRFNEM7RUNzRTVDLGdGRHRFNEM7RUNzRTVDLHdDRHRFNEM7RUNzRTVDLGlIRHRFNEM7QUZxQmhEOztBRXBCQTtFQ3dETSx3REFBQTtFQUdBLGtEQUFBO0VBVUYsZ0REckU0QztFQ3FFNUMsZ0ZEckU0QztFQ3FFNUMsd0NEckU0QztFQ3FFNUMsaUhEckU0QztBRjJCaEQ7O0FFMUJBO0VDdURNLHdEQUFBO0VBR0Esa0RBQUE7RUFVRixnRERwRTRDO0VDb0U1QyxnRkRwRTRDO0VDb0U1Qyx3Q0RwRTRDO0VDb0U1QyxpSERwRTRDO0FGaUNoRDs7QUVoQ0E7RUNXTSxnQ0F5U3lCO0VBdFN6Qiw2QkFzU3lCO0VBblN6Qiw0QkFtU3lCO0VBNVIzQix3QkE0UjJCO0FIN1EvQjs7QUVuQ0E7RUFBVSxjQUFBO0VBQWUsZ0JBQUE7RUFBZ0Isc0JBQUE7RUFBeUIsZ0JBQUE7RUFBaUIsa0JBQUE7RUFBbUIscUJBQUE7RUFB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QXFCLFdBQUE7RUFBYSxrQkFBQTtFQUFvQixjQUFBO0FGMnNCdEU7O0FFMXNCQTtFQUFnQixjQUFBO0VBQWdCLGlCQUFBO0VBQW1CLGlCQUFBO0FGZ3RCbkQ7O0FFL3NCQTtFQUFpQixjQUFBO0VBQWdCLGtCQUFBO0VBQW9CLGFBQUE7RUFBYyxnQkFBQTtBRnN0Qm5FO0FFcnRCRTtFQUFJLGtCQUFBO0VBQW9CLGlCQUFBO0VBQWlCLFdBQUE7QUYwdEIzQyIsImZpbGUiOiJjb21tb24vY29tbW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi50cmFuc3BhcmVudC1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHpvb206IDE7XG59XG5cbi50YmwtY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRibC10eXBlIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucm91dGUxLCAucm91dGUyLCAucm91dGUzLCAucm91dGU0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKTtcbn1cblxuLnJvdXRlMSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCAwcztcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0IDBzO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0IDBzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCAwcztcbn1cblxuLnJvdXRlMiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCAwLjJzO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQgMC4ycztcbiAgLW1zLXRyYW5zaXRpb246IC1tcy10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCAwLjJzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCAwLjJzO1xufVxuXG4ucm91dGUzIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0IDAuNHM7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCAwLjRzO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0IDAuNHM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0IDAuNHM7XG59XG5cbi5yb3V0ZTQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQgMC42cztcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0IDAuNnM7XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQgMC42cztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQgMC42cztcbn1cblxuLnJvdXRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7XG59XG5cbi5nX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIuNDM3NWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyLjQzNzVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3N2YzMztcbn1cbi5nX2J1dHRvbiAudHh0IHtcbiAgZm9udC1zaXplOiAxLjAzMTI1ZW07XG4gIGNvbG9yOiAjZmZmO1xufVxuLmdfYnV0dG9uOmhvdmVyIHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ubWFpbl9zbGlkZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYm13X3Jvb3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5zY3JvbGxfd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zY3JvbGxfd3JhcHBlciAuc2Nyb2xsZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2Nyb2xsX3dyYXBwZXIgLml0ZW0ge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMzIwcHg7XG59XG4uc2Nyb2xsX3dyYXBwZXIgLml0ZW0gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogMTMycHg7XG4gIG1heC1oZWlnaHQ6IDI0MHB4O1xufVxuLnNjcm9sbF93cmFwcGVyIC5pdGVtIC5pbWdwaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBoZWlnaHQ6IDEwLjE4NzVlbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnNjcm9sbF93cmFwcGVyIC5iYW5uZXJfbmV3X251bSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogMC42ODc1ZW07XG59XG4uc2Nyb2xsX3dyYXBwZXIgLm5ld190YmxfY2VsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNjg3NWVtO1xuICBoZWlnaHQ6IDAuNjg3NWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDAgMC4xMjVlbTtcbn1cbi5zY3JvbGxfd3JhcHBlciAubmV3X3RibF9jZWxsIC5wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC40Mzc1ZW07XG4gIGhlaWdodDogMC40Mzc1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMC4xMjVlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yMTg3NWVtO1xufVxuLnNjcm9sbF93cmFwcGVyIC5vbiAucCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgd2lkdGg6IDAuNjg3NWVtO1xuICBoZWlnaHQ6IDAuNjg3NWVtO1xuICBib3JkZXI6IDAuMTU2MjVlbSBzb2xpZCAjZmZmO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjg3NWVtO1xufVxuXG4qIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwsIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2U5ZWNmMTtcbn1cblxuLmJtd19pbm5lciB7XG4gIHBhZGRpbmctdG9wOiAyLjgxMjVlbTtcbn1cblxuLm1haW4sIC5ibXdfcm9vdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJhY2tncm91bmQ6ICNlOWVjZjE7XG4gIGZvbnQtZmFtaWx5OiBcIum7keS9ky3nroBcIiwgXCLmlofms4npqb/lvq7nsbPpu5FcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1haW4sIC5ibXdfcm9vdCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAubWFpbiwgLmJtd19yb290IHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cbn1cbi5ub25lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBob25lX2ljb24ge1xuICBiYWNrZ3JvdW5kOiB1cmwoL2RpYW5waW5nL21vYmlsZS9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9waG9uZV9pY29uLnBuZykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE1LjE4NzVlbSAxMi4xNTYyNWVtO1xufVxuXG4uY29tbW9uX2hlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuODEyNWVtO1xuICBiYWNrZ3JvdW5kOiAjMzdjMDdlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb21tb25faGVhZGVyX3RpdCB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBwYWRkaW5nLXRvcDogMC4zNzVlbTtcbn1cblxuLmhvbWVfaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMS42ODc1ZW07XG4gIGhlaWdodDogMS40Mzc1ZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xLjMxMjVlbSAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC42ODc1ZW07XG4gIGxlZnQ6IDAuNjI1ZW07XG59XG5cbi51c2VyX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMy41ZW0gMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuNjU2MjVlbTtcbiAgcmlnaHQ6IDAuNjI1ZW07XG59XG5cbi5vdGhlcl9ob21lX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEuNjg3NWVtO1xuICBoZWlnaHQ6IDEuNDM3NWVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMS4zMTI1ZW0gMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuNjg3NWVtO1xuICBsZWZ0OiAwLjYyNWVtO1xufVxuXG4uYmFja19hcnJvdyB7XG4gIHdpZHRoOiAyLjE4NzVlbTtcbiAgaGVpZ2h0OiAyLjgxMjVlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMC45ZW0gMC43NWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLm1fcmlnaHRfaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjYyNWVtO1xuICBoZWlnaHQ6IDEuMTI1ZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC01Ljc4MTI1ZW0gMDtcbn1cblxuLmNvbW1vbl9leGl0X2J0biB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjcxODc1ZW07XG4gIHJpZ2h0OiAwLjYyNWVtO1xufVxuLmNvbW1vbl9leGl0X2J0bjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uRW10eV9saXN0cyB7XG4gIGhlaWdodDogMjEuODc1ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ibXdfcm9vdCAuYm13X21haW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCUgNTAlO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCUgNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJSA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCUgNTAlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNHM7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC40cztcbiAgLW1zLXRyYW5zaXRpb246IC1tcy10cmFuc2Zvcm0gMC40cztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7XG59XG4uYm13X3Jvb3QgLmNrLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi5ibXdfcm9vdCAuYm13X2NhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoL2RpYW5waW5nL21vYmlsZS9zdGF0aWMvaW1hZ2VzL2dyYXlib3lhbG9nby5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgMy4xMjVlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAzLjI1ZW0gMy4yNWVtO1xufVxuLmJtd19yb290IC5ibXdfd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ibXdfcm9vdCAuY29tbW9uX2hlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbn1cbi5ibXdfcm9vdCAuaGVhZGVyX2ZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi5jb21tb25faGVhZGVyIC5tX2xvZ28ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY29tbW9uX2hlYWRlciAubV9sb2dvIC5tbG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDYuMTU2MjVlbTtcbiAgaGVpZ2h0OiAxLjY4NzVlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTAuMDMxMjVlbSAtMC4wNjI1ZW07XG4gIG1hcmdpbi10b3A6IDAuNTYyNWVtO1xufVxuXG4ubWFpbl9oZWFkZXJfZml4IHtcbiAgcGFkZGluZy10b3A6IDIuODEyNWVtO1xufVxuXG4vKuWIhmljb24qL1xuLnNiX25lZWRfaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNTYyNWVtO1xuICBoZWlnaHQ6IDEuNTYyNWVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmM2M2O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDAuMTI1ZW07XG59XG5cbi5uaV9pY29uX2lubmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS4zMTI1ZW07XG4gIGhlaWdodDogMS4zMTI1ZW07XG4gIGJhY2tncm91bmQ6ICNmZmQyNDE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaWlfdHh0IHtcbiAgZm9udC1mYW1pbHk6IFwi5b6u6L2v6ZuF6buRXCI7XG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gIGNvbG9yOiAjZGVhMzAwO1xuICBsaW5lLWhlaWdodDogMC41O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjA2MjVlbTtcbn1cblxuLyrnu7/mlrnlnZcqL1xuLmN0X3NxdWFyZWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwLjM3NWVtO1xuICBoZWlnaHQ6IDAuNzgxMjVlbTtcbiAgbWFyZ2luOiAwLjM0Mzc1ZW0gMC45Njg3NWVtIDAgMDtcbiAgYmFja2dyb3VuZDogIzM3YzA3ZTtcbn1cblxuLypjb21tb24gbG9hZCBtb3JlIGNzcyovXG4uY29tbW9uX2xvYWRtb3JlX2J0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDMuMTI1ZW07XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzLjEyNWVtO1xuICBjb2xvcjogIzQ1NDg0ODtcbiAgbWFyZ2luOiAxLjU2MjVlbSBhdXRvIDA7XG59XG4uY29tbW9uX2xvYWRtb3JlX2J0bjpob3ZlciB7XG4gIGNvbG9yOiAjNDU0ODQ4O1xufVxuXG4uY29tbW9uX2xvYWRfd2FycCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDYuMDYyNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNlOWVjZjE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jb21tb25fbG9hZF93YXJwIC5jbHdfdHh0IHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGNvbG9yOiAjM2FjMDZiO1xuICBsaW5lLWhlaWdodDogNi4wNjI1ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm5jX3RvcF9mbG9hdCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLmNvbW1vbl9iYWNrdG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMi4zNzVlbTtcbiAgaGVpZ2h0OiAyLjM3NWVtO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MiwgNjIsIDYyLCAwLjgpO1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMC45O1xuICBwYWRkaW5nLXRvcDogMC4xODc1ZW07XG59XG4uY29tbW9uX2JhY2t0b3AgLmNiX2JhY2tUeHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjUzMTI1ZW07XG59XG4uY29tbW9uX2JhY2t0b3AgLmNiX2JhY2tUeHQgdSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuNjg3NWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uY29tbW9uX2JhY2t0b3A6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLypjb21tb24gc3VibWl0IGJ0biovXG4uY29tbW9uX3N1Ym1pdF9idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzM3YzA3ZTtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMyOTlmNjY7XG4gIGNvbG9yOiAjZTllY2YxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uY29tbW9uX3N1Ym1pdF9idG46aG92ZXIge1xuICBjb2xvcjogI2U5ZWNmMTtcbn1cbi5jb21tb25fc3VibWl0X2J0bjphY3RpdmUge1xuICBjb2xvcjogI2U5ZWNmMTtcbiAgYmFja2dyb3VuZDogIzJlYTc2ZDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMyNjhlNWM7XG59XG5cbi8qY29tbW9uIGZvb3RlciBjc3MqL1xuLmNvbW1vbl9mb290ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgLypwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsgbGVmdDogMDsqL1xuICBwYWRkaW5nLXRvcDogMS41NjI1ZW07XG59XG5cbi5jZl90b3BTa2lwX3dhcnAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxLjUzMTI1ZW07XG4gIGJhY2tncm91bmQ6ICNjMmMzYzU7XG4gIHBhZGRpbmc6IDAuMjE4NzVlbSAwLjY1NjI1ZW0gMCAwLjYyNWVtO1xufVxuXG4uc2tpcF9idG4ge1xuICBmbG9hdDogbGVmdDtcbiAgY29sb3I6ICM3YTdhN2E7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuLnNraXBfYnRuOmhvdmVyIHtcbiAgY29sb3I6ICM3YTdhN2E7XG59XG5cbi5za2lwX2J0bjEge1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbG9yOiAjN2E3YTdhO1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuMDMxMjVlbTtcbn1cbi5za2lwX2J0bjEgYSB7XG4gIGNvbG9yOiAjN2E3YTdhO1xufVxuLnNraXBfYnRuMTpob3ZlciB7XG4gIGNvbG9yOiAjN2E3YTdhO1xufVxuXG4uY2ZfcGxhdGZvcm1fbGlzdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNmX3BsYXRmb3JtX2xpc3QgLml0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaXRfcGxhdGZvcm0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCAwLjQzNzVlbTtcbiAgY29sb3I6ICM3YTdhN2E7XG4gIGZvbnQtc2l6ZTogMC42ODc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xufVxuLml0X3BsYXRmb3JtOmhvdmVyIHtcbiAgY29sb3I6ICM3YTdhN2E7XG59XG5cbi5pdF9saW5lIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzdhN2E3YTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgcGFkZGluZzogMCAwLjU2MjVlbTtcbn1cblxuLmNmX3JpZ2h0IHtcbiAgZm9udC1mYW1pbHk6IFwiQXJpYWxcIjtcbiAgY29sb3I6ICM3YTdhN2E7XG4gIGZvbnQtc2l6ZTogMC42ODc1ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJ0MjAge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtO1xufVxuXG4ubV9pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKC9kaWFucGluZy9tb2JpbGUvc3RhdGljL2ltYWdlcy9jb21tb24vbWJveWEtaWNvbi5wbmcpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNS42MjVlbSAxNS42MjVlbTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tX2ljb25fd2FycCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMS44NzVlbTtcbiAgaGVpZ2h0OiAxLjg3NWVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5tX2ljb25fd2FycCAubV9pY29uIHtcbiAgd2lkdGg6IDEuNTMxMjVlbTtcbiAgaGVpZ2h0OiAxLjUzMTI1ZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAwLjE1NjI1ZW07XG59XG5cbi5hY19pY29uX2J5engge1xuICBiYWNrZ3JvdW5kOiAjMmNjMGRhO1xufVxuLmFjX2ljb25fYnl6eCAubV9pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMC4xMjVlbSAtNC4yNWVtO1xufVxuXG4uYWNfaWNvbl9hZ2p5IHtcbiAgYmFja2dyb3VuZDogI2ZmODY3YTtcbn1cbi5hY19pY29uX2FnankgLm1faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xLjg0Mzc1ZW0gLTQuMTI1ZW07XG59XG5cbi5hY19pY29uX2tweHgge1xuICBiYWNrZ3JvdW5kOiAjODdiY2Y3O1xufVxuLmFjX2ljb25fa3B4eCAubV9pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMuODEyNWVtIC00LjI1ZW07XG59XG5cbi5hY19pY29uX3lkeHgge1xuICBiYWNrZ3JvdW5kOiAjYWQ3ZWNlO1xufVxuLmFjX2ljb25feWR4eCAubV9pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUuODEyNWVtIC00LjI1ZW07XG59XG5cbi5hY19pY29uX2h3c3Ege1xuICBiYWNrZ3JvdW5kOiAjNzdiNGJlO1xufVxuLmFjX2ljb25faHdzcSAubV9pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcuNzgxMjVlbSAtNC4yNWVtO1xufVxuXG4uYWNfaWNvbl96eXR5IHtcbiAgYmFja2dyb3VuZDogIzU0YWM5Yztcbn1cbi5hY19pY29uX3p5dHkgLm1faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05LjgxMjVlbSAtNC4yNWVtO1xufVxuXG4uYWNfaWNvbl9wd3lzIHtcbiAgYmFja2dyb3VuZDogI2ZjYjY3MTtcbn1cbi5hY19pY29uX3B3eXMgLm1faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMS43ODEyNWVtIC00LjI1ZW07XG59XG5cbi5hY19pY29uX2x4eiB7XG4gIGJhY2tncm91bmQ6ICM4MWUxODM7XG59XG4uYWNfaWNvbl9seHogLm1faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNC4wOTM3NWVtIC00LjE4NzVlbTtcbn1cblxuLmFjX2ljb25fYnlnZyB7XG4gIGJhY2tncm91bmQ6ICMzN2MwN2U7XG59XG4uYWNfaWNvbl9ieWdnIC5tX2ljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOS44MTI1ZW0gLTQuMTg3NWVtO1xufVxuXG4uYWNfaWNvbl9ybXp4IHtcbiAgYmFja2dyb3VuZDogIzY3ZTNiOTtcbn1cbi5hY19pY29uX3JtenggLm1faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAuMTI1ZW0gLTUuODc1ZW07XG59XG5cbi5hY19pY29uX2NneHcge1xuICBiYWNrZ3JvdW5kOiAjNmRkY2RlO1xufVxuLmFjX2ljb25fY2d4dyAubV9pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyLjY1NjI1ZW0gLTIuMTg3NWVtO1xufVxuXG4uYWNfaWNvbl9oZGtiIHtcbiAgYmFja2dyb3VuZDogI2ViN2Y2MDtcbn1cbi5hY19pY29uX2hka2IgLm1faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNC4zNDM3NWVtIC0yLjE4NzVlbTtcbn1cblxuLmFjX2ljb25faGRwYyB7XG4gIGJhY2tncm91bmQ6ICNlMDg4YWM7XG59XG4uYWNfaWNvbl9oZHBjIC5tX2ljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOS4zNzVlbSAtMi4yODEyNWVtO1xufVxuXG4uYWNfaWNvbl9jZ2NwIHtcbiAgYmFja2dyb3VuZDogI2UzYmE2Nztcbn1cbi5hY19pY29uX2NnY3AgLm1faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMS4wMzEyNWVtIC0yLjI4MTI1ZW07XG59XG5cbi5zX2JveWFfaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMS4zMTI1ZW07XG4gIGhlaWdodDogMS4yODEyNWVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNi44NDM3NWVtIC0wLjI4MTI1ZW07XG59XG5cbi5ob21lX210YWJzIHtcbiAgaGVpZ2h0OiAzLjU5Mzc1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG59XG4uaG9tZV9tdGFicyAuaG9tZV9tdGFic19pbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbn1cbi5ob21lX210YWJzIC5tdGFiX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2VlZjFmNTtcbn1cbi5ob21lX210YWJzIC5tdGFiX2l0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMCBub25lO1xufVxuLmhvbWVfbXRhYnMgLnRhYl9idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMC4zMTI1ZW07XG4gIGJvcmRlci1ib3R0b206IDAuMjE4NzVlbSBzb2xpZCAjZmZmO1xufVxuLmhvbWVfbXRhYnMgLnRhYl9idG4gLm10YWJfaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41NjI1ZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmhvbWVfbXRhYnMgLnRhYl9idG4gLnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgY29sb3I6ICMyNTgyNTU7XG59XG4uaG9tZV9tdGFicyAudGFiX2J0bl9hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItYm90dG9tOiAwLjIxODc1ZW0gc29saWQgIzM3YzA3ZTtcbn1cbi5ob21lX210YWJzIC5tYWluX3NlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxLjg3NWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYxLCA2MSwgNjEsIDAuNCk7XG4gIHRvcDogMy41OTM3NWVtO1xuICBsZWZ0OiAwLjIxODc1ZW07XG4gIHdpZHRoOiA5Ny44MTI1JTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNTYyNWVtO1xufVxuLmhvbWVfbXRhYnMgLm1haW5fc2VhcmNoIC5zZWFyY2hfaW5wIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDAgbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBmb250LXNpemU6IDFlbTtcbiAgd2lkdGg6IDkxLjA1NDMxMzA5OSU7XG4gIGNvbG9yOiAjMzMzO1xufVxuLmhvbWVfbXRhYnMgLm1haW5fc2VhcmNoIC5zZWFyY2hfYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxLjQwNjI1ZW07XG4gIGhlaWdodDogMS40MDYyNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRhZDQ5O1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVlbSBzb2xpZCAjYzM4YTNhO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMC4yMTg3NWVtIDAuMTg3NWVtIDAgMDtcbn1cbi5ob21lX210YWJzIC5tYWluX3NlYXJjaCAuc2VhcmNoX2J0biAubV9pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC42ODc1ZW07XG4gIHdpZHRoOiAwLjY4NzVlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTguMTU2MjVlbSAtMi43NWVtO1xuICBtYXJnaW46IDAuMzQzNzVlbSAwIDAgMC4zNDM3NWVtO1xufVxuXG4ubV9pY29uX2luZm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMC4wMzEyNWVtIC0yLjE1NjI1ZW07XG59XG5cbi5tX2ljb25fYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIuMTI1ZW0gLTIuMTU2MjVlbTtcbn1cblxuLm1faWNvbl92aW51ZXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNC4yODEyNWVtIC0yLjE1NjI1ZW07XG59XG5cbi5tX2ljb25fc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYuNDM3NWVtIC0yLjE1NjI1ZW07XG59XG5cbi5ibV9sYXd5ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNDk5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZvbnQtZmFtaWx5OiBcIk1pY3Jvc29mdCBZYWhlaVwiO1xufVxuXG4uYm1fcG9wd2FycCB7XG4gIHdpZHRoOiA4MCU7XG4gIGZvbnQtZmFtaWx5OiBcIum7keS9ky3nroBcIiwgXCLmlofms4npqb/lvq7nsbPpu5FcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5ibV9wb3B3YXJwIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5ibV9wb3B3YXJwIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cbn1cbi5OWS1wb3AtbWFzayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MjApO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5ibV9wb3Age1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmJtX3BvcF90aXRsZSB7XG4gIGhlaWdodDogMS40Njg3NWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmJjZDliO1xuICBwYWRkaW5nLWxlZnQ6IDAuMzEyNWVtO1xufVxuLmJtX3BvcF90aXRsZSAudCB7XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsaW5lLWhlaWdodDogMTAwJTtcbiAgY29sb3I6ICNmZmY7XG59XG4uYm1fcG9wX3RpdGxlIC5jbG9zZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxLjQ2ODc1ZW07XG59XG4uYm1fcG9wX3RpdGxlIC5jbG9zZSAuaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBcInNpbXN1blwiO1xuICB3aWR0aDogMS4wNjI1ZW07XG4gIGhlaWdodDogMS4wNjI1ZW07XG4gIG1hcmdpbjogMC4xODc1ZW0gMCAwIDAuMTg3NWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjU4MjU1O1xuICBsaW5lLWhlaWdodDogODMlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDEuMDYyNWVtO1xufVxuLmJtX3BvcF90aXRsZSAuY2xvc2UgLml0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDYyNWVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMjU4MjU1O1xufVxuXG4uYm1fY29udGVudGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMC42MjVlbTtcbn1cbi5ibV9jb250ZW50ZXIgLnR4dCB7XG4gIHBhZGRpbmc6IDAuNzgxMjVlbSAwO1xuICBjb2xvcjogIzZhNmE2YTtcbiAgZm9udC1zaXplOiAwLjY4NzVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYm1fcGJ0bl9hciB7XG4gIHBhZGRpbmc6IDAuMzEyNWVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYm1fcF9idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDAuMzEyNWVtO1xuICBtYXJnaW46IDAgMC4xNTYyNWVtO1xufVxuLmJtX3BfYnV0dG9uIC50dCB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogM2VtO1xufVxuXG4uTlktY29uLXRvYXN0IHtcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5OWS1jb24tdG9hc3QgcCB7XG4gIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICBmb250LXNpemU6IDAuNDM3NWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi5ibV9wX2J1dHRvbl93YWl0ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzljOWM5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG4uYm1fcF9idXR0b25fd2FpdGVyIC50dCB7XG4gIGNvbG9yOiAjMjk3YjUzO1xufVxuXG4uYm1fcF9idXR0b25fZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjMzg3O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDdjMzg3O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG4uYm1fcF9idXR0b25fZ3JlZW4gLnR0IHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5sb2dpbl9wb3B3YXJwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEuNTYyNWVtIDAuOTM3NWVtIDEuNTYyNWVtO1xuICAvKui+k+WFpeahhuato+ehrumUmeivryovXG59XG4ubG9naW5fcG9wd2FycCAubGx3X2xvZ2luX2xpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubG9naW5fcG9wd2FycCAubGx3X2xvZ2luX2xpc3QgLml0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjI4MTI1ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5sb2dpbl9wb3B3YXJwIC5sbHdfbG9naW5fbGlzdCAuaXQgLml0X2ZvcmdldCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogI2IzYjNiMztcbiAgZm9udC1zaXplOiAwLjY4NzVlbTtcbn1cbi5sb2dpbl9wb3B3YXJwIC5sbHdfbG9naW5fbGlzdCAuaXQgLml0X3JlZyB7XG4gIGZsb2F0OiByaWdodDtcbiAgY29sb3I6ICNiM2IzYjM7XG4gIGZvbnQtc2l6ZTogMC42ODc1ZW07XG59XG4ubG9naW5fcG9wd2FycCAubGx3X2xvZ2luX2xpc3QgLml0IC5sb2dpbl9idG4ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjMxMjVlbTtcbn1cbi5sb2dpbl9wb3B3YXJwIC5sbHdfbG9naW5fbGlzdCAuaXRfcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAuMzQzNzVlbSAwLjQzNzVlbSAwLjc4MTI1ZW0gMC41ZW07XG59XG4ubG9naW5fcG9wd2FycCAubGx3X2xvZ2luX2xpc3QgLnRpcHR4dCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAyLjE4NzVlbTtcbiAgY29sb3I6ICNmMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRvcDogLTIuMTI1ZW07XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubG9naW5fcG9wd2FycCAubGx3X2xvZ2luX2xpc3QgLnRpcHR4dC5kLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmxvZ2luX3BvcHdhcnAgLmxsd19sb2dpbl9saXN0IC50aXB0eHQgLnQge1xuICBmb250LXNpemU6IDAuNjI1ZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5sb2dpbl9wb3B3YXJwIC5sbHdfbG9naW5fbGlzdCAubWxvZ2luX2NvbnRpbnVlLFxuLmxvZ2luX3BvcHdhcnAgLmxsd19sb2dpbl9saXN0IC5tbG9naW5fY2hhbmdlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDQ4JTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBsaW5lLWhlaWdodDogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cbi5sb2dpbl9wb3B3YXJwIC5sbHdfbG9naW5fbGlzdCAubWxvZ2luX2NvbnRpbnVlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJhY2tncm91bmQ6ICNjOWM5Yzk7XG4gIGJvcmRlci1jb2xvcjogI2M5YzljOTtcbn1cbi5sb2dpbl9wb3B3YXJwIC5pbnB0X2l0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbn1cbi5sb2dpbl9wb3B3YXJwIC5pbnB0X2l0X2NhcHRjaGEgLmxvZ19pbnB1dF9jYXB0Y2hhIHtcbiAgcGFkZGluZy1yaWdodDogNDIlICFpbXBvcnRhbnQ7XG59XG4ubG9naW5fcG9wd2FycCAuaW5wdF9pdF9jYXB0Y2hhIGltZy5jYXB0Y2hhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAzO1xuICB3aWR0aDogNDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5sb2dpbl9wb3B3YXJwIC5pbnB0X2l0X2NhcHRjaGEgLnJlZ19mYWxzZV90aXBzIHtcbiAgdG9wOiBhdXRvO1xufVxuLmxvZ2luX3BvcHdhcnAgLml0X2lucHV0d2FycCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuMTg3NWVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubG9naW5fcG9wd2FycCAuaXRfaW5wdXR3YXJwIC5sb2dfaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwLjc4MTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU2MjVlbTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDAuNjg3NWVtO1xuICBjb2xvcjogI2IzYjNiMztcbn1cbi5sb2dpbl9wb3B3YXJwIC5pdF9pbnB1dHdhcnAgLmxvZ19pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICMzN0MwNzQ7XG59XG4ubG9naW5fcG9wd2FycCAuaXRfaW5wdXR3YXJwIC5sb2dfdHJ1ZV9pY29uIHtcbiAgd2lkdGg6IDAuNWVtO1xuICBoZWlnaHQ6IDAuMzQzNzVlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTguMDMxMjVlbSAtMS43ODEyNWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC45MDYyNWVtO1xuICByaWdodDogMC43NWVtO1xuICBkaXNwbGF5OiBub25lO1xufVxuLmxvZ2luX3BvcHdhcnAgLnRydWVfc3RhdHVzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzUxYmY4Nztcbn1cbi5sb2dpbl9wb3B3YXJwIC50cnVlX3N0YXR1cyAubG9nX3RydWVfaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmxvZ2luX3BvcHdhcnAgLmZvY3VzX3N0YXR1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwYmFjZDM7XG59XG4ubG9naW5fcG9wd2FycCAuZmFsc2Vfc3RhdHVzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y5YjViNTtcbn1cblxuLyplbXB0eSBjc3MqL1xuLmNvbW1fZW1wdHlfd2FycCB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuNTYyNWVtIDA7XG59XG5cbi5jZXdfZW1wdHlfaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDcuODEyNWVtO1xuICBoZWlnaHQ6IDkuMTU2MjVlbTtcbiAgYmFja2dyb3VuZDogdXJsKC9kaWFucGluZy9tb2JpbGUvc3RhdGljL2ltYWdlcy9jb21tb24vZW1wdHlfaWNvbi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDcuNzgxMjVlbSA5LjE1NjI1ZW07XG59XG5cbi8qbXNnIHBvcCovXG4uY29tbW9uX21zZ3Nob3dfd2FycCB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmNGM3O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBwYWRkaW5nOiAwLjE1NjI1ZW0gMS40MDYyNWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMi44MTI1ZW07XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jbXdfbXNnVHh0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgY29sb3I6ICM2YTZhNmE7XG4gIG1hcmdpbi1yaWdodDogMC43ODEyNWVtO1xufVxuXG4uY213X2RldGFpbFR4dCB7XG4gIHdpZHRoOiA2OS41MzEyNSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDAuNjI1ZW07XG4gIGNvbG9yOiAjNmE2YTZhO1xufVxuXG4uY213X2dyZWVuRm9udCB7XG4gIGNvbG9yOiAjMzNhYTcwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAwIDAuNjI1ZW07XG59XG5cbi5yZWdfZmFsc2VfdGlwcyB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC42ODc1ZW07XG4gIHJpZ2h0OiAwLjA5Mzc1ZW07XG59XG4ucmVnX2ZhbHNlX3RpcHMgLnR0IHtcbiAgZm9udC1zaXplOiAwLjM3NWVtO1xuICBmb250LXdlaWdodDogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLy8tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL21peGluIHNjc3Ncbi8vIOWMheaLrOW4uOeUqOeahG1peGlu77yMJeWPikBmdW5jdGlvblxuLy8gbWl4aW7vvIzpgJrov4dAaW5jbHVkZeiwg+eUqO+8jOagt+W8j+mAmui/h+aLt+i0neeahOaWueW8j+S9v+eUqO+8jOWwpOWFtumAgueUqOS6juS8oOmAkuWPguaVsFxuLy8gJe+8jOmAmui/h0BleHRlbmTosIPnlKjvvIzmoLflvI/pgJrov4fnu4TlkIjnlLPmmI7nmoTmlrnlvI/kvb/nlKjvvIzpgILnlKjkuo7kuI3kvKDlj4LmlbDnmoTku6PnoIHniYfmrrUgIFxuLy8gQGZ1bmN0aW9u77yM6L+U5Zue5LiA5Liq5YC877yM55So5LqO6LCD55SoXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gbWl4aW4gJiAlXG4vLyDml6LlrprkuYnkuoZtaXhpbuS5n+WumuS5ieS6hiXvvIzmoLnmja7pnIDmsYLkvb/nlKhAaW5jbHVkZeaIlkBleHRlbmTosIPnlKhcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGlubGluZS1ibG9jaygkZXh0ZW5kOnRydWUpe1xuICBAaWYgJGV4dGVuZCB7XG4gICAgQGV4dGVuZCAlaW5saW5lLWJsb2NrO1xuICB9QGVsc2Uge1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICB9QGlmICRsdGU3IHtcbiAgICAqZGlzcGxheTppbmxpbmU7XG4gICAgKnpvb206MTtcbiAgfVxufVxuJWlubGluZS1ibG9ja3tcbiAgQGluY2x1ZGUgaW5saW5lLWJsb2NrKGZhbHNlKTtcbn1cblxuJWJsb2Nre1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9jZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG4vLyBibG9ja+W+l+acieWuveW6pm1hcmdpbuW3puWPs+S4umF1dG/miY3og73lsYXkuK1cblxuQG1peGluIGNlbnRlci1ibG9jaygkZXh0ZW5kOnRydWUpe1xuICBAaWYgJGV4dGVuZCB7XG4gICAgQGV4dGVuZCAlY2VudGVyLWJsb2NrO1xuICB9QGVsc2V7XG4gICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6YXV0bztcbiAgfVxufVxuXG4lY2VudGVyLWJsb2Nre1xuICBAaW5jbHVkZSBjZW50ZXItYmxvY2soZmFsc2UpO1xufVxuLy9mbG9hdCBsZWZ0ICYgcmlnaHRcbkBtaXhpbiBmbG9hdCgkZmxvYXQ6bGVmdCl7XG4gIGZsb2F0OiRmbG9hdDtcbiAgQGlmICRsdGU3IHtcbiAgICBkaXNwbGF5OmlubGluZTtcbiAgICB6b29tOjE7XG4gIH1cbn1cblxuJWZsb2F0e1xuICBAaW5jbHVkZSBmbG9hdDtcbn1cblxuLy9jbGVhcmZpeFxuLy9jbGVhciBmbG9hdFxuXG5AbWl4aW4gY2xlYXJmaXgoJGV4dGVuZDp0cnVlKXtcbiAgQGlmICRleHRlbmQge1xuICAgIEBleHRlbmQgJWNsZWFyZml4O1xuICB9QGVsc2V7XG4gICAgQGlmICRsdGU3IHtcbiAgICAgICp6b29tOjE7XG4gICAgfVxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXJ7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgZGlzcGxheTp0YWJsZTtcbiAgICB9XG4gICAgJjphZnRlcntcbiAgICAgIGNsZWFyOmJvdGg7XG4gICAgfVxuICB9XG59XG5cbiVjbGVhcmZpeHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoZmFsc2UpO1xufVxuXG4vL2hpZGUgZnJvbSBib3RoIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG5AbWl4aW4gaGlkZGVuKCRleHRlbmQ6dHJ1ZSl7XG4gIEBpZiAkZXh0ZW5kIHtcbiAgICBAZXh0ZW5kICVoaWRkZW47XG4gIH1AZWxzZSB7XG4gICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTpoaWRkZW47XG4gIH0gXG59XG5cbiVoaWRkZW4ge1xuICBAaW5jbHVkZSBoaWRkZW4oZmFsc2UpO1xufVxuXG4vLyBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVucmVhZGVyc1xuLy8g5Y+q6ZqQ6JeP5LqO6KeG6KeJ77yM5bGP5bmV5rWP6KeI5Zmo5Y+v5Lul6ZiF6K+7XG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuICgkZXh0ZW5kOnRydWUpIHtcbiAgQGlmICRleHRlbmQge1xuICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgfSBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIEBpZiAkbHRlNyB7XG4gICAgICBjbGlwOnJlY3QoMXB4IDFweCAxcHggMXB4KTsvL2llNi83XG4gICAgfVxuICAgIGNsaXA6cmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOy8vc3RhbmRhcmRcbiAgfVxufVxuJXZpc3VhbGx5LWhpZGRlbntcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKGZhbHNlKTtcbn1cblxuJWFic29sdXRle3Bvc2l0aW9uOiBhYnNvbHV0ZTt9XG4lcmVsYXRpdmV7cG9zaXRpb246IHJlbGF0aXZlO31cbi8vIHVsIGhhcyBsaXN0IHN0eWxlXG5AbWl4aW4gdWwtaGFzLXN0eWxlKCRzdHlsZTpkaXNjKXtcbiAgbWFyZ2luLWxlZnQ6MjVweDtcbiAgbGlzdC1zdHlsZTpkaXNjO1xufVxuJXVsLWhhcy1zdHlsZXtcbiAgQGluY2x1ZGUgdWwtaGFzLXN0eWxlO1xufVxuLy8gVGV4dCBvdmVyZmxvd1xuLy8g5YWD57Sg5Y+v5Lul6K6+572u5a695bqm5omN5Y+v5bqU55So55yB55Wl5Y+3XG4lZWxsaXBzaXMtYmFzaWN7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyBcbn1cbkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6MTAwJSkge1xuICBAZXh0ZW5kICVlbGxpcHNpcy1iYXNpYztcbiAgd2lkdGg6JHdpZHRoO1xufVxuXG4vLyBPcGFjaXR5XG4vLyBsdGU45L2/55SoZmlsdGVy5YW85a65XG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eTo4MCwkaW1wOmZhbHNlKSB7XG4gIEBpZiAkaW1we1xuICBvcGFjaXR5OiAkb3BhY2l0eSAvIDEwMCAhaW1wb3J0YW50O1xuICBAaWYgJGZpbHRlcntcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHkpICFpbXBvcnRhbnQ7XG4gIH1cbiAgfUBlbHNle1xuICBvcGFjaXR5OiAkb3BhY2l0eSAvIDEwMDtcbiAgQGlmICRmaWx0ZXJ7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5KTtcbiAgfVxuICB9XG5cbn1cbiVvcGFjaXR5e1xuICBAaW5jbHVkZSBvcGFjaXR5O1xufVxuLy8gdHJpYW5nbGVcbiV0cmlhbmdsZS1iYXNpY3tcbiAgY29udGVudDpcIlwiO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzpoaWRkZW47XG59XG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbiwgJHNpemUsICRib3JkZXJDb2xvciApIHtcbiAgLy8gQGV4dGVuZCAldHJpYW5nbGUtYmFzaWM7IOWcqG1lZGlh5Lit5Lya5oql6ZSZIFxuICBjb250ZW50OlwiXCI7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OmhpZGRlbjtcblxuICBAaWYgJGRpcmVjdGlvbiA9PSB0b3Age1xuICAgIGJvcmRlci1ib3R0b206JHNpemUgc29saWQgJGJvcmRlckNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiRzaXplIGRhc2hlZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6JHNpemUgZGFzaGVkIHRyYW5zcGFyZW50O1xuICB9IFxuICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICBib3JkZXItbGVmdDokc2l6ZSBzb2xpZCAkYm9yZGVyQ29sb3I7XG4gICAgYm9yZGVyLXRvcDokc2l6ZSBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTokc2l6ZSBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gIH0gXG4gIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcbiAgICBib3JkZXItdG9wOiRzaXplIHNvbGlkICRib3JkZXJDb2xvcjtcbiAgICBib3JkZXItbGVmdDokc2l6ZSBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiRzaXplIGRhc2hlZCB0cmFuc3BhcmVudDtcbiAgfSBcbiAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICBib3JkZXItcmlnaHQ6JHNpemUgc29saWQgJGJvcmRlckNvbG9yO1xuICAgIGJvcmRlci10b3A6JHNpemUgZGFzaGVkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206JHNpemUgZGFzaGVkIHRyYW5zcGFyZW50O1xuICB9XG4gIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdG9wcmlnaHQge1xuICAgIGJvcmRlci10b3A6JHNpemUgc29saWQgJGJvcmRlckNvbG9yO1xuICAgIGJvcmRlci1yaWdodDokc2l6ZSBzb2xpZCAkYm9yZGVyQ29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6JHNpemUgZGFzaGVkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206JHNpemUgZGFzaGVkIHRyYW5zcGFyZW50O1xuICB9XG4gIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHRib3R0b20ge1xuICAgIGJvcmRlci10b3A6JHNpemUgZGFzaGVkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDokc2l6ZSBzb2xpZCAkYm9yZGVyQ29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6JHNpemUgZGFzaGVkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206JHNpemUgc29saWQgJGJvcmRlckNvbG9yO1xuICB9XG4gIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdGJvdHRvbSB7XG4gICAgYm9yZGVyLXRvcDokc2l6ZSBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiRzaXplIGRhc2hlZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDokc2l6ZSBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTokc2l6ZSBzb2xpZCAkYm9yZGVyQ29sb3I7XG4gIH1cbiAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB0b3BsZWZ0IHtcbiAgICBib3JkZXItdG9wOiRzaXplIHNvbGlkICRib3JkZXJDb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6JHNpemUgZGFzaGVkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiRzaXplIHNvbGlkICRib3JkZXJDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiRzaXplIGRhc2hlZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLy/pu5HoibLog4zmma/oibLljYrpgI/mmI5cbkBtaXhpbiBiZ2NvbG9yLWFscGhhKCRiZ2NvbG9yOiByZ2JhKDAsMCwwLC41KSl7XG4gIGNvbG9yOiNmZmY7XG4gIEBpZiAkZmlsdGVye1xuICAgIGZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD0ndHJ1ZScsc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRiZ2NvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRiZ2NvbG9yKX0nKTtcbiAgfUBlbHNle1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIH1cbiAgYmFja2dyb3VuZC1jb2xvcjokYmdjb2xvcjtcbn1cbiViZ2NvbG9yLWFscGhhe1xuICBAaW5jbHVkZSBiZ2NvbG9yLWFscGhhO1xufVxuLy8gZGlzYWJsZWRcbi8vIOemgeeUqOagt+W8j++8jOWKoCFpbXBvcnRhbnRcbkBtaXhpbiBkaXNhYmxlZCgkYmdDb2xvcjojZTZlNmU2LCR0ZXh0Q29sb3I6I2FiYWJhYil7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkdGV4dENvbG9yICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbn1cbiVkaXNhYmxlZHtcbiAgQGluY2x1ZGUgZGlzYWJsZWQ7XG59XG4vLyDmsLTlubPpl7TpmpTnur/vvIzpgILnlKjkuo7ooYzliJfooahcbkBtaXhpbiBob3Jpem9udGFsLWxpbmUoJGJvcmRlcjoxcHggZGFzaGVkICRncmF5LCAkcGFkZGluZzoxMHB4KXtcbiAgYm9yZGVyLWJvdHRvbTokYm9yZGVyO1xuICBwYWRkaW5nLXRvcDokcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206JHBhZGRpbmc7ICBcbn1cbiVob3Jpem9udGFsLWxpbmV7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtbGluZTtcbn1cbi8vIG1peGluXG4vLyDlj6rlrprkuYnkuoZtaXhpbu+8jOaJgOS7peWPquiDvemAmui/h0BpbmNsdWRl5p2l6LCD55SoXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIHJlbVxuLy8gdGhhbmtzOmh0dHA6Ly9kcnVibGljLmRlL2Jsb2cvcmVtLWZhbGxiYWNrLXNhc3MtbGVzcy87XG4vLyBAaW5jbHVkZSByZW0od2lkdGgsMjApICAgLT4gICB3aWR0aDogMjgwcHg7IHdpZHRoOiAyMHJlbTtcbkBtaXhpbiByZW0oJHByb3BlcnR5LCAkcHgpIHtcbiAgI3skcHJvcGVydHl9OiAkcHggKiAkYmFzZUZvbnRTaXplO1xuICAjeyRwcm9wZXJ0eX06ICN7JHB4fXJlbTtcbn1cbi8vIEBpbmNsdWRlIHJlbS1mb250LXNpemUoMikgIC0+ICBmb250LXNpemU6IDI4cHg7IGZvbnQtc2l6ZTogMnJlbTtcbkBtaXhpbiByZW0tZm9udC1zaXplKCRweCkge1xuICBmb250LXNpemU6ICRweCAqICRiYXNlRm9udFNpemU7XG4gIGZvbnQtc2l6ZTogI3skcHh9cmVtO1xufVxuLy8gUmV0aW5hIGltYWdlcy4gXG4vLyBAaW5jbHVkZSBpbWFnZS0yeChcIi4uL2ltYWdlcy9pbWctMngucG5nXCIsIDIwMHB4LCAyMDBweCk7XG4vLyBVc2Ugd2l0aCBjYXJlIC0gaHR0cDovLzM3c2lnbmFscy5jb20vc3ZuL3Bvc3RzLzMyNzEtZWFzeS1yZXRpbmEtcmVhZHktaW1hZ2VzLXVzaW5nLXNjc3NcbkBtaXhpbiBpbWFnZS0yeCgkdXJsLCAkd2lkdGgsICRoZWlnaHQpIHtcbiAgQG1lZGlhIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gICAgICAgICAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi42LzIpLFxuICAgICAgICAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAgICAgICAgIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuICAgICAgICAgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgLy8gb24gcmV0aW5hLCB1c2UgaW1hZ2UgdGhhdCdzIHNjYWxlZCBieSAyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyR1cmx9Jyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuXG4vLyDpkojlr7nngavni5DmtY/op4jlmajmiZNidWdcbi8vIEBpbmNsdWRlIGZpcmVmb3h7LnRlc3R7cGFkZGluZy1ib3R0b206M3B4O319XG5AbWl4aW4gZmlyZWZveCB7XG4gIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKXtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5cbi8vICVcbi8vIOWPquWumuS5ieS6hiXvvIzmiYDku6Xlj6rog73pgJrov4dAZXh0ZW5k5p2l6LCD55SoXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8v5Li66auY57qn5rWP6KeI5Zmo5YeG5aSH55qEYm94LXNpemluZ+ebkuWtkOaooeWei++8jGllOCtcbiVib3gtc2l6aW5nLWJvcmRlcntcbiAgQGluY2x1ZGUgYm94LXNpemluZztcbn1cblxuLy8g5pmu6YCaYWxsIHRyYW5zaXRpb27nibnmlYhcbiVhbGwtdHJhbnNpdGlvbntcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbn1cblxuLy8gaWU2LzcgaGFzbGF5b3V0XG4lem9vbXtcbiAgQGlmICRsdGU3IHtcbiAgICAqem9vbToxO1xuICB9XG59XG5cbi8vIOWeguebtOa4kOWPmO+8jOa4kOWPmOiDjOaZr+aYr+WNiumAj+aYjuWIsOWFqOmAj+aYju+8jOi/meagt+WwseWPr+S7pemAmui/h+iuvue9ruiDjOaZr+iJsuadpeihqOeOsOa4kOWPmFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyDnmb3oibLvvIznlLHljYrpgI/mmI7liLDlhajpgI/mmI5cbiVncmFkaWVudC1saW5lYXItbGlnaHQge1xuICAvLyBJRTkgU1ZHLCBuZWVkcyBjb25kaXRpb25hbCBvdmVycmlkZSBvZiAnZmlsdGVyJyB0byAnbm9uZScgXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QZ284YzNabklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpFd01DVWlJR2hsYVdkb2REMGlNVEF3SlNJZ2RtbGxkMEp2ZUQwaU1DQXdJREVnTVNJZ2NISmxjMlZ5ZG1WQmMzQmxZM1JTWVhScGJ6MGlibTl1WlNJK0NpQWdQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBbElpQjVNVDBpTUNVaUlIZ3lQU0l3SlNJZ2VUSTlJakV3TUNVaVBnb2dJQ0FnUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyWm1abVptWmlJZ2MzUnZjQzF2Y0dGamFYUjVQU0l3TGpNaUx6NEtJQ0FnSUR4emRHOXdJRzltWm5ObGREMGlORFlsSWlCemRHOXdMV052Ykc5eVBTSWpabVptWm1abUlpQnpkRzl3TFc5d1lXTnBkSGs5SWpBaUx6NEtJQ0E4TDJ4cGJtVmhja2R5WVdScFpXNTBQZ29nSUR4eVpXTjBJSGc5SWpBaUlIazlJakFpSUhkcFpIUm9QU0l4SWlCb1pXbG5hSFE5SWpFaUlHWnBiR3c5SW5WeWJDZ2paM0poWkMxMVkyZG5MV2RsYm1WeVlYUmxaQ2tpSUM4K0Nqd3ZjM1puUGc9PSk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsKHJnYmEoMjU1LDI1NSwyNTUsMC4zKSxyZ2JhKDI1NSwyNTUsMjU1LDApKTtcbiAgQGlmICRmaWx0ZXJ7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0ZGZmZmZmZicsIGVuZENvbG9yc3RyPScjMDBmZmZmZmYnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi04ICovXG4gICAgOnJvb3QgJntcbiAgICAgIEBleHRlbmQgJXJlc2V0LWZpbHRlcjtcbiAgICB9XG4gIH1cbn1cbi8vIOm7keiJsu+8jOeUseWFqOmAj+aYjuWIsOWNiumAj+aYjlxuJWdyYWRpZW50LWxpbmVhci1kYXJrIHtcbiAgLy8gSUU5IFNWRywgbmVlZHMgY29uZGl0aW9uYWwgb3ZlcnJpZGUgb2YgJ2ZpbHRlcicgdG8gJ25vbmUnXG4gIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QZ284YzNabklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpFd01DVWlJR2hsYVdkb2REMGlNVEF3SlNJZ2RtbGxkMEp2ZUQwaU1DQXdJREVnTVNJZ2NISmxjMlZ5ZG1WQmMzQmxZM1JTWVhScGJ6MGlibTl1WlNJK0NpQWdQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBbElpQjVNVDBpTUNVaUlIZ3lQU0l3SlNJZ2VUSTlJakV3TUNVaVBnb2dJQ0FnUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUl6QXdNREF3TUNJZ2MzUnZjQzF2Y0dGamFYUjVQU0l3SWk4K0NpQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTXdNREF3TURBaUlITjBiM0F0YjNCaFkybDBlVDBpTUM0eU5TSXZQZ29nSUR3dmJHbHVaV0Z5UjNKaFpHbGxiblErQ2lBZ1BISmxZM1FnZUQwaU1DSWdlVDBpTUNJZ2QybGtkR2c5SWpFaUlHaGxhV2RvZEQwaU1TSWdabWxzYkQwaWRYSnNLQ05uY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrS1NJZ0x6NEtQQzl6ZG1jKyk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsKHJnYmEoMCwwLDAsMCksIHJnYmEoMCwwLDAsMC4yNSkpO1xuICBAaWYgJGZpbHRlcntcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyM0MDAwMDAwMCcsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTggKi9cbiAgICA6cm9vdCAme1xuICAgICAgIEBleHRlbmQgJXJlc2V0LWZpbHRlcjtcbiAgICB9XG4gIH1cbn1cbi8vIFJlc2V0IGdyYWRpZW50IGZpbHRlcnMgZm9yIElFXG4lcmVzZXQtZmlsdGVye1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtcbn1cblxuXG4vL2Z1bmN0aW9uXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBcblxuLy8gcHjovaxlbVxuQGZ1bmN0aW9uIHB4VG9FbSgkcHgsICRiYXNlOiAxNikge1xuICBAcmV0dXJuICgkcHggLyAkYmFzZSkgKiAxZW07XG59XG5AZnVuY3Rpb24gcHRlKCRweCwgJGJhc2U6IDMyKSB7XG4gIEByZXR1cm4gKCRweCAvICRiYXNlKSAqIDFlbTtcbn1cbkBmdW5jdGlvbiBweFRvUmVtKCRweCwgJGJhc2U6IDE2KSB7XG4gIEByZXR1cm4gKCRweCAvICRiYXNlKSAqIDFyZW07XG59XG4vL3B46L2s5o2i5Li655m+5YiG5q+UXG5AZnVuY3Rpb24gcGVyKCRweCwkdG90cHgpe1xuICBAcmV0dXJuICgkcHggLyAkdG90cHgpKjEwMCU7XG59XG5cbi8vIOS4uuminOiJsua3u+WKoOeZveiJsu+8jOS7peeZvuWIhuavlOW9ouW8j1xuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICRwZXJjZW50KTtcbn1cblxuLy8g5Li66aKc6Imy5re75Yqg6buR6Imy77yM5Lul55m+5YiG5q+U5b2i5byPXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KGJsYWNrLCAkY29sb3IsICRwZXJjZW50KTtcbn1cblxuLy8g5a6a5LmJ5LiA5Lqb5bi46KeB5YWD57Sg55qE566A5Y2V5qC35byPKGJ0bix0YWJsZSxmb3JtKVxuLy8g6L+Z6YeM5Y+q5piv5ruh6Laz566A5Y2V55qE5L2/55So77yM5pu05YWo5pu05aW955qE6K+35Y+C6ICD5ZCE6Ieq55qE57uE5Lu2XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIGJ0blxuLy8gQGluY2x1ZGUgc2ltcGxlLWJ0bjtcbi8vIEBpbmNsdWRlIHNpbXBsZS1idG4odHJ1ZSk7XG4vLyBAaW5jbHVkZSBzaW1wbGUtYnRuKCRiZ0NvbG9yOiRncmVlbik7XG5AbWl4aW4gc2ltcGxlLWJ0bigkZm9ybWJ0bjpmYWxzZSwgJGJnQ29sb3I6ICRwcmltYXJ5LCAkdGV4dENvbG9yOiR3aGl0ZSl7XG4gIEBpbmNsdWRlIGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOjAgIDE1cHg7XG4gIEBpZiAkZm9ybWJ0biB7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICB9QGVsc2V7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIH1cbiAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yO1xuICBib3JkZXI6MCBub25lO1xuXG4gICY6aG92ZXJ7XG4gICAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZ0NvbG9yLDUlKTtcbiAgfVxufVxuXG4vLyB0YWJsZVxuLy8gQGluY2x1ZGUgc2ltcGxlLXRhYmxlO1xuLy8gQGluY2x1ZGUgc2ltcGxlLXRhYmxlKGZhbHNlKTtcbi8vIEBpbmNsdWRlIHNpbXBsZS10YWJsZSh0cnVlLCAkdGhCZ0NvbG9yOiAkb3JhbmdlKTtcbkBtaXhpbiBzaW1wbGUtdGFibGUoJHRoOnRydWUsICRib3JkZXJDb2xvcjogJGdyYXksICR0aEJnQ29sb3I6ICRwcmltYXJ5LCAkdGhUZXh0Q29sb3I6JHdoaXRlKXtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZUdhcDtcblxuICAmIHRoLFxuICAmIHRke1xuICAgIGJvcmRlcjoxcHggc29saWQgJGJvcmRlckNvbG9yO1xuICB9XG5cbiAgdGgsdGR7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLy8g5aaC5p6cXG4gIEBpZiAkdGh7XG4gICAgdGh7XG4gICAgICBjb2xvcjogJHRoVGV4dENvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoQmdDb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjokdGhCZ0NvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTowIG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIGlucHV0LCBzZWxlY3QsIHRleHRhcmVh55qE5Z+656GA5qC35byPXG4vLyDovrnmoYbvvIxwYWRkaW5nXG4lc2ltcGxlLWZvcm0tYmFzaWN7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICBwYWRkaW5nOiA0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICY6Zm9jdXN7XG4gICAgb3V0bGluZTogMCBub25lO1xuICB9XG59XG4vLyDovpPlhaXmoYZcbkBtaXhpbiBzaW1wbGUtdGV4dCgkYm9yZGVyQ29sb3JGb2N1czogIzUyYThlYyl7XG4gIEBleHRlbmQgJXNpbXBsZS1mb3JtLWJhc2ljO1xuICBoZWlnaHQ6IDE4cHg7XG4gIFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlciBsaW5lYXIgMC4ycywgYm94LXNoYWRvdyBsaW5lYXIgMC4ycyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSk7XG5cbiAgJjpmb2N1c3tcbiAgICBib3JkZXItY29sb3I6IHJnYmEoJGJvcmRlckNvbG9yRm9jdXMsIDAuOCk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDAgOHB4IHJnYmEoJGJvcmRlckNvbG9yRm9jdXMsIDAuNikpO1xuICB9ICBcbn1cbiVzaW1wbGUtdGV4dHtcbiAgQGluY2x1ZGUgc2ltcGxlLXRleHQ7XG59XG5cbi8vIHRleHRhcmVhXG5AbWl4aW4gc2ltcGxlLXRleHRhcmVhKCRib3JkZXJDb2xvckZvY3VzOiM1MmE4ZWMsICR3aWR0aDo1MDBweCwgJGhlaWdodDo4MHB4KXtcbiAgQGluY2x1ZGUgc2ltcGxlLXRleHQoJGJvcmRlckNvbG9yRm9jdXMpO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4lc2ltcGxlLXRleHRhcmVhe1xuICBAaW5jbHVkZSBzaW1wbGUtdGV4dGFyZWE7XG59XG5cbi8vIHNlbGVjdFxuJXNpbXBsZS1zZWxlY3R7XG4gIEBleHRlbmQgJXNpbXBsZS1mb3JtLWJhc2ljO1xuXG4gIC8vIHNlbGVjdCBsdGUgaWU3XG4gIC8vIGllNiw3IOS4jeaUr+aMgXNlbGVjdOeahHBhZGRpbmdcbiAgQGlmICRsdGU3IHtcbiAgICAgICptYXJnaW4tdG9wOjVweDtcbiAgICAgICptYXJnaW4tYm90dG9tOjVweDtcbiAgICAgICp2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gIH1cbn1cblxuLy8gcmFkaW8gJiBjaGVja2JveCDnmoTph43nva5cbiVyZXNldC1yYWRpby1jaGVja2JveHtcbiAgbWFyZ2luOjAgNXB4IDAgMDtcbiAgcGFkZGluZzowO1xuICBmb250LXNpemU6IDEzcHg7XG4gIC8vaWU2LDflvpforr7nva7lrr3luqblkozpq5jluqbmiY3og73ooajnjrDlkozlhbbku5bmtY/op4jlmajkuIDmoLfnmoTph43nva5cbiAgLy9yYWRpb+WSjGNoZWNrYm9455qE5aSn5bCP5Li6MTNweFxuICBAaWYgJGx0ZTcge1xuICAgICp3aWR0aDoxM3B4O1xuICAgICpoZWlnaHQ6MTNweDtcbiAgfVxufVxuXG4vL+WeguebtOa4kOWPmFxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkc3RhcnRDb2xvciwkZW5kQ29sb3Ipe1xuICBmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnRDb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kQ29sb3IpfScsZ3JhZGllbnRUeXBlPTApO1xuICAtbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0Q29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZENvbG9yKX0nLGdyYWRpZW50VHlwZT0wKTtcbiAgYmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydENvbG9yLCAkZW5kQ29sb3IpO1xuICBiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgYm90dG9tLCBmcm9tKCRzdGFydENvbG9yKSwgdG8oJGVuZENvbG9yKSk7XG4gIGJhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0Q29sb3IsICRlbmRDb2xvcik7XG59XG5cbi8v6IOM5pmv6Imy6YCP5piOXG4vLyBFeHRlbmQgdGhpcyBjbGFzcyB0byBzYXZlIGJ5dGVzXG4udHJhbnNwYXJlbnQtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB6b29tOiAxO1xufVxuIFxuLy8gVGhlIG1peGluXG5AbWl4aW4gdHJhbnNwYXJlbnQoJGNvbG9yLCAkYWxwaGEpIHtcbiAgJHJnYmE6IHJnYmEoJGNvbG9yLCAkYWxwaGEpO1xuICAkaWUtaGV4LXN0cjogaWUtaGV4LXN0cigkcmdiYSk7XG4gIEBleHRlbmQgLnRyYW5zcGFyZW50LWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZ2JhO1xuICBmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9I3skaWUtaGV4LXN0cn0sZW5kQ29sb3JzdHI9I3skaWUtaGV4LXN0cn0pO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSN7JGllLWhleC1zdHJ9LGVuZENvbG9yc3RyPSN7JGllLWhleC1zdHJ9KVwiO1xufVxuIFxuLy8gTG9vcCB0aHJvdWdoIG9wYWNpdGllcyBmcm9tIDkwIHRvIDEwIG9uIGFuIGFscGhhIHNjYWxlXG5AbWl4aW4gdHJhbnNwYXJlbnQtc2hhZGVzKCRuYW1lLCAkY29sb3IpIHtcbiAgQGVhY2ggJGFscGhhIGluIDkwLCA4MCwgNzAsIDYwLCA1MCwgNDAsIDMwLCAyMCwgMTAge1xuICAgIC4jeyRuYW1lfS0jeyRhbHBoYX0ge1xuICAgICAgQGluY2x1ZGUgdHJhbnNwYXJlbnQoJGNvbG9yLCAkYWxwaGEgLyAxMDApO1xuICAgIH1cbiAgfVxufVxuLy8gR2VuZXJhdGUgc2VtaS10cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyBmb3IgdGhlIGNvbG9ycyB3ZSB3YW50XG4vL0BpbmNsdWRlIHRyYW5zcGFyZW50LXNoYWRlcygnZGFyaycsICMwMDAwMDApO1xuLy9AaW5jbHVkZSB0cmFuc3BhcmVudC1zaGFkZXMoJ2xpZ2h0JywgI2ZmZmZmZik7XG5cbi8v5paH5a2X5Lik56uv5a+56b2QXG4ldGV4dC1qdXN0aWZ5e1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5Oy8vbW96XG4gIHRleHQtanVzdGlmeTppbnRlci1pZGVvZ3JhcGg7Ly9pZVxufVxuXG5AbWl4aW4gdGV4dC1qdXN0eWZ5KCR0YWdDbGFzcyl7XG4gICN7JHRhZ0NsYXNzfSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIC8vIGhlaWdodDogMTlweDtcbiAgICBAZXh0ZW5kICV0ZXh0LWp1c3RpZnk7XG4gICAgJjphZnRlcntcbiAgICAgIEBleHRlbmQgJWlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vYm9yZGVyLXJhZGl1czogXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkOjUwJSl7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6ICRyYWQ7XG59XG5cbiV0YWItY2VsbHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyDliqjmgIHkvb/nlKjkuI3lkIzlm77niYdcbkBtaXhpbiBiZy1pbWFnZSgkdXJsLCAkd2lkdGgsICRoZWlnaHQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR1cmwgKyBcIi5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkdXJsICsgXCJAMngucG5nXCIpO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwiLi4vY29yZS9fc2V0dGluZ1wiO1xuQGltcG9ydCBcIi4uL2NvcmUvX2NzczNcIjtcbkBpbXBvcnQgXCIuLi9jb3JlL19taXhpblwiO1xuQGltcG9ydCBcIi4uL2NvcmUvX21lZGlhX3F1ZXJpZXNcIjtcblxuJHBhZGRMUjoyMDsgLy8yMHB4XG5cbi50YmwtdHlwZXtkaXNwbGF5OiB0YWJsZTt3aWR0aDogMTAwJTt9XG4udGJsLWNlbGx7QGV4dGVuZCAldGFiLWNlbGw7fVxuXG4vL2NzczPnlLvnlLtcbi5yb3V0ZTEsLnJvdXRlMiwucm91dGUzLC5yb3V0ZTR7QGluY2x1ZGUgcm90YXRlWSgtOTBkZWcpO31cblxuLnJvdXRlMXtAaW5jbHVkZSBwcmVmaXhlci12YWx1ZWZpeGVyKHRyYW5zaXRpb24sdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAwcyx3ZWJraXQgbW96IG1zKTt9XG4ucm91dGUye0BpbmNsdWRlIHByZWZpeGVyLXZhbHVlZml4ZXIodHJhbnNpdGlvbix0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0IDAuMnMsd2Via2l0IG1veiBtcyk7fVxuLnJvdXRlM3tAaW5jbHVkZSBwcmVmaXhlci12YWx1ZWZpeGVyKHRyYW5zaXRpb24sdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAwLjRzLHdlYmtpdCBtb3ogbXMpO31cbi5yb3V0ZTR7QGluY2x1ZGUgcHJlZml4ZXItdmFsdWVmaXhlcih0cmFuc2l0aW9uLHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgMC42cyx3ZWJraXQgbW96IG1zKTt9XG4ucm91dGV7QGluY2x1ZGUgcm90YXRlWSgwZGVnKTt9XG5cbi8vcHVibGlzdCBidXR0b24gc3R5bGUgXG5cbi5nX2J1dHRvbntkaXNwbGF5OiBibG9jaztoZWlnaHQ6IHB0ZSg3OCk7Ym9yZGVyLXJhZGl1czogcHRlKDQsMzIpO292ZXJmbG93OiBoaWRkZW47dGV4dC1hbGlnbjogY2VudGVyO2xpbmUtaGVpZ2h0OiBwdGUoNzgpO2JhY2tncm91bmQtY29sb3I6ICNlNzdmMzM7XG5cdC50eHR7Zm9udC1zaXplOiBwdGUoMzMpO2NvbG9yOiAjZmZmO31cblx0Jjpob3ZlcntAaW5jbHVkZSBvcGFjaXR5KDgwKTt9XG59XG5cblxuLy/kuLvopoHliIfmjaLliqjnlLtcbi5tYWluX3NsaWRle2JhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7b3BhY2l0eTogMDt9XG4uYmFubmVye3Bvc2l0aW9uOiByZWxhdGl2ZTt3aWR0aDoxMDAlO292ZXJmbG93OiBoaWRkZW47fVxuLmJtd19yb290e3dpZHRoOiAxMDAlO21heC13aWR0aDogNjQwcHg7bWFyZ2luOiAwIGF1dG87fVxuLnNjcm9sbF93cmFwcGVye3dpZHRoOiAxMDAlO21heC13aWR0aDogNjQwcHg7bWFyZ2luOiAwIGF1dG87XG4gIC5zY3JvbGxlcntwb3NpdGlvbjogcmVsYXRpdmU7fVxuICAuaXRlbXtmbG9hdDogbGVmdDt0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiAzMjBweDtcbiAgICBpbWd7d2lkdGg6IDEwMCU7bWluLXdpZHRoOiAzMjBweDttYXgtd2lkdGg6IDY0MHB4O2hlaWdodDogYXV0bzttaW4taGVpZ2h0OiAxMzJweDttYXgtaGVpZ2h0OiAyNDBweDt9XG4gICAgLy/lm77niYfog4zmma/lm75cbiAgICAuaW1ncGh7d2lkdGg6IDEwMCU7bWluLXdpZHRoOiAzMjBweDttYXgtd2lkdGg6IDY0MHB4OyBoZWlnaHQ6IHB0ZSgzMjYpO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O31cbiAgfVxuICAuYmFubmVyX25ld19udW17cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IDA7Ym90dG9tOiAzcHg7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOiBjZW50ZXI7aGVpZ2h0OiBwdGUoMjIpO31cbiAgLm5ld190YmxfY2VsbHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IHB0ZSgyMik7aGVpZ2h0OiBwdGUoMjIpO292ZXJmbG93OiBoaWRkZW47IHZlcnRpY2FsLWFsaWduOiB0b3A7bWFyZ2luOjAgcHRlKDQpO1xuICAgIC5we2Rpc3BsYXk6IGlubGluZS1ibG9jazt3aWR0aDogcHRlKDE0KTtoZWlnaHQ6IHB0ZSgxNCk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNSk7IGZsb2F0OiBsZWZ0O21hcmdpbjpwdGUoNCk7Ym9yZGVyLXJhZGl1czogcHRlKDcpO31cbiAgfVxuICAub257XG4gICAgLnB7YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjMpO3dpZHRoOnB0ZSgyMik7aGVpZ2h0OnB0ZSgyMik7Ym9yZGVyOnB0ZSg1KSBzb2xpZCAjZmZmO21hcmdpbjogMDtib3JkZXItcmFkaXVzOiBwdGUoMjIpOyB9XG4gIH1cbn1cblxuXG4qey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Oy1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbmh0bWwsYm9keXttaW4taGVpZ2h0OiAxMDAlO31cbmJvZHl7IGJhY2tncm91bmQ6ICNlOWVjZjE7fVxuLmJtd19pbm5lcntwYWRkaW5nLXRvcDpweFRvRW0oOTAsMzIpO31cbi5tYWluLC5ibXdfcm9vdHsgd2lkdGg6IDEwMCU7IG1pbi13aWR0aDogMzIwcHg7IG1heC13aWR0aDogNjQwcHg7IGZvbnQtc2l6ZTogJGJhc2VGb250U2l6ZTsgYmFja2dyb3VuZDogI2U5ZWNmMTsgZm9udC1mYW1pbHk6IFwi6buR5L2TLeeugFwiLFwi5paH5rOJ6am/5b6u57Gz6buRXCI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luOiAwIGF1dG87IH1cblxuQGluY2x1ZGUgbWluLXNjcmVlbig0ODBweCl7XG4gICAgLm1haW4sLmJtd19yb290eyBmb250LXNpemU6IDI0cHg7IH1cbn1cbkBpbmNsdWRlIG1pbi1zY3JlZW4oNjQwcHgpe1xuICAgIC5tYWluLC5ibXdfcm9vdHsgZm9udC1zaXplOiAzMnB4OyB9XG59XG4ubm9uZXtkaXNwbGF5OiBub25lO31cbi5waG9uZV9pY29ueyBiYWNrZ3JvdW5kOiB1cmwoL2RpYW5waW5nL21vYmlsZS9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9waG9uZV9pY29uLnBuZykgbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IHB4VG9FbSg0ODYsMzIpIHB4VG9FbSgzODksMzIpOyB9XG4uY29tbW9uX2hlYWRlcnsgd2lkdGg6IDEwMCU7IGhlaWdodDogcHhUb0VtKDkwLDMyKTsgYmFja2dyb3VuZDogIzM3YzA3ZTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4uY29tbW9uX2hlYWRlcl90aXR7IGNvbG9yOiAkd2hpdGU7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiBweFRvRW0oNDAsMzIpOyBwYWRkaW5nLXRvcDogcHhUb0VtKDEyLDMyKTsgfVxuLmhvbWVfaWNvbnsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiBweFRvRW0oNTQsMzIpOyBoZWlnaHQ6IHB4VG9FbSg0NiwzMik7IGJhY2tncm91bmQtcG9zaXRpb246IHB4VG9FbSgtNDIsMzIpIDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiBweFRvRW0oMjIsMzIpOyBsZWZ0OiBweFRvRW0oMjAsMzIpOyB9XG4udXNlcl9pY29ueyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IHB4VG9FbSg0OCwzMik7IGhlaWdodDogcHhUb0VtKDQ4LDMyKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogcHhUb0VtKC0xMTIsMzIpIDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiBweFRvRW0oMjEsMzIpOyByaWdodDogcHhUb0VtKDIwLDMyKTsgfVxuLm90aGVyX2hvbWVfaWNvbnsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiBweFRvRW0oNTQsMzIpOyBoZWlnaHQ6IHB4VG9FbSg0NiwzMik7IGJhY2tncm91bmQtcG9zaXRpb246IHB4VG9FbSgtNDIsMzIpIDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiBweFRvRW0oMjIsMzIpOyBsZWZ0OiBweFRvRW0oMjAsMzIpOyB9XG5cbi5iYWNrX2Fycm93eyB3aWR0aDogcHhUb0VtKDcwLDMyKTsgaGVpZ2h0OiBweFRvRW0oOTAsMzIpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwLjllbSAwLjc1ZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB9XG4ubV9yaWdodF9pY29ueyBmbG9hdDogcmlnaHQ7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogcHhUb0VtKDIwLDMyKTsgaGVpZ2h0OiBweFRvRW0oMzYsMzIpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBweFRvRW0oLTE4NSwzMikgMDsgfVxuLmNvbW1vbl9leGl0X2J0bnsgZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IHB4VG9FbSgzMCwzMik7IGNvbG9yOiAkd2hpdGU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiBweFRvRW0oMjMsMzIpOyByaWdodDogcHhUb0VtKDIwLDMyKTsgXG5cdCY6aG92ZXJ7IGNvbG9yOiAkd2hpdGU7IH1cbn1cbi8v5Y2g5L2NXG4gLkVtdHlfbGlzdHN7aGVpZ2h0OiBwdGUoNzAwKTt0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IHRhYmxlOyB3aWR0aDogMTAwJTt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO2Rpc3BsYXk6IC13ZWJraXQtYm94OyAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7ICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7ICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO31cblxuIC8vc2Nyb2xsIGJveFxuIC5ibXdfcm9vdHtcbiAgICAuYm13X21haW57QGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiw1MCUgNTAlIDUwJSk7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlci12YWx1ZWZpeGVyKHRyYW5zaXRpb24sdHJhbnNmb3JtIC40cyx3ZWJraXQgbW96IG1zKTtcbiAgICB9XG4gICAgLmNrLXdyYXBwZXJ7d2lkdGg6IDEwMCU7fVxuICAgICAuYm13X2NhcmR7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO0BpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LG5vbmUpOyBiYWNrZ3JvdW5kOiB1cmwoL2RpYW5waW5nL21vYmlsZS9zdGF0aWMvaW1hZ2VzL2dyYXlib3lhbG9nby5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgcHRlKDEwMCk7YmFja2dyb3VuZC1zaXplOiBweFRvRW0oMTA0LDMyKSBweFRvRW0oMTA0LDMyKTsgfVxuICAgICAuYm13X3dyYXBwZXJ7cG9zaXRpb246IHJlbGF0aXZlO31cbiAgICAgLmNvbW1vbl9oZWFkZXJ7cG9zaXRpb246IGFic29sdXRlO3RvcDowO2xlZnQ6IDA7ei1pbmRleDogMTA7fVxuICAgIC5oZWFkZXJfZml4e3Bvc2l0aW9uOiBmaXhlZDt0b3A6IDA7bGVmdDogMDt6LWluZGV4OiAxMDA7fVxuIH1cblxuLy9jb21tb25cbi5jb21tb25faGVhZGVye1xuICAubV9sb2dve2hlaWdodDoxMDAlOyB3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO1xuICAgIC5tbG9nb3tkaXNwbGF5OmlubGluZS1ibG9jayA7d2lkdGg6cHRlKDE5NywzMik7aGVpZ2h0OnB0ZSg1NCwzMik7YmFja2dyb3VuZC1wb3NpdGlvbjpwdGUoLTEsMzIpIHB0ZSgtMiwzMik7bWFyZ2luLXRvcDpwdGUoMTgsMzIpOyB9XG4gIH1cbn1cbi8vaGVhZGVyIGZpeFxuLm1haW5faGVhZGVyX2ZpeHtwYWRkaW5nLXRvcDogcHhUb0VtKDkwLDMyKTt9XG4vKuWIhmljb24qL1xuLnNiX25lZWRfaWNvbnsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogcHhUb0VtKDUwLDMyKTsgaGVpZ2h0OiBweFRvRW0oNTAsMzIpOyBiYWNrZ3JvdW5kOiAjZmZmM2M2OyBib3JkZXItcmFkaXVzOiA1MCU7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZy10b3A6IHB4VG9FbSg0LDMyKTsgfVxuLm5pX2ljb25faW5uZXJ7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IHB4VG9FbSg0MiwzMik7IGhlaWdodDogcHhUb0VtKDQyLDMyKTsgYmFja2dyb3VuZDogI2ZmZDI0MTsgYm9yZGVyLXJhZGl1czogNTAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5paV90eHR7IGZvbnQtZmFtaWx5OiBcIuW+rui9r+mbhem7kVwiOyBmb250LXNpemU6IHB4VG9FbSgzNCwzMik7IGNvbG9yOiAjZGVhMzAwOyBsaW5lLWhlaWdodDogMC41OyBmb250LXdlaWdodDogYm9sZDsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IHB4VG9FbSgtMiwzMik7IH1cbi8q57u/5pa55Z2XKi9cbi5jdF9zcXVhcmVpY29ueyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiBweFRvRW0oMTIsMzIpOyBoZWlnaHQ6IHB4VG9FbSgyNSwzMik7IG1hcmdpbjogcHhUb0VtKDExLDMyKSBweFRvRW0oMzEsMzIpIDAgMDsgYmFja2dyb3VuZDogIzM3YzA3ZTsgfVxuXG5cbi8qY29tbW9uIGxvYWQgbW9yZSBjc3MqL1xuLmNvbW1vbl9sb2FkbW9yZV9idG57IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogNjAlOyBoZWlnaHQ6IHB4VG9FbSgxMDAsMzIpOyBmb250LXNpemU6IHB4VG9FbSgyNCwzMik7IEBpbmNsdWRlIGJnY29sb3ItYWxwaGEoJGJnY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpKTsgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgdGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogcHhUb0VtKDEwMCwzMik7IGNvbG9yOiAjNDU0ODQ4OyBtYXJnaW46IHB4VG9FbSg1MCwzMikgYXV0byAwOyBcblx0Jjpob3ZlcnsgY29sb3I6ICM0NTQ4NDg7IH1cbn1cbi5jb21tb25fbG9hZF93YXJweyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBweFRvRW0oMTk0LDMyKTsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kOiAjZTllY2YxOyBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC5jbHdfdHh0eyBmb250LXNpemU6IHB4VG9FbSgyNCwzMik7IGNvbG9yOiAjM2FjMDZiOyBsaW5lLWhlaWdodDogcHhUb0VtKDE5NCwzMik7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxufVxuXG4ubmNfdG9wX2Zsb2F0eyBwb3NpdGlvbjogZml4ZWQ7IH1cbi5jb21tb25fYmFja3RvcHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogcHhUb0VtKDc2LDMyKTsgaGVpZ2h0OiBweFRvRW0oNzYsMzIpOyBAaW5jbHVkZSBiZ2NvbG9yLWFscGhhKCRiZ2NvbG9yOiByZ2JhKDYyLDYyLDYyLC44KSk7IGJvcmRlci1yYWRpdXM6IHB4VG9FbSgxMCwzMik7IHRleHQtYWxpZ246IGNlbnRlcjsgbGluZS1oZWlnaHQ6IDAuOTsgcGFkZGluZy10b3A6IHB4VG9FbSg2LDMyKTsgXG4gICAgLmNiX2JhY2tUeHR7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IHB4VG9FbSg0OSwzMik7IFxuICAgICAgdXsgY29sb3I6ICR3aGl0ZTsgZm9udC1zaXplOiBweFRvRW0oMjIsMzIpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICB9XG4gICAgJjpob3ZlcnsgY29sb3I6ICR3aGl0ZTsgfVxufVxuXG5cblxuLypjb21tb24gc3VibWl0IGJ0biovXG4uY29tbW9uX3N1Ym1pdF9idG57IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiAjMzdjMDdlOyBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzI5OWY2NjsgY29sb3I6ICNlOWVjZjE7IHRleHQtYWxpZ246IGNlbnRlcjsgbGluZS1oZWlnaHQ6IHB4VG9FbSg3MCwzMik7IG1hcmdpbjogMCBhdXRvOyBcblx0Jjpob3ZlcnsgY29sb3I6ICNlOWVjZjE7IH1cblx0JjphY3RpdmV7IGNvbG9yOiAjZTllY2YxOyBiYWNrZ3JvdW5kOiAjMmVhNzZkOyBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzI2OGU1YzsgfVxufVxuXG4vKmNvbW1vbiBmb290ZXIgY3NzKi9cbi5jb21tb25fZm9vdGVyeyB3aWR0aDogMTAwJTsgLypwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsgbGVmdDogMDsqLyBwYWRkaW5nLXRvcDogcHhUb0VtKDUwLDMyKTsgfVxuLmNmX3RvcFNraXBfd2FycHsgd2lkdGg6IDEwMCU7IGhlaWdodDogcHhUb0VtKDQ5LDMyKTsgYmFja2dyb3VuZDogI2MyYzNjNTsgcGFkZGluZzogcHhUb0VtKDcsMzIpIHB4VG9FbSgyMSwzMikgMCBweFRvRW0oMjAsMzIpOyB9XG4uc2tpcF9idG57IGZsb2F0OiBsZWZ0OyBjb2xvcjogIzdhN2E3YTsgZm9udC1zaXplOiBweFRvRW0oMjQsMzIpOyBcblx0Jjpob3ZlcnsgY29sb3I6ICM3YTdhN2E7IH1cbn1cbi5za2lwX2J0bjF7IGZsb2F0OiByaWdodDsgY29sb3I6ICM3YTdhN2E7IGZvbnQtc2l6ZTogcHhUb0VtKDI0LDMyKTsgbWFyZ2luLWxlZnQ6IHB4VG9FbSgzMywzMik7XG5cdGF7IGNvbG9yOiAjN2E3YTdhOyB9XG5cdCY6aG92ZXJ7IGNvbG9yOiAjN2E3YTdhOyB9XG59XG4uY2ZfcGxhdGZvcm1fbGlzdHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4uY2ZfcGxhdGZvcm1fbGlzdCAuaXR7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuLml0X3BsYXRmb3JteyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGhlaWdodDogMTAwJTsgcGFkZGluZzogMCBweFRvRW0oMTQsMzIpOyBjb2xvcjogIzdhN2E3YTsgZm9udC1zaXplOiBweFRvRW0oMjIsMzIpOyBsaW5lLWhlaWdodDogMTAwJTtcblx0Jjpob3ZlcnsgY29sb3I6ICM3YTdhN2E7IH1cbn1cbi5pdF9saW5leyBib3JkZXI6IDJweCBzb2xpZCAjN2E3YTdhOyBib3JkZXItdG9wOiBub25lOyBib3JkZXItYm90dG9tOiBub25lOyBwYWRkaW5nOiAwIHB4VG9FbSgxOCwzMik7IH1cbi5jZl9yaWdodHsgZm9udC1mYW1pbHk6IFwiQXJpYWxcIjsgY29sb3I6ICM3YTdhN2E7IGZvbnQtc2l6ZTogcHhUb0VtKDIyLDMyKTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cblxuXG4uYnQyMHttYXJnaW4tYm90dG9tOiBwdGUoMjAsMzIpO31cbi5tX2ljb257YmFja2dyb3VuZDogdXJsKC9kaWFucGluZy9tb2JpbGUvc3RhdGljL2ltYWdlcy9jb21tb24vbWJveWEtaWNvbi5wbmcpIG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiBweFRvRW0oNTAwLDMyKSBweFRvRW0oNTAwLDMyKTtkaXNwbGF5OiBibG9jazt9XG5cblxuLm1faWNvbl93YXJwe2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiBwdGUoNjAsMzIpO2hlaWdodDogcHRlKDYwLDMyKTtib3JkZXItcmFkaXVzOiAxMDAlO292ZXJmbG93OiBoaWRkZW47YmFja2dyb3VuZDogI2NjYzttYXJnaW46IDAgYXV0bztcbiAgLm1faWNvbnt3aWR0aDogcHRlKDQ5LDMyKTtoZWlnaHQ6IHB0ZSg0OSwzMik7bWFyZ2luOjAgYXV0bzttYXJnaW4tdG9wOiBwdGUoNSwzMik7fVxufVxuLy/mtLvliqjkuJPkuqtcbi5hY19pY29uX2J5enh7YmFja2dyb3VuZDogIzJjYzBkYTtcbiAgLm1faWNvbntiYWNrZ3JvdW5kLXBvc2l0aW9uOiBwdGUoNCwzMikgcHRlKC0xMzYsMzIpO31cbn1cbi8v54ix5Zu95pWZ6IKyXG4uYWNfaWNvbl9hZ2p5e2JhY2tncm91bmQ6ICNmZjg2N2E7XG4gIC5tX2ljb257YmFja2dyb3VuZC1wb3NpdGlvbjogcHRlKC01OSwzMikgcHRlKC0xMzIsMzIpO31cbn1cbi8v56eR5pmu5a2m5LmgXG4uYWNfaWNvbl9rcHh4e2JhY2tncm91bmQ6ICM4N2JjZjc7XG4gIC5tX2ljb257YmFja2dyb3VuZC1wb3NpdGlvbjogcHRlKC0xMjIsMzIpIHB0ZSgtMTM2LDMyKTt9XG59XG4vL+i/kOWKqOS8kemXslxuLmFjX2ljb25feWR4eHtiYWNrZ3JvdW5kOiAjYWQ3ZWNlO1xuICAubV9pY29ue2JhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtMTg2LDMyKSBwdGUoLTEzNiwzMik7fVxufVxuLy/miLflpJblrp7ot7Vcbi5hY19pY29uX2h3c3F7YmFja2dyb3VuZDogIzc3YjRiZTtcbiAgLm1faWNvbntiYWNrZ3JvdW5kLXBvc2l0aW9uOiBwdGUoLTI0OSwzMikgcHRlKC0xMzYsMzIpO31cbn1cbi8v6IGM5Lia5L2T6aqMXG4uYWNfaWNvbl96eXR5e2JhY2tncm91bmQ6ICM1NGFjOWM7XG4gIC5tX2ljb257YmFja2dyb3VuZC1wb3NpdGlvbjogcHRlKC0zMTQsMzIpIHB0ZSgtMTM2LDMyKTt9XG59XG4vL+WTgeWRs+iJuuacr1xuLmFjX2ljb25fcHd5c3tiYWNrZ3JvdW5kOiAjZmNiNjcxO1xuICAubV9pY29ue2JhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtMzc3LDMyKSBwdGUoLTEzNiwzMik7fVxufVxuLy/nu7/nrrHlrZBcbi5hY19pY29uX2x4entiYWNrZ3JvdW5kOiAjODFlMTgzO1xuICAubV9pY29ue2JhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtNDUxLDMyKSBwdGUoLTEzNCwzMik7fVxufVxuLy/ljZrpm4XlhazlkYpcbi5hY19pY29uX2J5Z2d7YmFja2dyb3VuZDogIzM3YzA3ZTtcbiAgLm1faWNvbntiYWNrZ3JvdW5kLXBvc2l0aW9uOiBwdGUoLTMxNCwzMikgcHRlKC0xMzQsMzIpO31cbn1cbi8v54Ot6Zeo6LWE6K6vXG4uYWNfaWNvbl9ybXp4e2JhY2tncm91bmQ6ICM2N2UzYjk7XG4gIC5tX2ljb257YmFja2dyb3VuZC1wb3NpdGlvbjogcHRlKDQsMzIpIHB0ZSgtMTg4LDMyKTt9XG59XG4vL+WcuummhuaWsOmXu1xuLmFjX2ljb25fY2d4d3tiYWNrZ3JvdW5kOiAjNmRkY2RlO1xuICAubV9pY29ue2JhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtNDA1LDMyKSBwdGUoLTcwLDMyKTt9XG59XG4vL+a0u+WKqOW/q+aKpVxuLmFjX2ljb25faGRrYntiYWNrZ3JvdW5kOiAjZWI3ZjYwO1xuICAubV9pY29ue2JhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtNDU5LDMyKSBwdGUoLTcwLDMyKTt9XG59XG4vL+a0u+WKqOivhOa1i1xuLmFjX2ljb25faGRwY3tiYWNrZ3JvdW5kOiAjZTA4OGFjO1xuICAubV9pY29ue2JhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtMzAwLDMyKSBwdGUoLTczLDMyKTt9XG59XG4vL+Wcuummhua1i+ivhFxuLmFjX2ljb25fY2djcHtiYWNrZ3JvdW5kOiAjZTNiYTY3O1xuICAubV9pY29ue2JhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtMzUzLDMyKSBwdGUoLTczLDMyKTt9XG59XG5cbi8v5pCc57Si6aG16Z2iXG4uc19ib3lhX2ljb257IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogcHRlKDQyKTsgaGVpZ2h0OiBwdGUoNDEpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBwdGUoLTIxOSkgcHRlKC05KTsgfVxuXG4vL+mmlumhtXRhYlxuLmhvbWVfbXRhYnN7aGVpZ2h0OnB0ZSgxMTUsMzIpO2Rpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogNTtcbiAgLmhvbWVfbXRhYnNfaW57cG9zaXRpb246IHJlbGF0aXZlO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7fVxuICAubXRhYl9pdGVte2Rpc3BsYXk6YmxvY2s7Ym94LWZsZXg6MTstd2Via2l0LWJveC1mbGV4OjE7YmFja2dyb3VuZDojZmZmO2hlaWdodDoxMDAlO2JvcmRlci1yaWdodDoycHggc29saWQgI2VlZjFmNTt9XG4gIC5tdGFiX2l0ZW06bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6MCBub25lO31cbiAgLnRhYl9idG57ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RleHQtYWxpZ246IGNlbnRlcjtwYWRkaW5nLXRvcDogcHRlKDEwLDMyKTsgYm9yZGVyLWJvdHRvbTogcHRlKDcsMzIpIHNvbGlkICR3aGl0ZTsgXG4gICAgLm10YWJfaWNvbntkaXNwbGF5OiBibG9jazt3aWR0aDogcHRlKDQ4LDMyKTtoZWlnaHQ6IHB0ZSg1MCwzMik7bWFyZ2luOjAgYXV0bzt9XG4gICAgLnRpdGxle2ZvbnQtc2l6ZTogcHRlKDI2LDMyKTtjb2xvcjogIzI1ODI1NTt9XG4gICAgfVxuICAudGFiX2J0bl9hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtib3JkZXItYm90dG9tOiBwdGUoNywzMikgc29saWQgIzM3YzA3ZTt9XG5cbiAgLm1haW5fc2VhcmNoe3Bvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiBwdGUoNjApO2JvcmRlcjoxcHggc29saWQgcmdiYSg2MSw2MSw2MSwuNCk7dG9wOiBwdGUoMTE1LDMyKTtsZWZ0OnB0ZSg3LDMyKTt3aWR0aDogcGVyKDYyNiw2NDApO21hcmdpbjogIDAgYXV0bztiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44KTtib3JkZXItcmFkaXVzOiBwdGUoNSwzMik7XG4gICAgLnNlYXJjaF9pbnB7ZGlzcGxheTogYmxvY2s7ZmxvYXQ6IGxlZnQ7aGVpZ2h0OiAxMDAlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjAgbm9uZTtvdXRsaW5lOiBub25lO3BhZGRpbmc6IDAgMTBweDtmb250LXNpemU6IHB0ZSgzMiwzMik7d2lkdGg6IHBlcig1NzAsNjI2KTtjb2xvcjojMzMzO31cbiAgICAuc2VhcmNoX2J0bntkaXNwbGF5OiBibG9jazt3aWR0aDogcHRlKDQ1LDMyKTtoZWlnaHQ6IHB0ZSg0NSwzMik7YmFja2dyb3VuZC1jb2xvcjogI2Y0YWQ0OTtib3JkZXItYm90dG9tOiBwdGUoMiwzMikgc29saWQgI2MzOGEzYTtib3JkZXItcmFkaXVzOiBwdGUoNCwzMik7b3ZlcmZsb3c6IGhpZGRlbjtmbG9hdDogcmlnaHQ7bWFyZ2luOiAgcHRlKDcsMzIpIHB0ZSg2LDMyKSAwIDA7XG4gICAgICAubV9pY29ue2Rpc3BsYXk6IGJsb2NrO2hlaWdodDogcHRlKDIyLDMyKTt3aWR0aDogcHRlKDIyLDMyKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOiBwdGUoLTI2MSwzMikgcHRlKC04OCwzMik7bWFyZ2luOiBwdGUoMTEsMzIpIDAgMCBwdGUoMTEsMzIpO31cbiAgICB9XG4gIH1cbn1cbi5tX2ljb25faW5mb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOiBwdGUoLTEsMzIpIHB0ZSgtNjksMzIpO31cbi5tX2ljb25fYWN0aXZle2JhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtNjgsMzIpIHB0ZSgtNjksMzIpO31cbi5tX2ljb25fdmludWVze2JhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtMTM3LDMyKSBwdGUoLTY5LDMyKTt9XG4ubV9pY29uX3NlYXJjaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiBwdGUoLTIwNiwzMikgcHRlKC02OSwzMik7fVxuXG5cbi8v6Ieq5a6a5LmJ5by55Ye65qGG5qC35byPXG4uYm1fbGF3eWVye3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt6LWluZGV4OiA0OTk5O3dpZHRoOiAxMDAlO2hlaWdodDogMDtvdmVyZmxvdzogdmlzaWJsZTtmb250LWZhbWlseTogXCJNaWNyb3NvZnQgWWFoZWlcIjt9XG4uYm1fcG9wd2FycHsgd2lkdGg6IDgwJTtmb250LWZhbWlseTogXCLpu5HkvZMt566AXCIsXCLmlofms4npqb/lvq7nsbPpu5FcIjsgcG9zaXRpb246IHJlbGF0aXZlO3Bvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKDQ4MHB4KXtcbiAgICAuYm1fcG9wd2FycHsgZm9udC1zaXplOiAyNHB4OyB9XG59XG5AaW5jbHVkZSBtaW4tc2NyZWVuKDY0MHB4KXtcbiAgICAuYm1fcG9wd2FycHsgZm9udC1zaXplOiAzMnB4OyB9XG59XG4uTlktcG9wLW1hc2t7cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTtiYWNrZ3JvdW5kOiAjMDAwO29wYWNpdHk6MC4yO2ZpbHRlcjogYWxwaGEob3BhY2l0eT0yMCk7dG9wOjA7bGVmdDowO31cbi5ibV9wb3B7d2lkdGg6IDEwMCU7YmFja2dyb3VuZDogI2ZmZjt9XG4uYm1fcG9wX3RpdGxle2hlaWdodDogcHRlKDQ3KTtiYWNrZ3JvdW5kLWNvbG9yOiAjNmJjZDliO3BhZGRpbmctbGVmdDpwdGUoMTApO1xuICAudHtmb250LXNpemU6IHB0ZSgyNik7ZGlzcGxheTogaW5saW5lLWJsb2NrO2hlaWdodDogMTAwJTtsaW5lLWhlaWdodDogMTAwJTtjb2xvcjogI2ZmZjt9XG4gIC5jbG9zZXtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ZmxvYXQ6IHJpZ2h0O2hlaWdodDogMTAwJTt3aWR0aDogcHRlKDQ3KTtcbiAgICAuaXtkaXNwbGF5OiBibG9jaztoZWlnaHQ6IDEwMCU7Zm9udC1mYW1pbHk6IFwic2ltc3VuXCI7d2lkdGg6IHB0ZSgzNCk7aGVpZ2h0OiBwdGUoMzQpO21hcmdpbjpwdGUoNikgMCAwIHB0ZSg2KTtib3JkZXI6IDFweCBzb2xpZCAjMjU4MjU1O2xpbmUtaGVpZ2h0OjgzJTt0ZXh0LWFsaWduOiBjZW50ZXI7Ym9yZGVyLXJhZGl1czogcHRlKDM0KTt9XG4gICAgLml0e2ZvbnQtd2VpZ2h0OiBib2xkO2ZvbnQtc2l6ZTpwdGUoMjApO2xpbmUtaGVpZ2h0OiBwdGUoMzQpO2ZvbnQtc3R5bGU6IG5vcm1hbDtjb2xvcjogIzI1ODI1NTt9XG4gIH1cbiB9XG4gLmJtX2NvbnRlbnRlcntiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO3BhZGRpbmc6IHB0ZSgyMCk7XG4gIC50eHR7cGFkZGluZzogcHRlKDI1KSAwO2NvbG9yOiAjNmE2YTZhO2ZvbnQtc2l6ZTogcHRlKDIyKTsgdGV4dC1hbGlnbjogY2VudGVyO31cbiB9XG4gLmJtX3BidG5fYXJ7cGFkZGluZzogcHRlKDEwKSAwO3RleHQtYWxpZ246IGNlbnRlcjtkaXNwbGF5OmJsb2NrO3dpZHRoOiAxMDAlO31cbiAuYm1fcF9idXR0b257ZGlzcGxheTogaW5saW5lLWJsb2NrO2hlaWdodDogcHRlKDQwKTtsaW5lLWhlaWdodDogMTAwJTsgdGV4dC1hbGlnbjogY2VudGVyO3BhZGRpbmc6IDAgcHRlKDEwKTttYXJnaW46IDAgcHRlKDUpO1xuICAudHR7Zm9udC1zaXplOiBwdGUoMjQpO2Rpc3BsYXk6IGlubGluZS1ibG9jazttaW4td2lkdGg6IHB0ZSg5Nik7fVxuIH1cbi5OWS1jb24tdG9hc3R7cGFkZGluZzoxNXB4IDEwcHg7IHRleHQtYWxpZ246IGNlbnRlcjt9XG4uTlktY29uLXRvYXN0IHB7bGluZS1oZWlnaHQ6IDI5cHg7IGZvbnQtc2l6ZTogcHRlKDE0KTtmb250LXdlaWdodDogYm9sZDtjb2xvcjogIzY2Njt9XG4gLy/nmb3oibJcbiAuYm1fcF9idXR0b25fd2FpdGVye2JvcmRlcjogMXB4IHNvbGlkICNjOWM5Yzk7YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtib3JkZXItcmFkaXVzOiAycHg7XG4gIC50dHtjb2xvcjojMjk3YjUzO31cbiB9XG4gLy/nu7/oibJcbiAuYm1fcF9idXR0b25fZ3JlZW57YmFja2dyb3VuZC1jb2xvcjogIzQ3YzM4NzsgYm9yZGVyOiAxcHggc29saWQgIzQ3YzM4Nztib3JkZXItcmFkaXVzOiAycHg7XG4gIC50dHtjb2xvcjojZmZmO31cbiB9XG4gXG4vL+W8ueWHuuahhueZu+W9lVxuLmxvZ2luX3BvcHdhcnB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiBwdGUoNTApIHB0ZSgzMCkgcHRlKDUwKTsgXG4gIC5sbHdfbG9naW5fbGlzdHtwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLml0eyBmbG9hdDogbGVmdDsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IHB0ZSg5KTtwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAuaXRfZm9yZ2V0eyBmbG9hdDogbGVmdDsgY29sb3I6ICNiM2IzYjM7IGZvbnQtc2l6ZTogcHRlKDIyKTsgfVxuICAgICAgLml0X3JlZ3sgZmxvYXQ6IHJpZ2h0OyBjb2xvcjogI2IzYjNiMzsgZm9udC1zaXplOiBwdGUoMjIpOyB9XG4gICAgICAubG9naW5fYnRueyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBwdGUoNzQpOyB9XG4gICAgfVxuICAgIC5pdF9wYWRkaW5neyBwYWRkaW5nOiBwdGUoMTEpIHB0ZSgxNCkgcHRlKDI1KSBwdGUoMTYpOyB9XG4gICAgLnRpcHR4dCB7XG4gICAgICAmLmQtZmxleCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiBwdGUoNzApO1xuICAgICAgY29sb3I6ICNmMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgdG9wOiBwdGUoLTY4KTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIC50IHtcbiAgICAgICAgZm9udC1zaXplOiBwdGUoMjApO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1sb2dpbl9jb250aW51ZSxcblx0XHQubWxvZ2luX2NoYW5nZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0d2lkdGg6IDQ4JTtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdGxpbmUtaGVpZ2h0OiBwdGUoODApO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHR9XG5cdFx0Lm1sb2dpbl9jb250aW51ZSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdGJhY2tncm91bmQ6ICNjOWM5Yzk7XG5cdFx0XHRib3JkZXItY29sb3I6ICNjOWM5Yzk7XG5cdFx0fVxuICB9XG4uaW5wdF9pdHtib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICAmX2NhcHRjaGEge1xuXHRcdC5sb2dfaW5wdXRfY2FwdGNoYSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA0MiUgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHRpbWcuY2FwdGNoYSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdHotaW5kZXg6IDM7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblxuXHRcdC5yZWdfZmFsc2VfdGlwcyB7XG5cdFx0XHR0b3A6IGF1dG87XG5cdFx0fVxuXHR9XG59XG4uaXRfaW5wdXR3YXJweyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBwdGUoNzApOyBiYWNrZ3JvdW5kOiAkd2hpdGU7IHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmxvZ19pbnB1dHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcGFkZGluZzogcHRlKDI1KTsgbGluZS1oZWlnaHQ6IHB0ZSg1MCk7IGJvcmRlcjogbm9uZTsgZm9udC1zaXplOiBwdGUoMjIpOyBjb2xvcjogI2IzYjNiMzsgXG4gICAgJjpmb2N1c3sgb3V0bGluZS1jb2xvcjojMzdDMDc0OyB9XG4gIH1cbiAgLmxvZ190cnVlX2ljb257IHdpZHRoOiBwdGUoMTYpOyBoZWlnaHQ6IHB0ZSgxMSk7IGJhY2tncm91bmQtcG9zaXRpb246IHB0ZSgtMjU3KSBwdGUoLTU3KTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IHB0ZSgyOSk7IHJpZ2h0OiBwdGUoMjQpOyAgZGlzcGxheTogbm9uZTt9XG59XG4vKui+k+WFpeahhuato+ehrumUmeivryovXG4udHJ1ZV9zdGF0dXN7IGJvcmRlcjogMXB4IHNvbGlkICM1MWJmODc7IFxuICAubG9nX3RydWVfaWNvbnsgZGlzcGxheTogYmxvY2s7IH1cbn1cbi5mb2N1c19zdGF0dXN7IGJvcmRlcjogMXB4IHNvbGlkICMwYmFjZDM7IH1cbi5mYWxzZV9zdGF0dXN7IGJvcmRlcjogMXB4IHNvbGlkICNmOWI1YjU7IH1cbn1cblxuXG4vKmVtcHR5IGNzcyovXG4uY29tbV9lbXB0eV93YXJweyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiBwdGUoNTApIDA7IH1cbi5jZXdfZW1wdHlfaWNvbnsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogcHRlKDI1MCwzMik7IGhlaWdodDogcHRlKDI5MywzMik7IGJhY2tncm91bmQ6IHVybCgvZGlhbnBpbmcvbW9iaWxlL3N0YXRpYy9pbWFnZXMvY29tbW9uL2VtcHR5X2ljb24ucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOiBwdGUoMjQ5KSBwdGUoMjkzKTsgfVxuXG4vKm1zZyBwb3AqL1xuLmNvbW1vbl9tc2dzaG93X3dhcnB7IHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kOiAjZmVmNGM3OyBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1OyBwYWRkaW5nOiBwdGUoNSkgcHRlKDQ1KTsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IHB0ZSg5MCk7IG9wYWNpdHk6IDA7IH1cbi5jbXdfbXNnVHh0eyBmbG9hdDogbGVmdDsgZm9udC1zaXplOiBwdGUoMjApOyBjb2xvcjogIzZhNmE2YTsgbWFyZ2luLXJpZ2h0OiBwdGUoMjUpOyB9XG4uY213X2RldGFpbFR4dHsgd2lkdGg6IHBlcig0NDUsNjQwKTsgZmxvYXQ6IGxlZnQ7IGZvbnQtc2l6ZTogcHRlKDIwKTsgY29sb3I6ICM2YTZhNmE7IH1cbi5jbXdfZ3JlZW5Gb250eyBjb2xvcjogIzMzYWE3MDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbjogMCBwdGUoMjApOyB9XG4ucmVnX2ZhbHNlX3RpcHN7IGNvbG9yOiAjZmYwMDAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogcHRlKDIyKTsgcmlnaHQ6IHB0ZSgzKTsgXG4gIC50dHtmb250LXNpemU6IHB0ZSgxMik7IGZvbnQtd2VpZ2h0Om5vbmU7ZmxvYXQ6IGxlZnQ7fVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNzczMgc2Nzc1xuLy8gdGhhbmtzOlxuLy8gaHR0cDovL2JvdXJib24uaW8vXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdGhvbWFzLW1jZG9uYWxkL2Jvb3RzdHJhcC1zYXNzL2Jsb2IvbWFzdGVyL3ZlbmRvci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19taXhpbnMuc2Nzc1xuLy8g5YWz5LqOY3NzM+eahGZsZXjor6bnu4bku4vnu43lj6/lj4LogIPvvJpodHRwczovL2dpdGh1Yi5jb20vbWFydmluMTAyMy9mbGV4LXNjc3Ncbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyDlkITkuKrmtY/op4jlmajnmoTlsZ7mgKfliY3nvIDvvIx0cnVl6KGo56S65byA5ZCv77yMZmFsc2XooajnpLrkuI3lvIDlkK9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcmVmaXhGb3JXZWJraXQ6ICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4Rm9yTW96aWxsYTogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeEZvck1pY3Jvc29mdDogICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXhGb3JPcGVyYTogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvL29wZXJh5LuO54mI5pysMTXlvIDlp4vovazlkJF3ZWJraXTvvIzmiYDku6Xpu5jorqTkuLpmYWxzZe+8jOS4jei+k+WHum/liY3nvIBcbiRwcmVmaXhObzogICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cbi8vIOeUqOS6jmZsZXjnmoTlhbzlrrnlj5jph49cbiRmbGV4T2xkOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7IC8vMDnniYjmnKwg55So5LqO5YW85a6556e75Yqo56uv77yMLXdlYmtpdOWJjee8gFxuJGZsZXhNaWQ6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgLy/nlKjkuo5pZTEwIC1tc+WJjee8gFxuXG5cbi8vIOeUqOS6juWcqOWxnuaAp+S4iuWKoOWJjee8gFxuLy8g6buY6K6k6L+Z6YeM5bCG5Y+q6L6T5Ye6d2Via2l05YmN57yA5ZKM5qCH5YeG77yI5aaC5p6c6KaB5byA5ZCvb3BlcmHnmoTlj6/ku6XlsIYkcHJlZml4Rm9yT3BlcmHorr7nva7kuLp0cnVl77yJXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlczogbyB3ZWJraXQgbW96IG1zKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQgYW5kICRwcmVmaXhGb3JXZWJraXQgPT0gdHJ1ZSB7XG4gICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiBhbmQgJHByZWZpeEZvck1vemlsbGEgPT0gdHJ1ZSB7XG4gICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIGFuZCAkcHJlZml4Rm9yTWljcm9zb2Z0ID09IHRydWUge1xuICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG8gYW5kICRwcmVmaXhGb3JPcGVyYSA9PSB0cnVlIHtcbiAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgIH1cbiAgfVxuICBAaWYgJHByZWZpeE5vIHtcbiAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLyBwcmVmaXhlci12YWx1ZVxuLy8g55So5LqO5Zyo5YC85LiK5Yqg5YmN57yAXG4vLyDpu5jorqTov5nph4zlsIbovpPlh7p3ZWJraXTliY3nvIDvvIxtb3rliY3nvIDlkozmoIflh4ZcbkBtaXhpbiBwcmVmaXhlci12YWx1ZSgkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzOiB3ZWJraXQgbW96KSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQgYW5kICRwcmVmaXhGb3JXZWJraXQgPT0gdHJ1ZSB7XG4gICAgICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtI3skdmFsdWV9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiBhbmQgJHByZWZpeEZvck1vemlsbGEgPT0gdHJ1ZSB7XG4gICAgICAjeyRwcm9wZXJ0eX06IC1tb3otI3skdmFsdWV9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG8gYW5kICRwcmVmaXhGb3JNb3ppbGxhID09IHRydWUge1xuICAgICAgI3skcHJvcGVydHl9OiAtby0jeyR2YWx1ZX07XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbXMgYW5kICRwcmVmaXhGb3JNaWNyb3NvZnQgPT0gdHJ1ZSB7XG4gICAgICAjeyRwcm9wZXJ0eX06IC1tcy0jeyR2YWx1ZX07XG4gICAgfVxuICB9XG4gIEBpZiAkcHJlZml4Tm8ge1xuICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBwcmVmaXhlci12YWx1ZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXM6IHdlYmtpdCBtb3ope1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IGFuZCAkcHJlZml4Rm9yV2Via2l0ID09IHRydWUge1xuICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06IC13ZWJraXQtI3skdmFsdWV9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiBhbmQgJHByZWZpeEZvck1vemlsbGEgPT0gdHJ1ZSB7XG4gICAgICAtbW96LSN7JHByb3BlcnR5fTogLW1vei0jeyR2YWx1ZX07XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbXMgYW5kICRwcmVmaXhGb3JNaWNyb3NvZnQgPT0gdHJ1ZSB7XG4gICAgICAtbXMtI3skcHJvcGVydHl9OiAtbXMtI3skdmFsdWV9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG8gYW5kICRwcmVmaXhGb3JPcGVyYSA9PSB0cnVlIHtcbiAgICAgIC1vLSN7JHByb3BlcnR5fTogLW8tI3skdmFsdWV9O1xuICAgIH1cbiAgfVxuICBAaWYgJHByZWZpeE5vIHtcbiAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfVxufVxuXG5cbi8vIGRpc2FibGUgcHJlZml4XG4vLyDorr7nva7miYDmnInliY3nvIDlkozmoIflh4bkuLpmYWxzZe+8jOeUqOS6jkBrZXlmcmFtZXNcbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4Rm9yV2Via2l0OiAgICAgIGZhbHNlO1xuICAkcHJlZml4Rm9yTW96aWxsYTogICAgIGZhbHNlO1xuICAkcHJlZml4Rm9yTWljcm9zb2Z0OiAgIGZhbHNlO1xuICAkcHJlZml4Rm9yT3BlcmE6ICAgICAgIGZhbHNlO1xuICAkcHJlZml4Tm86ICAgICAgICAgICAgIGZhbHNlO1xufVxuXG4vLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyDlsIZ0cmFuc2l0aW9uLXByb3BlcnR55Lit55qE6ZyA6KaB5Yqg5YmN57yA55qE5bGe5oCn5re75Yqg55u45bqU55qE5YmN57yA77yM5aaCdHJhbnNmb3JtXG4vLyB0cmFuc2l0aW9uUHJvcGVydHlOYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZnVuY3Rpb24gdHJhbnNpdGlvblByb3BlcnR5TmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG4gIEBpZiAkdmVuZG9yID09IHdlYmtpdCBhbmQgJHByZWZpeEZvcldlYmtpdCA9PSB0cnVlIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLXdlYmtpdC0nKyRwcm9wKTtcbiAgfVxuICBAaWYgJHZlbmRvciA9PSBtb3ogYW5kICRwcmVmaXhGb3JNb3ppbGxhID09IHRydWUgYW5kICRwcm9wID09IHRyYW5zZm9ybSB7XG4gICAgQHJldHVybiB1bnF1b3RlKCctbW96LScrJHByb3ApO1xuICB9XG4gIEBpZiAkdmVuZG9yID09IG8gYW5kICRwcmVmaXhGb3JPcGVyYSA9PSB0cnVlIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLW8tJyskcHJvcCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHByb3A7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb25Qcm9wZXJ0eU5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcbiAgJG5ldy1wcm9wczogKCk7XG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb25Qcm9wZXJ0eU5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG4gIH1cbiAgQHJldHVybiAkbmV3LXByb3BzO1xufVxuXG4vLyBCb3JkZXIgUmFkaXVzXG4vLyDkuI3lu7rorq7kvb/nlKhcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRiYXNlUmFkaXVzKSB7XG4gIC8vIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsICRyYWRpdXMsIHdlYmtpdCk7XG4gIGJvcmRlci1yYWRpdXM6JHJhZGl1cztcbn1cblxuLy8gYm9yZGVyLWltYWdlXG4vLyBodHRwOi8vYm9yZGVyLWltYWdlLmNvbS9cbkBtaXhpbiBib3JkZXItaW1hZ2UoJGltYWdlKXtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLWltYWdlLCAkaW1hZ2UpO1xufVxuXG4vLyBib3gtc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkdHlwZTogYm9yZGVyLWJveCkge1xuICAvLyBib3JkZXItYm94IHwgcGFkZGluZy1ib3ggfCBjb250ZW50LWJveFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkdHlwZSwgd2Via2l0IG1veiBvKTtcbn1cblxuLy8gYm94LXNoYWRvd1xuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICBAaWYgbGVuZ3RoKCRzaGFkb3cpID49IDEge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaGFkb3csICRzaGFkb3cpO1xuICB9IEBlbHNle1xuICAgICRzaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC4zKTtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2hhZG93LCAkc2hhZG93KTtcbiAgfVxufVxuXG4vLyBhcHBlYXJhbmNlXG5AbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96KTtcbn1cblxuLy8gaHlwaGVuc1xuQG1peGluIGh5cGhlbnMoJHZhbHVlOiBhdXRvKSB7XG4gIC8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICR2YWx1ZSwgd2Via2l0IG1veik7XG59XG5cbi8vIGltYWdlLXJlbmRlcmluZ1xuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2ltYWdlLXJlbmRlcmluZ1xuQG1peGluIGltYWdlLXJlbmRlcmluZygkcmVuZGVyaW5nOiBjcmlzcC1lZGdlcykge1xuICBAaWYgJHJlbmRlcmluZyA9PSBjcmlzcC1lZGdlc3tcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7ICAgICAgICAgLyogRmlyZWZveCAqL1xuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsvKiBXZWJraXQgKG5vbi1zdGFuZGFyZCBuYW1pbmcpICovXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAgXG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyLXZhbHVlKGltYWdlLXJlbmRlcmluZywgd2Via2l0IG1veik7XG4gIH1cbn1cblxuLy8gVXNlciBzZWxlY3Rcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy91c2VyLXNlbGVjdFxuQG1peGluIHVzZXItc2VsZWN0KCRhcmc6IHRleHQpIHtcbiAgLy8gbm9uZSB8IHRleHQgfCBhbGwgfCBlbGVtZW50XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkYXJnKTtcbn1cblxuLy8gaHR0cDovL3d3dy5jc3MzZmlsZXMuY29tL2ZvbnQvXG4vLyAxIFRoZSBlb3QgZm9udGZpbGUuIENhbiBiZSBvbWl0dGVkIGlmIHlvdSBkb25gdCB3YW50IHRvIHN1cHBvcnQgSW50ZXJuZXQgRXhwbG9yZXIgcHJpb3IgdG8gdmVyc2lvbiA5IChpbmNsdWRpbmcgc2VtaWNvbG9uKS5cbi8vIDIgQ2FuIGFsc28gYmUgb21pdHRlZCBmb3IgSW50ZXJuZXQgRXhwbG9yZXIgPCA5LiA/aWVmaXggcHJldmVudHMgSUU2IGZyb20gaW50ZXJwcmV0aW5nIGFsbCBvZiB0aGUgZm9sbG93aW5nLiBJZiB0aGUgd2hvbGUgSUUgZmFtaWx5ICg2IHRvIDkpIHNob3VsZCBiZSBzdXBwb3J0ZWQsIDEgYW5kIDIgYXJlIG5lZWRlZC5cbi8vIDMgQ2FuIGJlIG9taXR0ZWQgaWYgaVBhZCB2ZXJzaW9ucyBwcmlvciB0byBpT1MgNC4yIHNob3VsZG7igJl0IGJlIHN1cHBvcnRlZC4gXG4vLyA0IFRoZSB0dGYgZm9udGZpbGUuIE5lY2Vzc2FyeSB0byBzdXBwb3J0IChNb2JpbGUpIFNhZmFyaSBhbmQgT3BlcmEuIFxuLy8gNSBUaGUgd29mZiBmb250ZmlsZSBmb3IgYWxsIG1vZGVybiBicm93c2VycyAoYmVzdCBjaG9pY2UpLlxuQG1peGluIGZvbnQtZmFjZSgkZm9udC1mYW1pbHksICRmaWxlLXBhdGgsICR3ZWlnaHQ6IG5vcm1hbCwgJHN0eWxlOiBub3JtYWwgKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIHNyYzogdXJsKCcjeyRmaWxlLXBhdGh9LmVvdCcpOyAvLyAxXG4gICAgc3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeCcpICAgICAgICAgICAgICAgZm9ybWF0KCdlb3QnKSwgLy8gMlxuICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSAgICAgIGZvcm1hdCgnc3ZnJyksIC8vIDNcbiAgICAgICAgIHVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKSwgLy8gNFxuICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTsgLy81XG4gIH1cbn1cblxuXG4vLyBCYWNrZ3JvdW5kLWltYWdlXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYmFja2dyb3VuZC1jbGlwKCRjbGlwKSB7XG4gIC8vIGJvcmRlci1ib3ggfCBwYWRkaW5nLWJveCB8IGNvbnRlbnQtYm94XG4gIEBpZiBsZW5ndGgoJGNsaXApID49IDEge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tncm91bmQtY2xpcCwgJGNsaXAsIHdlYmtpdCk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tncm91bmQtY2xpcCwgcGFkZGluZy1ib3gsIHdlYmtpdCk7XG4gIH1cbn1cblxuQG1peGluIGJhY2tncm91bmQtb3JpZ2luKCRvcmlnaW4uLi4pIHtcbiAgLy8gYm9yZGVyLWJveCB8IHBhZGRpbmctYm94IHwgY29udGVudC1ib3hcbiAgQGlmIGxlbmd0aCgkb3JpZ2luKSA+PSAxIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZ3JvdW5kLW9yaWdpbiwgJG9yaWdpbiwgd2Via2l0KTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2dyb3VuZC1vcmlnaW4sIGJvcmRlci1ib3gsIHdlYmtpdCk7XG4gIH1cbn1cblxuQG1peGluIGJhY2tncm91bmQtc2l6ZSgkc2l6ZS4uLikge1xuICAvLyA8bGVuZ3RoPiB8IGF1dG8gfCBjb3ZlciB8IGNvbnRhaW5cbiAgQGlmIGxlbmd0aCgkc2l6ZSkgPj0gMSB7XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2dyb3VuZC1zaXplLCAkc2l6ZSwgd2Via2l0KTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2dyb3VuZC1zaXplLCBjb3Zlciwgd2Via2l0KTtcbiAgfVxufVxuXG5cbi8vIEdyYWRpZW50c1xuLy8gRmlyZWZveCAxMCssIE9wZXJhIDExLjYrLCBDaHJvbWUgMjYrIGFuZCBJRTEwIGFsc28gc3VwcG9ydCB0aGUgbmV3IFwidG8gKHNpZGUpXCIgc3ludGF4LlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8g5rC05bmz5riQ5Y+Y77yM5LuO5bem5b6A5Y+zXG4vLyBAaW5jbHVkZSBncmFkaWVudC1ob3Jpem9udGFsKCMzMzMsICNjY2MpO1xuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJGdyYWRpZW50Li4uKXtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJGdyYWRpZW50KTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRncmFkaWVudCk7IC8vIE9wZXJhIDExLjEwXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGdyYWRpZW50KTsgLy8gU3RhbmRhcmQsIElFMTBcbn1cbi8vIOawtOW5s+a4kOWPmO+8jOS7juW3puW+gOWPs++8jOW5s+mTulxuLy8gQGluY2x1ZGUgZ3JhZGllbnQtaG9yaXpvbnRhbC1yZXBlYXRpbmcoIzMzMyA1JSwgI2NjYyAxMCUpO1xuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwtcmVwZWF0aW5nKCRncmFkaWVudC4uLil7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZ3JhZGllbnQpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1yZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KGxlZnQsICRncmFkaWVudCk7IC8vIE9wZXJhIDExLjEwXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRncmFkaWVudCk7IC8vIFN0YW5kYXJkLCBJRTEwXG59XG4vLyDlnoLnm7TmuJDlj5jvvIzku47kuIrlvoDkuItcbi8vIEBpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsKCMzMzMgMzAlLCAjY2NjKTtcbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkZ3JhZGllbnQuLi4pIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkZ3JhZGllbnQpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkZ3JhZGllbnQpOyAvLyBPcGVyYSAxMS4xMFxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkZ3JhZGllbnQpOyAvLyBTdGFuZGFyZCwgSUUxMFxufVxuLy8g5Z6C55u05riQ5Y+Y77yM5LuO5LiK5b6A5LiL77yM5bmz6ZO6XG4vLyBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbC1yZXBlYXRpbmcoIzMzMyAzMCUsICNjY2MgNTAlKTtcbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkZ3JhZGllbnQuLi4pIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvcCwgJGdyYWRpZW50KTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0b3AsICRncmFkaWVudCk7IC8vIE9wZXJhIDExLjEwXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkZ3JhZGllbnQpOyAvLyBTdGFuZGFyZCwgSUUxMFxufVxuLy8g6KeS5bqm5riQ5Y+YXG4vLyBAaW5jbHVkZSBncmFkaWVudC1hbmdsZSg0NWRlZywgIzMzMyAzMCUsICNjY2MpO1xuQG1peGluIGdyYWRpZW50LWFuZ2xlKCRncmFkaWVudC4uLikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZ3JhZGllbnQpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGdyYWRpZW50KTsgLy8gT3BlcmEgMTEuMTBcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRncmFkaWVudCk7IC8vIFN0YW5kYXJkLCBJRTFcbn1cbi8vIOinkuW6pua4kOWPmFxuLy8gQGluY2x1ZGUgZ3JhZGllbnQtYW5nbGUoNDVkZWcsICMzMzMgMzAlLCAjY2NjIDUwJSk7XG5AbWl4aW4gZ3JhZGllbnQtYW5nbGUtcmVwZWF0aW5nKCRncmFkaWVudC4uLikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoJGdyYWRpZW50KTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgkZ3JhZGllbnQpOyAvLyBPcGVyYSAxMS4xMFxuICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KCRncmFkaWVudCk7IC8vIFN0YW5kYXJkLCBJRTFcbn1cbi8vIOW+hOWQkea4kOWPmO+8jOWPr+S7peWGmeeCueeugOWNleeahFxuLy8g5aaC77yaQGluY2x1ZGUgZ3JhZGllbnQtcmFkaWFsKCMwMEYsI0ZGRik7XG4vLyDogIxAaW5jbHVkZSBncmFkaWVudC1yYWRpYWwoZmFydGhlc3Qtc2lkZSBjaXJjbGUgYXQgcmlnaHQsIzAwRiwjRkZGKTvov5nnp43nmoTlsIbkuI3kvJrlhbzlrrnvvIzmiYDku6XkuI3opoHosIPnlKjov5nkuKrvvIzlj6/ku6Xljrvmib7lt6XlhbfnlJ/miJBcbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGdyYWRpZW50Li4uKXtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoJGdyYWRpZW50KTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tcmFkaWFsLWdyYWRpZW50KCRncmFkaWVudCk7IC8vIE9wZXJhIDExLjEwXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgkZ3JhZGllbnQpOyAvLyBTdGFuZGFyZCwgSUUxXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cblxuLy8gVHJhbnNmb3JtXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eS4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlICgkc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gIC8vIGZsYXQgfCBwcmVzZXJ2ZS0zZFxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSk7XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJvdGF0ZVxuQG1peGluIHJvdGF0ZSgkZGVncmVlcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHJvdGF0ZSgkZGVncmVlcykpO1xufVxuQG1peGluIHJvdGF0ZTNEKCRkZWdyZWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgcm90YXRlM0QoJGRlZ3JlZXMpKTtcbn1cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgcm90YXRlWCgkZGVncmVlcykpO1xufVxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCByb3RhdGVZKCRkZWdyZWVzKSk7XG59XG5AbWl4aW4gcm90YXRlWigkZGVncmVlcykge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHJvdGF0ZVooJGRlZ3JlZXMpICk7XG59XG5cbi8vIHNjYWxlXG5AbWl4aW4gc2NhbGUoJHJhdGlvLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgc2NhbGUoJHJhdGlvKSk7XG59XG5AbWl4aW4gc2NhbGUzRCgkcmF0aW8uLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCBzY2FsZTNEKCRyYXRpbykpO1xufVxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCBzY2FsZVgoJHJhdGlvKSk7XG59XG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHNjYWxlWSgkcmF0aW8pKTtcbn1cbkBtaXhpbiBzY2FsZVooJHJhdGlvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgc2NhbGVaKCRyYXRpbykpO1xufVxuXG4vLyB0cmFuc2xhdGVcbkBtaXhpbiB0cmFuc2xhdGUoJHB4Li4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgdHJhbnNsYXRlKCRweCkpO1xufVxuQG1peGluIHRyYW5zbGF0ZTNEKCRweC4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHRyYW5zbGF0ZTNEKCRweCkpO1xufVxuQG1peGluIHRyYW5zbGF0ZVgoJHB4KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgdHJhbnNsYXRlWCgkcHgpKTtcbn1cbkBtaXhpbiB0cmFuc2xhdGVZKCRweCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHRyYW5zbGF0ZVkoJHB4KSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlWigkcHgpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCB0cmFuc2xhdGVaKCRweCkpO1xufVxuXG4vLyBza2V3XG4vLyBza2V35pe25LiA6Iis5Lya5pyJ6ZSv6b2/5LuA5LmI55qE77yM6Kej5Yaz5pa55rOV5piv5re75YqgYmFja2ZhY2UtdmlzaWJpbGl0eeS4umhpZGRlblxuLy8g6K+m6KeBIGh0dHBzOi8vZ2l0aHViLmNvbS90d2l0dGVyL2Jvb3RzdHJhcC9pc3N1ZXMvNTMxOVxuQG1peGluIHNrZXcoJGRlZ3JlZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCBza2V3KCRkZWdyZWVzKSk7XG4gIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHk7XG59XG5AbWl4aW4gc2tld1goJGRlZ3JlZXMpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCBza2V3WCgkZGVncmVlcykpO1xuICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5O1xufVxuQG1peGluIHNrZXdZKCRkZWdyZWVzKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgc2tld1koJGRlZ3JlZXMpKTtcbiAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eTtcbn1cblxuLy8gbWF0cml4XG5AbWl4aW4gbWF0cml4KCRhcmdzLi4uKXtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCBtYXRyaXgoJGFyZ3MpKTtcbn1cbkBtaXhpbiBtYXRyaXgzRCgkYXJncy4uLil7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgbWF0cml4M0QoJGFyZ3MpKTtcbn1cblxuXG4vLyBwZXJzcGVjdGl2ZVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xuICAvLyBub25lIHwgPGxlbmd0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlKTtcbn1cblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHk6aGlkZGVuKXtcbiAgLy8gdmlzaWJsZSB8IGhpZGRlblxuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSk7XG59XG5cblxuLy8gdHJhbnNpdGlvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkcHJvcGVydGllczogYWxsIDAuM3MgZWFzZTtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcyk7XG4gIH1cbn1cblxuLy8g6buY6K6k5LiN5o+Q5L6bbW9655qE77yM5aaC5pyJ6ZyA6KaB6K+36Ieq6KGM5re75YqgXG4vLyAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb25Qcm9wZXJ0eU5hbWVzKCRwcm9wZXJ0aWVzLCBtb3opO1xuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uUHJvcGVydHlOYW1lcygkcHJvcGVydGllcywgd2Via2l0KTtcbiAgQGlmICRwcmVmaXhGb3JPcGVyYSB7XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvblByb3BlcnR5TmFtZXMoJHByb3BlcnRpZXMsIG8pO1xuICB9XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb25Qcm9wZXJ0eU5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gdGltaW5nLWZ1bmN0aW9uXG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy90aW1pbmctZnVuY3Rpb25cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcyk7XG59XG5cblxuLy8gYW5pbWF0aW9uXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYW5pbWF0aW9uICgkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1uYW1lICgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24gKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICR0aW1lcyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuICAvLyB0aW1pbmctZnVuY3Rpb25cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3RpbWluZy1mdW5jdGlvblxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkgKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50ICgkdmFsdWVzLi4uKSB7XG4gIC8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGlmIGxlbmd0aCgkdmFsdWVzKSA+PSAxIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xuICB9XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uICgkZGlyZWN0aW9ucy4uLikge1xuICAvLyBub3JtYWwgfCBhbHRlcm5hdGUgfCByZXZlcnNlIHwgYWx0ZXJuYXRlLXJldmVyc2VcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSAoJG1vZGVzLi4uKSB7XG4gIC8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGlmIGxlbmd0aCgkbW9kZXMpID49IDEge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcyk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsIGZvcndhcmRzKTtcbiAgfVxufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUgKCRzdGF0ZXMuLi4pIHtcbiAgLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaWYgbGVuZ3RoKCRtb2RlcykgPj0gMSB7XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgcGF1c2VkKTtcbiAgfVxufVxuXG4vLyDlnKjlkIToh6rnmoRAaWbliKTmlq3ph4zpnaLvvIzlhYjnpoHnlKjmiYDmnInnmoTliY3nvIDvvIznhLblkI7lvIDlkK/lr7nlupTnmoTliY3nvIBcbi8vIOacgOWQjui+k+WHuuagh+WHhueahOaXtuWAme+8jOebtOaOpeemgeeUqOaJgOacieeahOWJjee8gO+8jOW8gOWQr+agh+WHhlxuQG1peGluIGtleWZyYW1lcygkbmFtZSwgJHByZWZpeGVzOiB3ZWJraXQgbyApIHtcbiAgJG9yaWdpbmFsUHJlZml4Rm9yV2Via2l0OiAkcHJlZml4Rm9yV2Via2l0O1xuICAkb3JpZ2luYWxQcmVmaXhGb3JNb3ppbGxhOiAkcHJlZml4Rm9yTW96aWxsYTtcbiAgJG9yaWdpbmFsUHJlZml4Rm9yTWljcm9zb2Z0OiAkcHJlZml4Rm9yTWljcm9zb2Z0O1xuICAkb3JpZ2luYWxQcmVmaXhGb3JPcGVyYTogJHByZWZpeEZvck9wZXJhO1xuICAkb3JpZ2luYWxQcmVmaXhObzogJHByZWZpeE5vO1xuICBcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCBhbmQgJG9yaWdpbmFsUHJlZml4Rm9yV2Via2l0ID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICAgJHByZWZpeEZvcldlYmtpdDogdHJ1ZTtcbiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHByZWZpeCA9PSBtb3ogYW5kICRvcmlnaW5hbFByZWZpeEZvck1vemlsbGEgPT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgICAkcHJlZml4Rm9yTW96aWxsYTogdHJ1ZTtcbiAgICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHByZWZpeCA9PSBtcyBhbmQgJG9yaWdpbmFsUHJlZml4Rm9yTWljcm9zb2Z0ID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICAgJHByZWZpeEZvck1pY3Jvc29mdDogdHJ1ZTtcbiAgICAgIEAtbXMta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkcHJlZml4ID09IG8gYW5kICRvcmlnaW5hbFByZWZpeEZvck9wZXJhID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICAgJHByZWZpeEZvck9wZXJhOiB0cnVlO1xuICAgICAgQC1vLWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgJHByZWZpeE5vOiB0cnVlO1xuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICRwcmVmaXhGb3JXZWJraXQ6ICAgICAgICRvcmlnaW5hbFByZWZpeEZvcldlYmtpdDtcbiAgJHByZWZpeEZvck1vemlsbGE6ICAgICAgJG9yaWdpbmFsUHJlZml4Rm9yTW96aWxsYTtcbiAgJHByZWZpeEZvck1pY3Jvc29mdDogICAgJG9yaWdpbmFsUHJlZml4Rm9yTWljcm9zb2Z0O1xuICAkcHJlZml4Rm9yT3BlcmE6ICAgICAgICAkb3JpZ2luYWxQcmVmaXhGb3JPcGVyYTtcbiAgJHByZWZpeE5vOiAgICAgICAgICAgICAgJG9yaWdpbmFsUHJlZml4Tm87XG59XG5cbi8vIOS4umFuaW1hdGXmqKHlnZforr7orqFcbiVhbmltYXRlZCB7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1kdXJhdGlvbigxcyk7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1maWxsLW1vZGUoYm90aCk7XG59XG5cbi8vZmxleFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gZmxleC1vbGTlkoxmbGV4LW1pZOWIhuWIq+W6lOeUqOS4jm9sZOeJiOacrOWSjG1pZOeJiOacrFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gZmxleC1vbGQoJHByb3BlcnR5LCR2YWx1ZSwkcHJvcGVydHlQcmVmaXg6dHJ1ZSl7XG4gIEBpZiAkZmxleE9sZCB7XG4gICAgQGlmICRwcm9wZXJ0eVByZWZpeCB7XG4gICAgICAtd2VraXQtI3skcHJvcGVydHl9IDogJHZhbHVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgI3skcHJvcGVydHl9IDogLXdlYmtpdC0jeyR2YWx1ZX07XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmbGV4LW1pZCgkcHJvcGVydHksJHZhbHVlLCRwcm9wZXJ0eVByZWZpeDp0cnVlKXtcbiAgQGlmICRmbGV4TWlkIHtcbiAgICBAaWYgJHByb3BlcnR5UHJlZml4IHtcbiAgICAgIC1tcy0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAjeyRwcm9wZXJ0eX0gOiAtbXMtI3skdmFsdWV9O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzcGxheS1mbGV4KCRmbGV4OiBmbGV4KSB7XG4gIC8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJGZsZXggPT0gZmxleCAge1xuICAgIEBpbmNsdWRlIGZsZXgtb2xkKGRpc3BsYXksYm94LGZhbHNlKTtcbiAgICBAaW5jbHVkZSBmbGV4LW1pZChkaXNwbGF5LGZsZXhib3gsZmFsc2UpO1xuICB9XG4gIEBpZiAkZmxleCA9PSBpbmxpbmUtZmxleCB7XG4gICAgQGluY2x1ZGUgZmxleC1vbGQoZGlzcGxheSxpbmxpbmUtYm94LGZhbHNlKTtcbiAgICBAaW5jbHVkZSBmbGV4LW1pZChkaXNwbGF5LGlubGluZS1mbGV4Ym94LGZhbHNlKTtcbiAgfVxuICBAaW5jbHVkZSBwcmVmaXhlci12YWx1ZShkaXNwbGF5LCRmbGV4KTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IGNvbHVtbil7XG4gIC8vIHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2VcbiAgQGlmICRkaXJlY3Rpb24gPT0gcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LW9sZChib3gtb3JpZW50LGhvcml6b250YWwpO1xuICB9XG4gIEBpZiAkZGlyZWN0aW9uID09IGNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1vbGQoYm94LW9yaWVudCx2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmICRkaXJlY3Rpb24gPT0gcm93LXJldmVyc2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtb2xkKGJveC1vcmllbnQsaG9yaXpvbnRhbCk7XG4gICAgQGluY2x1ZGUgZmxleC1vbGQoYm94LWRpcmVjdGlvbixyZXZlcnNlKTtcbiAgfVxuICBAaWYgJGRpcmVjdGlvbiA9PSBjb2x1bW4tcmV2ZXJzZSB7XG4gICAgQGluY2x1ZGUgZmxleC1vbGQoYm94LW9yaWVudCx2ZXJ0aWNhbCk7XG4gICAgQGluY2x1ZGUgZmxleC1vbGQoYm94LWRpcmVjdGlvbixyZXZlcnNlKTtcbiAgfVxuICBAaW5jbHVkZSBmbGV4LW1pZChmbGV4LWRpcmVjdGlvbiwgJGRpcmVjdGlvbik7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkd3JhcDogd3JhcCl7XG4gIC8vIG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2VcbiAgLy8gb2xk54mI5pys5LiN5pSv5oyBd3JhcC1yZXZlcnNlXG4gIEBpZiAkd3JhcCA9PSB3cmFwIHtcbiAgICBAaW5jbHVkZSBmbGV4LW9sZChib3gtbGluZXMsIG11bHRpcGxlKTtcbiAgfVxuICBAaWYgJHdyYXAgPT0gbm93cmFwIHtcbiAgICBAaW5jbHVkZSBmbGV4LW9sZChib3gtbGluZXMsIHNpbmdsZSk7XG4gIH1cbiAgQGluY2x1ZGUgZmxleC1taWQoZmxleC13cmFwLCAkd3JhcCk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHdyYXAsIHdlYmtpdCBtb3opO1xufVxuXG4vLyBmbGV4LWZsb3cgaXMgYSBzaG9ydGhhbmQgZm9yIGZsZXgtZGlyZWN0aW9uIGFuZCBmbGV4LXdyYXBcbkBtaXhpbiBmbGV4LWZsb3coJGZsb3c6IHJvdyB3cmFwKXtcbiAgLy8gZGlyZWN0aW9uIHx8IHdyYXBcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkZmxvdywgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBvcmRlcigkbnVtOiAtMSl7XG4gIEBpbmNsdWRlIGZsZXgtb2xkKGJveC1vcmRpbmFsLWdyb3VwLCRudW0pO1xuICBAaW5jbHVkZSBmbGV4LW1pZChmbGV4LW9yZGVyLCRudW0pO1xuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJG51bSwgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJGFsaWduOiBzcGFjZS1iZXR3ZWVuKXtcbiAgLy8gZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZFxuICBAaWYgJGFsaWduID09IGZsZXgtc3RhcnQge1xuICAgIEBpbmNsdWRlIGZsZXgtb2xkKGJveC1wYWNrLHN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LW1pZChmbGV4LXBhY2ssc3RhcnQpO1xuICB9IEBlbHNlIGlmICRhbGlnbiA9PSBmbGV4LWVuZCB7XG4gICAgQGluY2x1ZGUgZmxleC1vbGQoYm94LXBhY2ssZW5kKTtcbiAgICBAaW5jbHVkZSBmbGV4LW1pZChmbGV4LXBhY2ssZW5kKTtcbiAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gc3BhY2UtYmV0d2VlbiB7XG4gICAgQGluY2x1ZGUgZmxleC1vbGQoYm94LXBhY2ssanVzdGlmeSk7XG4gICAgQGluY2x1ZGUgZmxleC1taWQoZmxleC1wYWNrLGp1c3RpZnkpO1xuICB9IEBlbHNlIGlmICRhbGlnbiA9PSBzcGFjZS1hcm91bmQge1xuICAgIEBpbmNsdWRlIGZsZXgtbWlkKGZsZXgtcGFjayxkaXN0cmlidXRlKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZmxleC1vbGQoYm94LXBhY2ssJGFsaWduKTtcbiAgICBAaW5jbHVkZSBmbGV4LW1pZChmbGV4LXBhY2ssJGFsaWduKTtcbiAgfVxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICRhbGlnbiwgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBhbGlnbi1pdGVtcygkYWxpZ246IGNlbnRlcil7XG4gIC8vIGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuICBAaWYgJGFsaWduID09IGZsZXgtc3RhcnQge1xuICAgIEBpbmNsdWRlIGZsZXgtb2xkKGJveC1hbGlnbixzdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1taWQoZmxleC1hbGlnbixzdGFydCk7XG4gIH0gQGVsc2UgaWYgJGFsaWduID09IGZsZXgtZW5kIHtcbiAgICBAaW5jbHVkZSBmbGV4LW9sZChib3gtYWxpZ24sZW5kKTtcbiAgICBAaW5jbHVkZSBmbGV4LW1pZChmbGV4LWFsaWduLGVuZCk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtb2xkKGJveC1hbGlnbiwkYWxpZ24pO1xuICAgIEBpbmNsdWRlIGZsZXgtbWlkKGZsZXgtYWxpZ24sJGFsaWduKTtcbiAgfVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJGFsaWduLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduOiBmbGV4LXN0YXJ0KXtcbiAgLy8gc3RyZXRjaCB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmRcbiAgLy8gb2xk5LiN5pSv5oyBXG4gIEBpZiAkYWxpZ24gPT0gZmxleC1zdGFydCB7XG4gICAgQGluY2x1ZGUgZmxleC1taWQoZmxleC1saW5lLXBhY2ssc3RhcnQpO1xuICB9IEBlbHNlIGlmICRhbGlnbiA9PSBmbGV4LWVuZCB7XG4gICAgQGluY2x1ZGUgZmxleC1taWQoZmxleC1saW5lLXBhY2ssZW5kKTtcbiAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gc3BhY2UtYmV0d2VlbiB7XG4gICAgQGluY2x1ZGUgZmxleC1taWQoZmxleC1saW5lLXBhY2ssanVzdGlmeSk7XG4gIH0gQGVsc2UgaWYgJGFsaWduID09IHNwYWNlLWFyb3VuZCB7XG4gICAgQGluY2x1ZGUgZmxleC1taWQoZmxleC1saW5lLXBhY2ssZGlzdHJpYnV0ZSk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtbWlkKGZsZXgtbGluZS1wYWNrLCRhbGlnbik7XG4gIH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJGFsaWduLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGFsaWduLXNlbGYoJGFsaWduOiBmbGV4LXN0YXJ0KXtcbiAgLy8gYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuICAvLyBvbGTkuI3mlK/mjIFcbiAgQGlmICRhbGlnbiA9PSBmbGV4LXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBmbGV4LW1pZChmbGV4LWl0ZW0tYWxpZ24sc3RhcnQpO1xuICB9IEBlbHNlIGlmICRhbGlnbiA9PSBmbGV4LWVuZCB7XG4gICAgQGluY2x1ZGUgZmxleC1taWQoZmxleC1pdGVtLWFsaWduLGVuZCk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtbWlkKGZsZXgtaXRlbS1hbGlnbiwkYWxpZ24pO1xuICB9XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICRhbGlnbiwgd2Via2l0IG1veik7XG59XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9mbGV4XG5AbWl4aW4gZmxleCgkYXJnKXtcbiAgLy9pbml0aWFsIHwgYXV0byB8IG5vbmUgfCBudW1iZXJcbiAgLy8g5Y+q5Lyg5YWl5pWw5a2X5YiZ5LiJ5aSn54mI5pys6YO95pSv5oyBXG4gIEBpZiB0eXBlLW9mKCRhcmcpID09IG51bWJlciB7XG4gICAgQGluY2x1ZGUgZmxleC1vbGQoYm94LWZsZXgsJGFyZyk7XG4gICAgQGluY2x1ZGUgZmxleC1taWQoZmxleCwkYXJnKTtcbiAgfVxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LCAkYXJnLCB3ZWJraXQgbW96KTtcbn1cblxuXG4vLyBtYXNrXG4vLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MtbWFza2luZy0xL1xuLy8gaHR0cDovL3VlZC5jdHJpcC5jb20vYmxvZy93cC1jb250ZW50L3dlYmtpdGNzcy9pbmRleC5odG1sXG4vLyBodHRwczovL3d3dy53ZWJraXQub3JnL2Jsb2cvMTgxL2Nzcy1tYXNrcy9cbi8vIG1hc2sgKGJhY2tncm91bmQpXG4vLyBtYXNrLWltYWdlIChiYWNrZ3JvdW5kLWltYWdlKVxuLy8gbWFzay1wb3NpdGlvbiAoYmFja2dyb3VuZC1wb3NpdGlvbilcbi8vIG1hc2stc2l6ZSAoYmFja2dyb3VuZC1zaXplKVxuLy8gbWFzay1yZXBlYXQgKGJhY2tncm91bmQtcmVwZWF0KVxuLy8gbWFzay1jbGlwIChiYWNrZ3JvdW5kLWNsaXApXG4vLyBtYXNrLW9yaWdpbiAoYmFja2dyb3VuZC1vcmlnaW4pXG4vLyBtYXNrLWJveC1pbWFnZSAoYm9yZGVyLWltYWdlKVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG1hc2soJG1hc2suLi4pe1xuICBAaW5jbHVkZSBwcmVmaXhlcihtYXNrLCAkbWFzaywgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBtYXNrLWltYWdlKCRpbWFnZS4uLil7XG4gIEBpbmNsdWRlIHByZWZpeGVyKG1hc2staW1hZ2UsICRpbWFnZSwgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBtYXNrLXBvc2l0aW9uKCRwb3NpdGlvbi4uLil7XG4gIEBpbmNsdWRlIHByZWZpeGVyKG1hc2stcG9zaXRpb24sICRwb3NpdGlvbiwgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBtYXNrLXJlcGVhdCgkcmVwZWF0Li4uKXtcbiAgQGluY2x1ZGUgcHJlZml4ZXIobWFzay1yZXBlYXQsICRyZXBlYXQsIHdlYmtpdCBtb3opO1xufVxuXG5AbWl4aW4gbWFzay1vcmlnaW4oJG9yaWdpbi4uLil7XG4gIEBpbmNsdWRlIHByZWZpeGVyKG1hc2stb3JpZ2luLCAkb3JpZ2luLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIG1hc2stY2xpcCgkY2xpcC4uLil7XG4gIEBpbmNsdWRlIHByZWZpeGVyKG1hc2stY2xpcCwgJGNsaXAsIHdlYmtpdCBtb3opO1xufVxuXG5AbWl4aW4gbWFzay10eXBlKCR0eXBlOiBsdW1pbmFuY2Upe1xuICBAaW5jbHVkZSBwcmVmaXhlcihtYXNrLXR5cGUsICR0eXBlLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIG1hc2stYm94LWltYWdlKCRib3gpe1xuICBAaW5jbHVkZSBwcmVmaXhlcihtYXNrLWJveC1pbWFnZSwgJGJveCwgd2Via2l0IG1veik7XG59XG5cblxuLy8gZmlsdGVyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gZmlsdGVyKCRmdW5jdGlvbi4uLil7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uPl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBmaWx0ZXItYmx1cigkcHgpe1xuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsIGJsdXIoJHB4KSwgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBmaWx0ZXItZ3JheXNjYWxlKCRwZXJjZW50OiAxMDAlKXtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCBncmF5c2NhbGUoJHBlcmNlbnQpLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGZpbHRlci1kcm9wLXNoYWRvdygkc2hhZG93Li4uKXtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCBkcm9wLXNoYWRvdygkc2hhZG93KSwgd2Via2l0IG1veik7XG59XG5cbi8vIEBpbmNsdWRlIHVybChcImZpbGVwYXRoXCIpO1xuQG1peGluIGZpbHRlci11cmwoJHVybCl7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgdXJsKCN7JHVybH0pLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGZpbHRlci1icmlnaHRuZXNzKCR2YWx1ZTogMC41KXtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCBicmlnaHRuZXNzKCR2YWx1ZSksIHdlYmtpdCBtb3opO1xufVxuXG5AbWl4aW4gZmlsdGVyLWNvbnRyYXN0KCR2YWx1ZSl7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgY29udHJhc3QoJHZhbHVlKSwgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBmaWx0ZXItaHVlLXJvdGF0ZSgkdmFsdWU6IDkwZGVnKXtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCBodWUtcm90YXRlKCR2YWx1ZSksIHdlYmtpdCBtb3opO1xufVxuXG5AbWl4aW4gZmlsdGVyLWludmVydCgkdmFsdWU6IDEwMCUpe1xuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsIGludmVydCgkdmFsdWUpLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGZpbHRlci1vcGFjaXR5KCR2YWx1ZSl7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgb3BhY2l0eSgkdmFsdWUpLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGZpbHRlci1zYXR1cmF0ZSgkdmFsdWUpe1xuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsIHNhdHVyYXRlKCR2YWx1ZSksIHdlYmtpdCBtb3opO1xufVxuXG5AbWl4aW4gZmlsdGVyLXNlcGlhKCR2YWx1ZTogMTAwJSl7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgc2VwaWEoJHZhbHVlKSwgd2Via2l0IG1veik7XG59XG5cblxuLy9jb2x1bW5zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gY29sdW1ucygkYXJnKSB7XG4gIC8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+IHx8IDxjb2x1bW4tY291bnQ+ICYmIDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3opO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcbiAgLy8gYXV0byB8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4gIC8vIGF1dG8gfCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4gIC8vIG5vcm1hbCB8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZ2FwLCAkbGVuZ3RoLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGJhbGFuY2UpIHtcbiAgLy8gYXV0byB8IGJhbGFuY2VcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucy1maWxsLCAkYXJnLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmc6IDFweCBzb2xpZCAkZ3JheSkge1xuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96KTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuICAvLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veik7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3opO1xufVxuXG5AbWl4aW4gY29sdW1uLXNwYW4oJGFyZzogbm9uZSkge1xuICAvLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veik7XG59XG5cblxuLy8gd2Via2l0XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIHRleHRcbkBtaXhpbiB0ZXh0LWZpbGwtY29sb3IoJGNvbG9yKXtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1maWxsLWNvbG9yLCAkY29sb3IsIHdlYmtpdCk7XG59XG5AbWl4aW4gdGV4dC1zdHJva2UtY29sb3IoJGNvbG9yKXtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1zdHJva2UtY29sb3IsICRjb2xvciwgd2Via2l0KTtcbn1cbkBtaXhpbiB0ZXh0LXN0cm9rZS13aWR0aCgkd2lkdGgpe1xuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LXN0cm9rZS1jb2xvciwgJHdpZHRoLCB3ZWJraXQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWNvbGxhcHNlKCR2YWx1ZTogY29sbGFwc2Upe1xuICAvLyBjb2xsYXBzZSB8IHNlcGFyYXRlXG4gIEBpbmNsdWRlIHByZWZpeGVyKG1hcmdpbi1jb2xsYXBzZSwgJHZhbHVlLCB3ZWJraXQpO1xufVxuXG4vLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9zYWZhcmkvZG9jdW1lbnRhdGlvbi9BcHBsZUFwcGxpY2F0aW9ucy9SZWZlcmVuY2UvU2FmYXJpQ1NTUmVmL0FydGljbGVzL1N0YW5kYXJkQ1NTUHJvcGVydGllcy5odG1sIy8vYXBwbGVfcmVmL2RvYy91aWQvVFAzMDAwMTI2Ni1TVzE2XG5AbWl4aW4gYm94LXJlZmxlY3QoJHJlZmxlY3Q6IGJlbG93IDFweCl7XG4gIC8vIGRpcmVjdGlvbiAgb2Zmc2V0ICBtYXNrLWJveC1pbWFnZTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXJlZmxlY3QsICRyZWZsZWN0LCB3ZWJraXQpO1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHNldHRpbmcgY3NzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8v5byA5YWz6K6+572uXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbHRlNzogICAgZmFsc2UgIWRlZmF1bHQ7ICAvL+aYr+WQpuWFvOWuuWllNi03XG4kZmlsdGVyOiAgIGZhbHNlICFkZWZhdWx0OyAvL+aYr+WQpuS4umllNi045byA5ZCv5ruk6ZWc5YW85a6577yM5bi455So5LqO5riQ5Y+Y6IOM5pmvIFxuJHByaW50U3R5bGVTd2l0Y2g6ICB0cnVlICFkZWZhdWx0Oy8v5piv5ZCm5byA5ZCv5omT5Y2w5qC35byPXG5cbi8vZm9udCDnm7jlhbNcbi8vLS0tLS0tLS0tLS0tLS0tLVxuJGJhc2VGb250U2l6ZTogICAgMTZweCAhZGVmYXVsdDtcbiRiYXNlTGluZUhlaWdodDogIDEuNSAhZGVmYXVsdDtcbiRiYXNlRm9udEZhbWlseTogIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBUYWhvbWEsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udENuOiAgXCJTaW1TdW5cIjsgLy/lrovkvZNcbiRmb250WWFIZWk6IFwiTWljcm9zb2Z0IFlhaGVpXCI7IC8v5b6u6L2v6ZuF6buRXG4kZm9udEhlaVRpOiBcIlNpbUhlaVwiOyAvL+m7keS9k1xuXG4vL+WFg+e0oOS4iuS4i+mXtOi3nVxuLy8tLS0tLS0tLS0tLS0tLS0tXG4kYmFzZUdhcDogMS4yNWVtICFkZWZhdWx0O1xuXG4vL+WfuuacrOminOiJslxuLy8tLS0tLS0tLS0tLS0tLS0tXG4kYmxhY2s6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGdyYXlEYXJrZXI6ICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRncmF5RGFyazogICAgICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG4kZ3JheTogICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJGdyYXlMaWdodDogICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR3aGl0ZTogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRyZWQ6ICAgICAgICAgICAgICAgICAgICNjYzMzMDAgIWRlZmF1bHQ7XG4kYmx1ZTogICAgICAgICAgICAgICAgICAjMDBBM0NGICFkZWZhdWx0O1xuJGJsdWVEYXJrOiAgICAgICAgICAgICAgIzAwNjRjZCAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAgICAgICAgICAgICAgICNGNDc4MzcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgICAgICAgICAgICAgICAjNTFCMTQ4ICFkZWZhdWx0O1xuJHllbGxvdzogICAgICAgICAgICAgICAgI2ZmYzQwZCAhZGVmYXVsdDtcbiRwaW5rOiAgICAgICAgICAgICAgICAgICNjMzMyNWYgIWRlZmF1bHQ7XG4kcHVycGxlOiAgICAgICAgICAgICAgICAjN2E0M2I2ICFkZWZhdWx0O1xuXG4kcHJpbWFyeTogICAgICAgICAgICAgICAjMDA3OGU3ICFkZWZhdWx0O1xuXG4vL2xpbmtcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRsaW5rQ29sb3I6ICAgICAgICM5ZmM1NWMgIWRlZmF1bHQ7XG5cbi8vc2NhZmZvbGRpbmdcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRib2R5QmdDb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJHRleHRDb2xvcjogICAgICAkZ3JheURhcmsgIWRlZmF1bHQ7XG5cbi8vcGxhY2Vob2xkZXJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwbGFjZWhvbGRlcjogICAgdHJ1ZSAkZ3JheSAhZGVmYXVsdDtcblxuLy9yYWRpdXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRiYXNlUmFkaXVzOiAgICA1cHggIWRlZmF1bHQ7XG4kc21hbGxSYWRpdXM6ICAgM3B4ICFkZWZhdWx0O1xuXG4vL3otaW5kZXhcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR6aW5kZXhEcm9wZG93bjogICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4Rml4ZWRUb3BiYXI6ICAgICAxMDEwICFkZWZhdWx0O1xuJHppbmRleFRvb2x0aXA6ICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXhBbGVydDogICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4TW9kYWw6ICAgICAgICAgICAxMTAwICFkZWZhdWx0O1xuXG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuLy8gbWVkaWEgcXVlcmllcyBzY3NzXG4vLyBBdXRob3I6IFJhZmFsIEJyb21pcnNraVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3BhcmFub2lkYS9zYXNzLW1lZGlhcXVlcmllcy9ibG9iL21hc3Rlci9fbWVkaWEtcXVlcmllcy5zY3NzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuLy8gc2NyZWVuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5AbWl4aW4gc2NyZWVuKCRyZXNNaW4sICRyZXNNYXgpXG57XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRyZXNNaW4pIGFuZCAobWF4LXdpZHRoOiAkcmVzTWF4KVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1heC1zY3JlZW4oJHJlcylcbntcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHJlcylcbiAge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtaW4tc2NyZWVuKCRyZXMpXG57XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRyZXMpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gc2NyZWVuLWhlaWdodCgkcmVzTWluLCAkcmVzTWF4KVxue1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWhlaWdodDogJHJlc01pbikgYW5kIChtYXgtaGVpZ2h0OiAkcmVzTWF4KVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1heC1zY3JlZW4taGVpZ2h0KCRyZXMpXG57XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAkcmVzKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1pbi1zY3JlZW4taGVpZ2h0KCRyZXMpXG57XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiAkcmVzKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG4vLyBoZHBpXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG4vLyBCYXNlZCBvbiBib3VyYm9uIGhpZHBpLW1lZGlhLXF1ZXJpZXMgZmlsZSAoaHR0cHM6Ly9naXRodWIuY29tL3Rob3VnaHRib3QvYm91cmJvbi9ibG9iL21hc3Rlci9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3MpXG4vLyBISURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5cbkBtaXhpbiBoZHBpKCRyYXRpbzogMS4zKVxue1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogI3tyb3VuZCgkcmF0aW8qOTYpfWRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7JHJhdGlvfWRwcHgpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfVxufSJdfQ== */