/*============================================================================================= 
	Company    : PT Web Architect Technology - webarq.com
	Document   : Stylesheet
	Author     : Harlan
==============================================================================================*/
/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : FrontEnd Team  
==============================================================================================*/
/* import bourbon - http://bourbon.io/docs */
/* color global
----------------------------------------------------------------------------------------------*/
body {
  color: #333;
  font-size: 12px;
  font-family: "Montserrat", sans-serif;
  position: relative;
  overflow-x: hidden;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

p {
  margin: 1px 0 15px;
  line-height: 20px;
}

input,
textarea,
select {
  font-size: 12px;
  border: none;
  border: 1px solid #d8d8d8;
  padding: 10px;
  margin: 0;
  color: #666;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type="checkbox"],
input[type="radio"] {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  opacity: 0;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 20px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 14px;
}

/* structure 
----------------------------------------------------------------------------------------------*/
section {
  position: relative;
}

.wrapper {
  width: 1600px;
  margin: 0 auto;
}

.wrapper.w126 {
  width: 1260px;
}

.wrapper.w130 {
  width: 1300px;
}

.wrapper.det_des {
  width: 1200px;
}

picture {
  display: block;
}

/* global
----------------------------------------------------------------------------------------------*/
.after_clear:after, header .lf_head:after, header .rh_head:after, header .rh_head nav:after, .sec_journey .right:after, .sec_journey .select_journey:after, .listing:after, .home_testimonial .slider_testimo .slide .info:after, .sec_service .blok_service:after, .list_result .item:after, .list_career .item:after, .form_box .row:after, .form_box .row .field:after, .map_info:after, .map_info .info .ket_map p:after, .package_sec:after, .package_sec .right_package .box .isi_info .col:after, .package_sec .right_package .box.book_now .isi_info .booknow_info .row:after, .package_sec .right_package .box.book_now .isi_info .booknow_info .row.links:after, .status_pop .row:after, .status_pop .row a:after, .form_sign .link_btn:after, .form_sign .link_ck:after, .box_signup:after, .list_step:after, .top_form:after, .pg_dashboard .box .isi_info .col:after, .box_booking:after, .box_booking .item_booking .top_book:after, .box_booking .item_booking .text_booking .link:after, .box_booking .item_booking .text_booking .ket_detail .col:after, footer .top_foot .mnu_foot ul:after, .top_box:after, .top_box .left:after, .amount:after, .detail_list .list .item:after,
.wrapper:after,
section:after {
  clear: both;
  display: block;
  content: " ";
}

.before_clear:before {
  clear: both;
  display: block;
  content: " ";
}

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

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

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

.italic {
  font-style: italic;
}

.bold {
  font-weight: bold;
}

.regular {
  font-weight: lighter;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.clear {
  clear: both;
}

.btn_round {
  display: inline-block;
  padding: 0 25px;
  line-height: 56px;
  min-width: 200px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  cursor: pointer;
  letter-spacing: 2px;
  position: relative;
}

.btn_round:after {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  content: "";
  background: #fff;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  z-index: 1;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  -ms-transform: scale(0.5);
  -o-transform: scale(0.5);
  transform: scale(0.5);
  opacity: 0;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.btn_round:before {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  content: "";
  border: 2px solid #fff;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  z-index: 1;
  opacity: 1;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.btn_round span {
  z-index: 2;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
  color: #fff;
  display: inline-block;
  position: relative;
}

.btn_round.orn:after {
  background: #b43302;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.btn_round.orn span {
  color: #fff;
}

.btn_round.orn:before {
  border-color: #b43302;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  opacity: 0;
}

.btn_round.orn:hover:after {
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  -ms-transform: scale(0.5);
  -o-transform: scale(0.5);
  transform: scale(0.5);
  opacity: 0;
}

.btn_round.orn:hover span {
  color: #b43302;
}

.btn_round.orn:hover:before {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.btn_round.ico i {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("../images/material/btn_plus.png") no-repeat top center;
  vertical-align: middle;
  margin-right: 5px;
  position: relative;
  z-index: 2;
}

.btn_round.ico:hover i {
  background-position: bottom center !important;
}

.btn_round.list_orn:after {
  background: #b43302;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  -ms-transform: scale(0.5);
  -o-transform: scale(0.5);
  transform: scale(0.5);
  opacity: 0;
}

.btn_round.list_orn span {
  color: #b43302;
}

.btn_round.list_orn:before {
  border-color: #b43302;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.btn_round.list_orn:hover:after {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.btn_round.list_orn:hover span {
  color: #fff;
}

.btn_round.list_orn:hover:before {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  opacity: 0;
}

.btn_round.little {
  line-height: 43px;
  min-width: auto;
  padding: 0 25px;
}

.btn_round.little:before {
  border-width: 1px;
}

.btn_round.little:before, .btn_round.little:after {
  border-radius: 22px;
  -webkit-border-radius: 22px;
  -moz-border-radius: 22px;
  -ms-border-radius: 22px;
  -o-border-radius: 22px;
}

.btn_round:hover {
  color: #fff;
}

.btn_round:hover:after {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.btn_round:hover:before {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  opacity: 0;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.btn_round:hover span {
  color: #333;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.btn_round:hover i {
  background-position: bottom center !important;
}

input[type="submit"].btn_round {
  cursor: pointer;
  display: inline-block;
}

input[type="submit"].btn_round.orn {
  background: #b43302;
  color: #fff;
}

input[type="submit"].btn_round.orn:hover {
  background: #962d08;
}

.ui-datepicker {
  z-index: 5 !important;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  background: rgba(180, 51, 2, 0.5);
  color: #fff;
  border-color: #b43302;
}

/* header
----------------------------------------------------------------------------------------------*/
header {
  position: fixed;
  left: 0;
  right: 0;
  display: block;
  z-index: 9;
  text-align: center;
  padding: 30px 0;
  border-bottom: 1px solid #d8d8d8;
  transition: padding 0.3s ease-out;
  -webkit-transition: padding 0.3s ease-out;
  -moz-transition: padding 0.3s ease-out;
  -ms-transition: padding 0.3s ease-out;
  -o-transition: padding 0.3s ease-out;
  background: #fff;
}

header .lf_head {
  float: left;
  margin-top: 16px;
  position: relative;
  z-index: 3;
}

header .lf_head .burger {
  float: left;
  padding-right: 20px;
  border-right: 1px solid #333;
  margin-right: 20px;
}

header .lf_head .burger .ico_brger {
  display: block;
  position: relative;
  width: 35px;
  height: 23px;
}

header .lf_head .burger .ico_brger span {
  height: 3px;
  display: block;
  width: 50%;
  background: #333;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  font-size: 0;
  position: absolute;
}

header .lf_head .burger .ico_brger span:nth-child(even) {
  left: 50%;
}

header .lf_head .burger .ico_brger span:nth-child(odd) {
  left: 0;
}

header .lf_head .burger .ico_brger span:nth-child(1), header .lf_head .burger .ico_brger span:nth-child(2) {
  top: 0;
}

header .lf_head .burger .ico_brger span:nth-child(3), header .lf_head .burger .ico_brger span:nth-child(4) {
  top: 0;
  bottom: 0;
  margin: auto;
}

header .lf_head .burger .ico_brger span:nth-child(5), header .lf_head .burger .ico_brger span:nth-child(6) {
  top: auto;
  bottom: 0;
}

header .lf_head .burger .ico_brger span:nth-child(2) {
  width: 0;
}

header .lf_head .burger .ico_brger:hover span {
  background: #b43302;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

header .lf_head .burger .ico_brger:hover span:nth-child(2) {
  width: 50%;
}

header .lf_head .burger .ico_brger:hover span:nth-child(4) {
  width: 0;
}

header .lf_head .burger .ico_brger.act span {
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

header .lf_head .burger .ico_brger.act span:nth-child(1),
header .lf_head .burger .ico_brger.act span:nth-child(6) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

header .lf_head .burger .ico_brger.act span:nth-child(2),
header .lf_head .burger .ico_brger.act span:nth-child(5) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

header .lf_head .burger .ico_brger.act span:nth-child(1) {
  left: 3px !important;
  top: 4px !important;
}

header .lf_head .burger .ico_brger.act span:nth-child(2) {
  left: calc(50% - 3px) !important;
  top: 4px !important;
  width: 50%;
}

header .lf_head .burger .ico_brger.act span:nth-child(3) {
  left: -50% !important;
  opacity: 0 !important;
}

header .lf_head .burger .ico_brger.act span:nth-child(4) {
  left: 100% !important;
  opacity: 0 !important;
}

header .lf_head .burger .ico_brger.act span:nth-child(5) {
  left: 3px !important;
  top: 16px !important;
}

header .lf_head .burger .ico_brger.act span:nth-child(6) {
  left: calc(50% - 3px) !important;
  top: 16px !important;
}

header .lf_head .burger .ico_brger.act:hover span:nth-child(2), header .lf_head .burger .ico_brger.act:hover span:nth-child(4) {
  width: 50%;
}

header .lf_head .ico_src {
  float: left;
  padding-right: 20px;
  border-right: 1px solid #333;
  margin-right: 20px;
}

header .lf_head .ico_src .btn_src {
  display: block;
  width: 23px;
  height: 22px;
  background: url("../images/material/src_head.png") no-repeat right top;
  cursor: pointer;
}

header .lf_head .ico_src:hover .btn_src {
  background-position: bottom left !important;
}

header .lf_head .lang {
  float: left;
  position: relative;
}

header .lf_head .lang .act {
  font-size: 14px;
  color: #333;
  line-height: 23px;
  padding-right: 20px;
  text-transform: uppercase;
  font-weight: 300;
  cursor: pointer;
  position: relative;
}

header .lf_head .lang .act:after {
  content: "";
  width: 10px;
  height: 6px;
  background: url("../images/material/arr_lang.png") no-repeat right bottom;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

header .lf_head .lang .drop {
  padding: 10px 10px 10px 2px;
  position: absolute;
  top: 100%;
  display: none;
}

header .lf_head .lang .drop a {
  font-size: 14px;
  color: #333;
  text-transform: uppercase;
  font-weight: 300;
}

header .lf_head .lang.idr {
  margin-left: 15px;
}

header .lf_head .lang.idr .drop {
  background: #fff;
  padding: 8px 5px 10px;
  left: -10px;
  right: 5px;
  box-shadow: 0 3px 12px -3px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 3px 12px -3px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 3px 12px -3px rgba(0, 0, 0, 0.4);
  -ms-box-shadow: 0 3px 12px -3px rgba(0, 0, 0, 0.4);
  -o-box-shadow: 0 3px 12px -3px rgba(0, 0, 0, 0.4);
}

header .lf_head .lang.idr .drop a {
  padding: 5px 0;
  display: inline-block;
  transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
}

header .lf_head .lang.idr .drop a:hover {
  transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  font-weight: 500;
}

header .logo {
  width: 440px;
  float: left;
  margin-right: 140px;
}

header .logo a img {
  display: none;
}

header .logo a img.stay {
  display: block;
}

header .rh_head {
  float: right;
  position: relative;
  z-index: 3;
}

header .rh_head nav {
  float: left;
  margin-top: 5px;
}

header .rh_head nav a {
  float: left;
  color: #333;
  font-size: 16px;
  font-weight: 500;
  padding: 10px;
  text-transform: uppercase;
  display: block;
  margin: 6px 0 0 25px;
}

header .rh_head nav a:first-child {
  margin-left: 0;
}

header .rh_head nav a.btn_round {
  padding: 0 25px;
  margin-top: 0;
}

header .rh_head nav a.btn_round:after {
  background: #b43302;
}

header .rh_head nav a.btn_round:before {
  border-color: #333;
}

header .rh_head nav a.btn_round span {
  color: #333;
}

header .rh_head nav a:hover {
  color: #b43302;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

header .rh_head nav a:hover.btn_round span {
  color: #fff;
}

header .rh_head.ind .logo {
  margin-right: 40px;
}

header.home {
  padding-top: 50px;
  background: transparent;
  border-bottom-color: transparent;
}

header.home .lf_head .burger {
  border-right: 1px solid #fff;
}

header.home .lf_head .burger .ico_brger span {
  background: #fff;
  /*&:nth-child(2) {opacity: 0;}*/
}

header.home .lf_head .burger .ico_brger span:nth-child(even) {
  left: 50%;
}

header.home .lf_head .burger .ico_brger span:nth-child(odd) {
  left: 0;
}

header.home .lf_head .burger .ico_brger span:nth-child(1), header.home .lf_head .burger .ico_brger span:nth-child(2) {
  top: 0;
}

header.home .lf_head .burger .ico_brger span:nth-child(3), header.home .lf_head .burger .ico_brger span:nth-child(4) {
  top: 0;
  bottom: 0;
  margin: auto;
}

header.home .lf_head .burger .ico_brger span:nth-child(5), header.home .lf_head .burger .ico_brger span:nth-child(6) {
  top: auto;
  bottom: 0;
}

header.home .lf_head .burger .ico_brger:hover span {
  background: #b43302;
}

header.home .lf_head .ico_src {
  border-color: #fff;
}

header.home .lf_head .ico_src .btn_src {
  display: block;
  width: 23px;
  height: 22px;
  background-position: left top;
  cursor: pointer;
}

header.home .lf_head .ico_src:hover .btn_src {
  background-position: bottom left !important;
}

header.home .lf_head .lang .act {
  color: #fff;
}

header.home .lf_head .lang .act:after {
  background: url("../images/material/arr_lang.png") no-repeat right top;
}

header.home .lf_head .lang .drop a {
  font-size: 14px;
  color: #fff;
  text-transform: uppercase;
}

header.home .lf_head .lang.idr .drop a {
  color: #333;
}

header.home .logo a img {
  display: block;
}

header.home .logo a img.stay {
  display: none;
}

header.home .rh_head nav a {
  color: #fff;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

header.home .rh_head nav a.btn_round:after {
  background: #fff;
}

header.home .rh_head nav a.btn_round:before {
  border-color: #fff;
}

header.home .rh_head nav a.btn_round span {
  color: #fff;
}

header.home .rh_head nav a:hover {
  color: #b43302;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

header.home .rh_head nav a:hover.btn_round span {
  color: #b43302;
}

header.home .bg_white {
  display: block;
}

header.float {
  padding-top: 30px;
  transition: padding 0.3s ease-out;
  -webkit-transition: padding 0.3s ease-out;
  -moz-transition: padding 0.3s ease-out;
  -ms-transition: padding 0.3s ease-out;
  -o-transition: padding 0.3s ease-out;
}

header.float .lf_head .burger {
  border-right: 1px solid #333;
}

header.float .lf_head .burger .ico_brger span {
  background: #333;
}

header.float .lf_head .burger .ico_brger:hover span {
  background: #b43302;
}

header.float .lf_head .ico_src {
  border-color: #333;
}

header.float .lf_head .ico_src .btn_src {
  background-position: right top !important;
}

header.float .lf_head .ico_src:hover .btn_src {
  background-position: bottom left !important;
}

header.float .lf_head .lang .act {
  color: #333;
}

header.float .lf_head .lang .act:after {
  background: url("../images/material/arr_lang.png") no-repeat right bottom;
}

header.float .lf_head .lang .drop a {
  color: #333;
}

header.float .logo {
  width: 440px;
  float: left;
}

header.float .logo a img {
  display: none;
}

header.float .logo a img.stay {
  display: block;
}

header.float .rh_head nav a {
  color: #333;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

header.float .rh_head nav a.btn_round:after {
  background: #b43302;
}

header.float .rh_head nav a.btn_round:before {
  border-color: #333;
}

header.float .rh_head nav a.btn_round span {
  color: #333;
}

header.float .rh_head nav a:hover {
  color: #b43302;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

header.float .rh_head nav a:hover.btn_round span {
  color: #fff;
}

header .bg_white {
  background: #fff;
  position: fixed;
  left: 0;
  right: 0;
  display: block;
  z-index: 2;
  height: 115px;
  top: 0;
  height: 0;
  border-bottom: 1px solid #d8d8d8;
  display: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
}

.wrap_drop,
.wrap_sideMn {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 999;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: none;
}

.overlay_src {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.6);
  z-index: 2;
  display: block;
}

.pop_src {
  background: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 150px;
  z-index: 3;
  padding: 46px 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.pop_src form {
  position: relative;
}

.pop_src form ::-webkit-input-placeholder {
  color: #dedede;
}

.pop_src form :-moz-placeholder {
  color: #dedede;
}

.pop_src form ::-moz-placeholder {
  color: #dedede;
}

.pop_src form :-ms-input-placeholder {
  color: #dedede;
}

.pop_src form input[type="text"] {
  border: none;
  font-size: 50px;
  color: #dedede;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}

.pop_src form input[type="submit"] {
  position: absolute;
  right: 0;
  padding: 0;
  top: 0;
  bottom: 0;
  width: 50px;
  cursor: pointer;
  background: url("../images/material/src_drop.png") no-repeat center;
  border: none;
}

.wrap_sideMn {
  display: none;
  z-index: 8;
}

.overlay_mn {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  background: url("../images/material/overlay_side.jpg") no-repeat center;
  z-index: 2;
  display: block;
}

.mnu_wrap {
  position: absolute;
  top: 55%;
  -webkit-transform: translateY(-55%);
  -moz-transform: translateY(-55%);
  -ms-transform: translateY(-55%);
  -o-transform: translateY(-55%);
  transform: translateY(-55%);
  left: 0;
  right: 0;
  z-index: 5;
}

.mnu_wrap nav {
  display: block;
  width: auto;
}

.mnu_wrap nav ul li {
  margin-bottom: 35px;
}

.mnu_wrap nav ul li a {
  font-family: "Lato", sans-serif;
  font-size: 65px;
  color: #fff;
  font-weight: 700;
  opacity: 0.25;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.mnu_wrap nav ul li .sub {
  display: none;
  position: absolute;
  left: 530px;
  top: 0;
  padding-left: 285px;
  padding-top: 30px;
  width: 400px;
  z-index: 6;
}

.mnu_wrap nav ul li .sub ul li {
  margin-bottom: 15px;
}

.mnu_wrap nav ul li .sub ul li a {
  font-size: 24px;
  font-weight: 400;
  opacity: 0.5;
}

.mnu_wrap nav ul li .sub ul li a:hover {
  font-weight: 700;
  opacity: 1;
}

.mnu_wrap nav ul li .sub .line {
  display: block;
  position: absolute;
  top: 40px;
  width: 0;
  height: 1px;
  background: #fff;
  left: 0;
}

.mnu_wrap nav ul li:last-child {
  margin-bottom: 0;
}

.mnu_wrap nav ul li:hover > a {
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
  opacity: 1;
}

.mnu_wrap .sign {
  display: none;
}

.mnu_wrap .bhs {
  display: none;
}

/* homepage
----------------------------------------------------------------------------------------------*/
.slideHome {
  position: relative;
  overflow: hidden;
}

.slideHome .slider .slide .images {
  position: relative;
  overflow: hidden;
}

.slideHome .slider .slide .images img {
  display: block;
  width: 100%;
}

.slideHome .slider .slide .images:after {
  content: "";
  position: absolute;
  display: block;
  /*background: url('../images/material/bg_opacity_slide.png') no-repeat bottom center;*/
  left: 0;
  right: 0;
  margin: auto;
  top: 0;
  bottom: 0;
  background-size: 100%;
  background: rgba(0, 0, 0, 0.2) url("../images/material/top_bg_banner.png") no-repeat top center;
}

.slideHome .slider .slide .capt_slide {
  position: absolute;
  z-index: 2;
  top: 38%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(0%);
  -moz-transform: translateY(0%);
  -ms-transform: translateY(0%);
  -o-transform: translateY(0%);
  transform: translateY(0%);
}

.slideHome .slider .slide .capt_slide h6 {
  color: #fff;
  max-width: 800px;
  font-family: "Nova Flat", cursive;
  font-size: 20px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.slideHome .slider .slide .capt_slide h1 {
  color: #fff;
  max-width: 800px;
  font-size: 60px;
  line-height: 72px;
  margin-bottom: 40px;
}

.slideHome .slider .slick-arrow {
  position: absolute;
}

.slideHome .slider .slick-dots {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 1600px;
  margin: auto;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: right;
}

.slideHome .slider .slick-dots li {
  display: block;
  margin-bottom: 10px;
}

.slideHome .slider .slick-dots li button {
  transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  -moz-transition: all ease-out 0.2s;
  -ms-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  border: none;
  background: #fff;
  font-size: 0;
  cursor: pointer;
  width: 42px;
  height: 5px;
  opacity: 0.4;
}

.slideHome .slider .slick-dots li.slick-active button, .slideHome .slider .slick-dots li:hover button {
  opacity: 1;
  transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  -moz-transition: all ease-out 0.2s;
  -ms-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
}

.slideHome.slideDestination .slider .slide .capt_slide {
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.slideHome.contentslider {
  width: 1600px;
  margin: 0 auto;
  margin-bottom: 100px;
}

.slideHome.contentslider .slider .slick-dots {
  width: 1400px;
}

.bannerslide .slideHome .slider .slide .images:after {
  background: none;
}

.pack_detail .wrapper.w126 {
  width: 1470px;
}

.sec_journey {
  padding: 20px 0;
  border-bottom: 1px solid #d8d8d8;
}

.sec_journey .left {
  margin-top: 11px;
}

.sec_journey .left h6 {
  font-size: 20px;
  color: #a0a0a0;
  font-family: "Nova Flat", cursive;
}

.sec_journey .left h6 span {
  display: block;
  font-size: 18.68px;
  color: #b43302;
}

.sec_journey .select_journey {
  float: left;
  margin-top: 1px;
}

.sec_journey .select_journey .sel {
  float: left;
}

.sec_journey .select_journey .sel select {
  width: 315px;
  padding: 20px 40px;
  font-size: 14px;
  color: #999;
  background: #fff url("../images/material/arr_select.png") no-repeat 90% center;
  border-right: none;
}

.sec_journey .select_journey .sel:nth-of-type(1) select {
  border-radius: 29px 0 0 29px;
  -webkit-border-radius: 29px 0 0 29px;
  -moz-border-radius: 29px 0 0 29px;
  -ms-border-radius: 29px 0 0 29px;
  -o-border-radius: 29px 0 0 29px;
}

.sec_journey .select_journey .sel:nth-of-type(3) select {
  border-radius: 0 29px 29px 0;
  -webkit-border-radius: 0 29px 29px 0;
  -moz-border-radius: 0 29px 29px 0;
  -ms-border-radius: 0 29px 29px 0;
  -o-border-radius: 0 29px 29px 0;
  border-right: 1px solid #d8d8d8;
}

.sec_journey .btn_round {
  float: left;
  margin-left: 40px;
}

.txt_top {
  width: 940px;
  margin: 0 auto;
}

.txt_top h6 {
  font-size: 14px;
  text-transform: uppercase;
  color: #b43302;
  font-family: "Nova Flat", cursive;
  margin-bottom: 20px;
  letter-spacing: 2px;
}

.txt_top h1 {
  font-size: 50px;
  color: #333;
  margin-bottom: 25px;
}

.txt_top p {
  font-size: 18px;
  line-height: 30px;
  color: #666;
  margin-bottom: 50px;
  font-family: "Lato", sans-serif;
}

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

.listing .box {
  float: left;
}

.listing .item {
  float: left;
}

.why_list {
  width: 1140px;
  margin: 0 auto;
}

.why_list .box {
  width: 340px;
  margin-right: 60px;
  text-align: center;
  margin-bottom: 60px;
  min-height: 215px;
}

.why_list .box:nth-of-type(3n) {
  margin-right: 0;
}

.why_list .box .ico {
  margin-bottom: 20px;
}

.why_list .box .ico img {
  display: block;
  margin: 0 auto;
  transition: all ease-out 0.3s;
  -webkit-transition: all ease-out 0.3s;
  -moz-transition: all ease-out 0.3s;
  -ms-transition: all ease-out 0.3s;
  -o-transition: all ease-out 0.3s;
}

.why_list .box .dec h3 {
  font-size: 20px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1.6px;
  line-height: 24px;
  margin-bottom: 20px;
}

.why_list .box .dec p {
  font-size: 16px;
  color: #999;
  margin-bottom: 0;
  font-family: "Lato", sans-serif;
}

.why_list .box:hover .ico img {
  -webkit-transform: scale(1.15);
  -moz-transform: scale(1.15);
  -ms-transform: scale(1.15);
  -o-transform: scale(1.15);
  transform: scale(1.15);
  transition: all ease-out 0.3s;
  -webkit-transition: all ease-out 0.3s;
  -moz-transition: all ease-out 0.3s;
  -ms-transition: all ease-out 0.3s;
  -o-transition: all ease-out 0.3s;
}

.home_about {
  padding: 90px 0 70px;
  position: relative;
}

.home_about .images {
  margin-top: 70px;
}

.home_why {
  padding: 70px 0 25px;
  background: #f2f2f2;
}

.home_service {
  padding: 85px 0 150px;
}

.home_service .nav_servive {
  text-align: center;
  display: block;
  margin: 55px 0;
}

.home_service .nav_servive .list {
  display: inline-block;
  border-bottom: 1px solid #d8d8d8;
}

.home_service .nav_servive .list a {
  display: inline-block;
  font-size: 13px;
  color: #999;
  padding: 10px 20px;
  font-size: 16px;
  margin-right: 15px;
  position: relative;
  transition: color ease-out 0s;
  -webkit-transition: color ease-out 0s;
  -moz-transition: color ease-out 0s;
  -ms-transition: color ease-out 0s;
  -o-transition: color ease-out 0s;
}

.home_service .nav_servive .list a.active, .home_service .nav_servive .list a:hover {
  color: #333;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.home_service .nav_servive .list a.active:after, .home_service .nav_servive .list a:hover:after {
  width: 100%;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.home_service .nav_servive .list a:last-of-type {
  margin-right: 0;
}

.home_service .nav_servive .list a:after {
  content: "";
  height: 4px;
  background: #b43302;
  left: 0;
  right: 0;
  width: 0;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -5px;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.home_service .slider_service .slide,
.home_service .list_desti .slide {
  margin-right: 20px !important;
}

.home_service .slider_service.slide_Package .item,
.home_service .list_desti.slide_Package .item {
  margin-right: 20px !important;
}

.home_service .content_service .service {
  display: none;
}

.link_btn {
  margin-top: 50px;
}

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

.slider_service .slide,
.list_desti .slide {
  width: 385px;
  margin-right: 20px;
}

.slider_service .slide .img,
.list_desti .slide .img {
  position: relative;
  overflow: hidden;
}

.slider_service .slide .img img,
.list_desti .slide .img img {
  display: block;
}

.slider_service .slide .img .hov_see,
.list_desti .slide .img .hov_see {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  -webkit-transform: scale(1.15);
  -moz-transform: scale(1.15);
  -ms-transform: scale(1.15);
  -o-transform: scale(1.15);
  transform: scale(1.15);
  display: block;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.slider_service .slide .img .hov_see .btn_round,
.list_desti .slide .img .hov_see .btn_round {
  position: absolute;
  left: 50%;
  width: 175px;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
}

.slider_service .slide .img .hov_see .btn_round:hover span,
.list_desti .slide .img .hov_see .btn_round:hover span {
  color: #b43302;
}

.slider_service .slide .ket,
.list_desti .slide .ket {
  padding-right: 20px;
  margin-top: 20px;
}

.slider_service .slide .ket h3,
.list_desti .slide .ket h3 {
  font-size: 16px;
  color: #333;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 6px;
}

.slider_service .slide .ket p,
.list_desti .slide .ket p {
  font-size: 16px;
  color: #999;
  font-family: "Lato", sans-serif;
  margin-bottom: 0;
}

.slider_service .slide:hover .img .hov_see,
.list_desti .slide:hover .img .hov_see {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  transition: all ease-out 0.35s;
  -webkit-transition: all ease-out 0.35s;
  -moz-transition: all ease-out 0.35s;
  -ms-transition: all ease-out 0.35s;
  -o-transition: all ease-out 0.35s;
}

.slider_service .slick-arrow,
.list_desti .slick-arrow {
  position: absolute;
  width: 58px;
  height: 10px;
  background: url("../images/material/arr_slider.png") no-repeat top center;
  z-index: 3;
  border: none;
  font-size: 0;
  display: block;
  cursor: pointer;
  top: 40%;
  bottom: auto;
  margin: auto;
}

.slider_service .slick-arrow:after,
.list_desti .slick-arrow:after {
  left: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  background: url("../images/material/arr_slider.png") no-repeat bottom right;
  content: " ";
  transition: width linear 0.2s;
  -webkit-transition: width linear 0.2s;
  -moz-transition: width linear 0.2s;
  -ms-transition: width linear 0.2s;
  -o-transition: width linear 0.2s;
  display: block;
  right: 0;
  width: 0;
}

.slider_service .slick-arrow:hover:after,
.list_desti .slick-arrow:hover:after {
  transition: width linear 0.2s;
  -webkit-transition: width linear 0.2s;
  -moz-transition: width linear 0.2s;
  -ms-transition: width linear 0.2s;
  -o-transition: width linear 0.2s;
  width: 100%;
}

.slider_service .slick-arrow.slick-prev,
.list_desti .slick-arrow.slick-prev {
  left: -95px;
  right: auto;
}

.slider_service .slick-arrow.slick-next,
.list_desti .slick-arrow.slick-next {
  right: -95px;
  left: auto;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

.slider_service.slide_Package .item {
  width: 385px;
  margin-right: 20px;
  float: left;
}

.slider_service.slide_Package .item .img img {
  width: 100%;
  display: block;
}

.slider_service.slide_Package .item:nth-of-type(4n) {
  margin-right: 20px;
}

.home_travel:after {
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  z-index: 1;
}

.home_travel > img {
  display: block;
  width: 100%;
}

.home_travel .text_travel {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 870px;
  text-align: center;
  z-index: 2;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.home_travel .text_travel h3 {
  font-size: 31px;
  line-height: 46px;
  color: #fff;
}

.home_travel .text_travel .link_btn .btn_round.list_orn:before {
  border-color: #fff;
}

.home_travel .text_travel .link_btn .btn_round.list_orn:after {
  background: #fff;
}

.home_travel .text_travel .link_btn .btn_round.list_orn:hover span {
  color: #b43302;
}

.home_travel .text_travel .link_btn .btn_round.list_orn span {
  color: #fff;
}

.home_travel .text_travel .link_btn .btn_round.list_orn span i {
  font-style: normal;
  display: inline-block;
  margin-right: 5px;
}

.home_travel .text_travel .link_btn > span {
  font-size: 14px;
  display: inline-block;
  margin: 0 15px;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
}

.home_testimonial {
  padding-bottom: 100px;
}

.home_testimonial .slider_testimo {
  width: 940px;
  margin: 0 auto;
  position: relative;
}

.home_testimonial .slider_testimo .slide {
  text-align: center;
}

.home_testimonial .slider_testimo .slide h3 {
  font-size: 20px;
  line-height: 28px;
  color: #b43302;
  margin-bottom: 20px;
  font-weight: 600;
}

.home_testimonial .slider_testimo .slide p {
  font-size: 16px;
  line-height: 30px;
}

.home_testimonial .slider_testimo .slide .info {
  padding: 20px 0;
  border-top: 1px solid #ccc;
  margin-top: 30px;
}

.home_testimonial .slider_testimo .slide .info .right div {
  display: inline-block;
  margin-left: 20px;
  font-size: 16px;
  color: #b43302;
  font-weight: 500;
}

.home_testimonial .slider_testimo .slide .info .right div.dte {
  padding-left: 22px;
  position: relative;
}

.home_testimonial .slider_testimo .slide .info .right div.dte:after {
  content: "";
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  background: #999;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.home_testimonial .slider_testimo .slide .info .left .star span {
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 17px;
  background: url("../images/material/rating_ico.png") no-repeat top center;
  background-size: 19px;
}

.home_testimonial .slider_testimo .slide .info .left .star span.act {
  background-position: bottom center;
}

.home_testimonial .slider_testimo .slick-arrow {
  border: none;
  font-size: 0;
  padding: 0;
  position: relative;
  cursor: pointer;
  position: absolute;
  top: 40%;
  bottom: auto;
  margin: auto;
}

.home_testimonial .slider_testimo .slick-arrow.slick-next, .home_testimonial .slider_testimo .slick-arrow.slick-prev {
  width: 58px;
  height: 10px;
  background: url("../images/material/arr_pagging.png") no-repeat top center;
}

.home_testimonial .slider_testimo .slick-arrow.slick-next:after, .home_testimonial .slider_testimo .slick-arrow.slick-prev:after {
  width: 0px;
  height: 10px;
  background: url("../images/material/arr_pagging.png") no-repeat bottom center;
  content: "";
  position: absolute;
  right: 0;
  transition: width linear 0.2s;
  -webkit-transition: width linear 0.2s;
  -moz-transition: width linear 0.2s;
  -ms-transition: width linear 0.2s;
  -o-transition: width linear 0.2s;
  top: 0;
}

.home_testimonial .slider_testimo .slick-arrow.slick-next:hover:after, .home_testimonial .slider_testimo .slick-arrow.slick-prev:hover:after {
  transition: width linear 0.2s;
  -webkit-transition: width linear 0.2s;
  -moz-transition: width linear 0.2s;
  -ms-transition: width linear 0.2s;
  -o-transition: width linear 0.2s;
  width: 58px;
}

.home_testimonial .slider_testimo .slick-arrow.slick-prev {
  margin-right: 10px;
  left: -120px;
  right: auto;
}

.home_testimonial .slider_testimo .slick-arrow.slick-next {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
  margin-left: 10px;
  left: auto;
  right: -120px;
}

.home_testimonial .slider_testimo .slick-arrow:hover, .home_testimonial .slider_testimo .slick-arrow.active {
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
  color: #333;
}

/* middle
----------------------------------------------------------------------------------------------*/
.middle {
  padding: 115px 0 60px;
}

.middle .top_pg .txt_top {
  padding: 130px 0 75px;
}

.middle .top_pg .txt_top.pb_50 {
  padding-bottom: 20px;
}

.middle .top_pg.list_box .txt_top {
  padding: 80px 0 30px;
}

.middle .txt_top {
  padding: 100px 0 75px;
}

.middle .txt_top p {
  margin-bottom: 30px;
}

.middle.no_padding {
  padding-top: 0;
}

.breadcrumb {
  background: #f3f3f3;
  height: 60px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px 170px;
  margin-bottom: 50px;
}

.breadcrumb .note {
  margin: 0;
  font-size: 14px;
  color: #999;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  line-height: 20px;
}

.breadcrumb .note span {
  font-weight: 700;
}

.breadcrumb > a {
  font-size: 14px;
  display: inline-block;
  position: relative;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  line-height: 20px;
  color: #999;
  transition: color 0.25s ease-out;
  -webkit-transition: color 0.25s ease-out;
  -moz-transition: color 0.25s ease-out;
  -ms-transition: color 0.25s ease-out;
  -o-transition: color 0.25s ease-out;
}

.breadcrumb > a:after {
  content: ">";
  display: inline-block;
  font-family: "Lato", sans-serif;
  line-height: 20px;
  margin: 0 10px 0 12px;
  color: #999;
}

.breadcrumb > a:last-child:after {
  display: none;
}

.breadcrumb > a:hover, .breadcrumb > a.active {
  color: #666;
  transition: color 0.25s ease-out;
  -webkit-transition: color 0.25s ease-out;
  -moz-transition: color 0.25s ease-out;
  -ms-transition: color 0.25s ease-out;
  -o-transition: color 0.25s ease-out;
}

.breadcrumb > a.active {
  font-weight: 700;
}

.banner_top .images {
  position: relative;
}

.banner_top .images img {
  display: block;
  width: 100%;
}

.banner_top .images:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.3) url("../images/material/top_bg_banner.png") no-repeat top center;
}

.banner_top .capt {
  width: 940px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
  color: #fff;
}

.banner_top .capt h6 {
  font-family: "Nova Flat", cursive;
  font-size: 20px;
  margin-bottom: 10px;
}

.banner_top .capt h1 {
  font-size: 60px;
  line-height: 72px;
}

.banner {
  margin-bottom: 100px;
}

.banner #map_contact {
  height: 600px;
}

.banner.map {
  margin-bottom: 90px;
}

.text_inner {
  padding-bottom: 40px;
  border-bottom: 1px solid #d8d8d8;
  margin-bottom: 50px;
}

.text_inner .lf_txt {
  float: left;
  width: 440px;
}

.text_inner .lf_txt h3 {
  font-size: 26px;
  color: #333;
  line-height: 36px;
}

.text_inner .lf_txt h4 {
  font-size: 20px;
  color: #333;
  margin-bottom: 20px;
}

.text_inner .lf_txt h4.title {
  color: #b43302;
  font-weight: 700;
}

.text_inner .lf_txt p {
  font-size: 18px;
  font-family: "Lato", sans-serif;
  line-height: 30px;
  color: #666;
  margin-right: 50px;
}

.text_inner .lf_txt .status {
  display: block;
  margin-top: 10px;
}

.text_inner .rh_txt {
  float: right;
  width: 780px;
}

.text_inner .rh_txt p {
  line-height: 30px;
  font-size: 18px;
  font-family: "Lato", sans-serif;
  margin-bottom: 20px;
  color: #666;
}

.text_inner .rh_txt h6 {
  font-size: 18px;
  color: #666;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  margin-bottom: 20px;
}

.text_inner .rh_txt ul,
.text_inner .rh_txt ol {
  margin-bottom: 20px;
}

.text_inner .rh_txt ul li,
.text_inner .rh_txt ol li {
  font-size: 18px;
  line-height: 30px;
  font-family: "Lato", sans-serif;
  color: #666;
  padding-left: 20px;
  position: relative;
}

.text_inner .rh_txt ul li:after,
.text_inner .rh_txt ol li:after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  background: #b43302;
  position: absolute;
  left: 0;
  top: 12px;
}

.text_inner:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.text_inner.btm_bnnr {
  padding-bottom: 100px;
  border-bottom: none;
  margin-bottom: 0;
}

.sec_why {
  background: #f2f2f2;
  padding-bottom: 20px;
}

.sec_why .txt_top {
  padding: 95px 0 70px;
}

.sec_service {
  padding: 145px 0 60px;
}

.sec_service .wrapper {
  width: 1260px;
  margin: 0 auto;
}

.sec_service .blok_service {
  position: relative;
}

.sec_service .blok_service .img_lf {
  float: left;
  width: 720px;
}

.sec_service .blok_service .right_dec {
  float: right;
  width: 460px;
  padding: 0 50px 0 45px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.sec_service .blok_service .right_dec .text {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
}

.sec_service .blok_service .right_dec h6 {
  font-size: 14px;
  color: #b43302;
  margin-bottom: 20px;
  font-family: "Nova Flat", cursive;
  text-transform: uppercase;
}

.sec_service .blok_service .right_dec p {
  font-size: 16px;
  color: #999;
  font-family: "Lato", sans-serif;
}

.sec_service .txt_top {
  padding-bottom: 50px;
}

.sec_service .slider_partner {
  width: 940px;
  margin: 0 auto;
  position: relative;
}

.sec_service .slider_partner .partner a:hover img {
  opacity: 0.6;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
  -webkit-transform: scale(0.95);
  -moz-transform: scale(0.95);
  -ms-transform: scale(0.95);
  -o-transform: scale(0.95);
  transform: scale(0.95);
}

.sec_service .slider_partner .partner img {
  display: block;
  margin: 0 auto;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.sec_service .slider_partner .slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 0;
  border: none;
  width: 17px;
  height: 28px;
  background: url("../images/material/arr_partner.png") no-repeat left center;
  cursor: pointer;
  transition: background-position linear 0.25s;
  -webkit-transition: background-position linear 0.25s;
  -moz-transition: background-position linear 0.25s;
  -ms-transition: background-position linear 0.25s;
  -o-transition: background-position linear 0.25s;
}

.sec_service .slider_partner .slick-arrow:hover {
  transition: background-position linear 0.25s;
  -webkit-transition: background-position linear 0.25s;
  -moz-transition: background-position linear 0.25s;
  -ms-transition: background-position linear 0.25s;
  -o-transition: background-position linear 0.25s;
  background-position: right center !important;
}

.sec_service .slider_partner .slick-arrow.slick-prev {
  left: -80px;
}

.sec_service .slider_partner .slick-arrow.slick-next {
  right: -80px;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

.list_result {
  margin-bottom: 80px;
}

.list_result .item {
  position: relative;
  margin-bottom: 50px;
}

.list_result .item .img {
  float: left;
  width: 400px;
}

.list_result .item .dec_result {
  width: 780px;
  position: absolute;
  float: right;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.list_result .item .dec_result a {
  display: block;
}

.list_result .item .dec_result a:hover h2 {
  color: #b43302;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.list_result .item .dec_result h2 {
  font-size: 26px;
  color: #333;
  margin-bottom: 15px;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.list_result .item .dec_result p {
  font-size: 18px;
  line-height: 26px;
  color: #999;
  font-family: "Lato", sans-serif;
  margin-bottom: 0;
}

.list_result .item:last-child {
  margin-bottom: 0;
}

.pagging {
  display: block;
  text-align: center;
  margin-bottom: 60px;
}

.pagging a {
  display: inline-block;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #999;
  width: 25px;
  text-align: center;
  line-height: 20px;
  vertical-align: middle;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.pagging a.prev, .pagging a.next {
  width: 58px;
  height: 10px;
  background: url("../images/material/arr_pagging.png") no-repeat top center;
  position: relative;
}

.pagging a.prev:after, .pagging a.next:after {
  width: 0px;
  height: 10px;
  background: url("../images/material/arr_pagging.png") no-repeat bottom center;
  content: "";
  position: absolute;
  right: 0;
  transition: width linear 0.2s;
  -webkit-transition: width linear 0.2s;
  -moz-transition: width linear 0.2s;
  -ms-transition: width linear 0.2s;
  -o-transition: width linear 0.2s;
}

.pagging a.prev:hover:after, .pagging a.next:hover:after {
  transition: width linear 0.2s;
  -webkit-transition: width linear 0.2s;
  -moz-transition: width linear 0.2s;
  -ms-transition: width linear 0.2s;
  -o-transition: width linear 0.2s;
  width: 58px;
}

.pagging a.prev {
  margin-right: 10px;
}

.pagging a.next {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
  margin-left: 10px;
}

.pagging a:hover, .pagging a.active {
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
  color: #333;
}

.pagging.career a {
  font-weight: 700;
  color: #999;
}

.pagging.career a:hover, .pagging.career a.active {
  color: #b43302;
}

.pagging.career a.prev, .pagging.career a.next {
  background: none;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  height: auto;
  width: auto;
  text-transform: uppercase;
}

.pagging.career a.prev:after, .pagging.career a.next:after {
  display: none;
}

.pagging.career a.prev {
  margin-right: 25px;
}

.pagging.career a.next {
  margin-left: 25px;
}

.career_wrap {
  border-top: 1px solid #d8d8d8;
  width: 1600px;
  margin: 0 auto;
}

.list_career {
  margin-bottom: 80px;
}

.list_career .item {
  padding: 0 40px 25px;
  border-bottom: 2px solid #d8d8d8;
  margin-bottom: 30px;
  transition: border-color linear 0.25s;
  -webkit-transition: border-color linear 0.25s;
  -moz-transition: border-color linear 0.25s;
  -ms-transition: border-color linear 0.25s;
  -o-transition: border-color linear 0.25s;
}

.list_career .item .jobs {
  float: left;
  max-height: 80%;
}

.list_career .item .jobs .status {
  display: block;
  font-size: 14px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: #999;
  margin-bottom: 6px;
}

.list_career .item .jobs h3 {
  font-size: 24px;
  font-family: "Lato", sans-serif;
  color: #333;
}

.list_career .item .learn {
  font-size: 14px;
  font-weight: 700;
  color: #b43302;
  text-transform: uppercase;
  display: inline-block;
  margin-top: 10px;
}

.list_career .item:hover {
  transition: border-color linear 0.25s;
  -webkit-transition: border-color linear 0.25s;
  -moz-transition: border-color linear 0.25s;
  -ms-transition: border-color linear 0.25s;
  -o-transition: border-color linear 0.25s;
  border-color: #b43302;
}

.form_box form > p {
  color: #999;
}

.form_box form > p a {
  color: #b43302;
  display: inline-block;
}

.form_box .row {
  margin-bottom: 30px;
}

.form_box .row label {
  float: none;
  max-width: none;
  font-size: 17px;
  color: #666;
  display: block;
  margin-top: 18px;
  font-family: "Lato", sans-serif;
  margin-bottom: 15px;
  font-weight: 600;
}

.form_box .row label.mrgin {
  margin-top: 5px;
}

.form_box .row p {
  font-size: 15px;
  color: #666;
  margin-bottom: 25px;
}

.form_box .row .field {
  display: block;
}

.form_box .row .field input[type="text"],
.form_box .row .field input[type="email"],
.form_box .row .field input[type="password"],
.form_box .row .field input[type="number"],
.form_box .row .field select,
.form_box .row .field textarea {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #d8d8d8;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  color: #999;
  line-height: 20px;
  padding: 14px 20px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  background: transparent;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.form_box .row .field input[type="text"]:focus,
.form_box .row .field input[type="email"]:focus,
.form_box .row .field input[type="password"]:focus,
.form_box .row .field input[type="number"]:focus,
.form_box .row .field select:focus,
.form_box .row .field textarea:focus {
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
  border-color: #b43302;
  color: #b43302;
}

.form_box .row .field select {
  background: url("../images/material/arr_select_adv.png") no-repeat 95% center;
}

.form_box .row .field .select2-container {
  width: 100% !important;
  background: url("../images/material/arr_select_adv.png") no-repeat 95% center;
}

.form_box .row .field textarea {
  resize: none;
  height: 120px;
}

.form_box .row .field .g-recaptcha {
  margin: 30px 0;
}

.form_box .row .field input[type="submit"].btn_round {
  cursor: pointer;
}

.form_box .row .field input[type="submit"].btn_round.orn {
  background: #b43302;
  color: #fff;
}

.form_box .row .field input[type="submit"].btn_round.orn:hover {
  background: #962d08;
}

.form_box .row .field .pick {
  background: url("../images/material/ico_date.png") no-repeat 95% center !important;
}

.form_box .row .field .qty_input {
  width: 45px;
  display: inline-block;
  vertical-align: middle;
}

.form_box .row .field .qty_input .input_val {
  padding: 0;
  height: 50px;
  color: #333;
  border: none;
  font-size: 20px;
}

.form_box .row .field .qty_input + span {
  display: inline-block;
  font-size: 17px;
  font-weight: 700;
  color: #333;
  vertical-align: middle;
  margin-left: 20px;
}

.form_box .row .field .rating {
  display: inline-block;
  overflow: hidden;
  position: relative;
}

.form_box .row .field .rating input[type="radio"] {
  position: absolute;
  right: -10px;
  top: 10px;
  visibility: hidden;
}

.form_box .row .field .rating input[type="radio"]:checked ~ .ico_rat {
  background-position: bottom center;
}

.form_box .row .field .rating .ico_rat {
  width: 23px;
  height: 21px;
  background: url("../images/material/rating_ico.png") no-repeat top center;
  display: block;
  float: right;
  cursor: pointer;
  margin: 0;
}

.form_box .row .field .val {
  display: inline-block;
  vertical-align: bottom;
  margin-left: 10px;
  margin-bottom: 5px;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: #333;
}

.form_box .row .field.full {
  margin-left: 0;
}

.form_box .row .field.full .btn_round:before {
  border-color: #333;
}

.form_box .row .field.full .btn_round span {
  color: #333;
}

.form_box .row .field.full .btn_round:after {
  background: #b43302;
}

.form_box .row .field.full .btn_round:hover span {
  color: #fff;
}

.form_box .row .field.full .pass_forgot {
  color: #b43302;
  margin-top: 25px;
  font-size: 14px;
  font-weight: 600;
}

.form_box .row .field.gnder .ck_radio {
  margin: 15px 20px 10px 0;
  display: inline-block;
}

.form_box .row .field .col_ck {
  float: none;
  width: 100%;
  margin-right: 0;
  height: auto;
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
}

.form_box .row .field .col_ck:nth-of-type(3) {
  margin-right: 0;
}

.form_box .row .field .col_ck:last-of-type {
  margin-bottom: 30px;
}

.form_box .row .field .col_ck input[type="radio"],
.form_box .row .field .col_ck input[type="checkbox"] {
  background: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  padding: 0;
  width: 100%;
  cursor: pointer;
  z-index: 5;
}

.form_box .row .field .col_ck input[type="radio"]:checked + .box_ck,
.form_box .row .field .col_ck input[type="checkbox"]:checked + .box_ck {
  background-position: bottom center;
}

.form_box .row .field .col_ck .box_ck {
  width: 17px;
  height: 16px;
  background: url("../images/material/ico_radio.png") no-repeat top center;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 3px;
  z-index: 2;
}

.form_box .row .field .col_ck .txt_type {
  display: block;
}

.form_box .row .field .col_ck .txt_type h6 {
  color: #b43302;
  line-height: 16px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  font-weight: 700;
}

.form_box .row .field .col_ck .txt_type p {
  margin-bottom: 0;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  color: #999;
  line-height: 18px;
}

.form_box .row .field .col_ck .txt_type p a {
  display: inline-block;
  color: #b43302;
  position: relative;
  z-index: 5;
}

.form_box .row .field .col_ck.phone_numb {
  position: relative;
}

.form_box .row .field .col_ck.phone_numb input[type="checkbox"] {
  width: 20px;
  height: 20px;
  left: -2px;
  top: 0;
  margin: 0;
}

.form_box .row .field .col_ck.phone_numb input[type="checkbox"]:checked + .box_ck + .txt_type .drop_numb {
  max-height: 200px;
  @nclude transition(all ease-out 0.3s);
  opacity: 1;
  z-index: 2;
}

.form_box .row .field .col_ck.phone_numb input[type="checkbox"]:checked + .box_ck + .txt_type .drop_numb .select_numb {
  display: block;
}

.form_box .row .field .col_ck.phone_numb .txt_type h6 {
  color: #666;
  font-size: 17px;
  margin-bottom: 10px;
}

.form_box .row .field .col_ck.phone_numb .drop_numb {
  height: auto;
  max-height: 0;
  @nclude transition(all ease-out 0.3s);
  opacity: 0;
  z-index: -1;
}

.form_box .row .field .col_ck.phone_numb .drop_numb label {
  font-size: 14px;
  font-weight: 400;
  color: #999;
}

.form_box .row .field .col_ck.phone_numb .drop_numb .select_numb {
  position: relative;
  display: none;
}

.form_box .row .field .col_ck.phone_numb .drop_numb .select_numb .selectcustom {
  position: absolute;
  width: 110px;
  border: none;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  background-size: 10px;
  background-position: 87% center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  top: 0;
  bottom: 0;
  border-radius: 0 0 6px 4px;
  -webkit-border-radius: 0 0 6px 4px;
  -moz-border-radius: 0 0 6px 4px;
  -ms-border-radius: 0 0 6px 4px;
  -o-border-radius: 0 0 6px 4px;
}

.form_box .row .field .col_ck.phone_numb .drop_numb .select_numb .selectcustom .btnselect {
  padding-left: 50px;
  font-size: 16px;
  color: #b43302;
  line-height: 50px;
  background: url("../images/material/arr_select_adv.png") no-repeat 90% center;
  background-size: 10px;
  padding-right: 20px;
}

.form_box .row .field .col_ck.phone_numb .drop_numb .select_numb .selectcustom .btnselect .img_ico {
  position: absolute;
  width: 25px;
  height: 25px;
  left: 12px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.form_box .row .field .col_ck.phone_numb .drop_numb .select_numb .selectcustom .dropselect {
  position: absolute;
  top: 100%;
  left: 35px;
  right: 10px;
  padding: 0 10px 5px 15px;
  background: #fff;
  height: 100px;
  overflow: auto;
  box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.15);
  -ms-box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.15);
  -o-box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.15);
}

.form_box .row .field .col_ck.phone_numb .drop_numb .select_numb .selectcustom .dropselect .optselect {
  font-size: 14px;
  padding: 8px 0;
  cursor: pointer;
}

.form_box .row .field .col_ck.phone_numb .drop_numb .select_numb > input {
  padding-left: 115px;
}

.form_box .row .field .col_ck.phone_numb .drop_numb .select_numb > input:focus {
  border-color: #d8d8d8;
}

.form_box .row .field .ck_interest li {
  width: 45%;
  margin-right: 3%;
  display: inline-block;
  vertical-align: top;
  position: relative;
}

.form_box .row .field .ck_interest li:nth-of-type(2n) {
  margin-right: 0;
}

.form_box .row .field .ck_interest li input[type="checkbox"] {
  position: absolute;
  left: 0;
  right: auto;
  background: transparent;
  border: none;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 80%;
  cursor: pointer;
}

.form_box .row .field .ck_interest li input[type="checkbox"]:checked + span {
  font-weight: 700;
  color: #b43302;
}

.form_box .row .field .ck_interest li span {
  display: inline-block;
  font-family: "Lato", sans-serif;
  color: #999;
  font-size: 16px;
  line-height: 30px;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.form_box .row .field .ck_interest li:hover span {
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
  color: #b43302;
}

.form_box .row .col-2 {
  float: left;
  width: 45%;
}

.form_box .row .col-2:nth-child(2) {
  float: right;
}

.form_box .row .col-2:nth-child(2) label {
  max-width: 110px;
}

.form_box .row .col-2:nth-child(2) .field {
  margin-left: 120px;
}

.form_box .row .col-2:nth-child(2) .field select {
  padding-right: 30px;
  background-position: 86% center;
}

.form_box .row.sum label {
  float: none;
  display: block;
  max-width: none;
  margin-bottom: 25px;
}

.form_box .row.sum .field.full {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
}

.form_box .row.sum .field.full .block {
  width: 22.5%;
  margin-right: 3.33%;
}

.form_box .row.sum .field.full .block h6 {
  font-weight: 500;
  color: #333;
  font-size: 14px;
  text-align: center;
  margin-bottom: 5px;
  width: 105px;
}

.form_box .row.sum .field.full .block:nth-child(4n) {
  margin-right: 0;
}

.form_box .select2-container--default .select2-selection--multiple {
  background: transparent;
  border-color: #d8d8d8;
  padding-right: 50px;
}

.form_box .select2-container--default .select2-selection--multiple .select2-selection__rendered {
  padding: 12px 10px;
}

.form_box .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #fff;
  margin-right: 5px;
}

.form_box .select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #d8d8d8;
}

.form_box .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: #b43302;
  font-size: 14px;
  color: #fff;
  padding: 5px;
  border: none;
}

.form_box hr {
  border: none;
  border-bottom: 1px solid #d8d8d8;
  display: block;
  margin: 40px 0;
}

.form_box.apply {
  width: 630px;
}

.form_box.form_contact .row label {
  font-size: 18px;
  margin-top: 16px;
}

.form_box.form_contact .row input[type="text"],
.form_box.form_contact .row input[type="email"],
.form_box.form_contact .row input[type="number"],
.form_box.form_contact .row select,
.form_box.form_contact .row textarea {
  font-size: 18px;
}

.form_box.form_contact .row textarea {
  height: 150px;
  font-style: italic;
}

.form_box.form_contact .row .g-recaptcha {
  float: left;
  margin-top: 40px;
}

.form_box.form_contact .row input[type="submit"].btn_round {
  margin-top: 50px;
  cursor: pointer;
}

.form_box.form_contact .row input[type="submit"].btn_round.orn {
  background: #b43302;
  color: #fff;
}

.form_box.form_contact .row input[type="submit"].btn_round.orn:hover {
  background: #962d08;
}

.form_box.register .row .field .btn_round {
  margin-top: 30px;
  margin-left: 60px;
}

.form_box.register .row .field.btn_rw p {
  font-size: 16px;
  color: #999;
  font-family: "Lato", sans-serif;
  margin: 30px 0 0;
  line-height: 26px;
}

.form_box.register .row .field.btn_rw p a {
  color: #b43302;
  text-decoration: underline;
}

.form_box.login .row .field.full {
  margin-left: 0;
  margin-top: 40px;
}

.form_box.login .row .field.full p {
  font-size: 16px;
  color: #999;
  font-family: "Lato", sans-serif;
}

.form_box.login .row .field.full p.left {
  margin-top: 20px;
}

.form_box.login .row .field.full p a {
  color: #b43302;
  text-decoration: underline;
}

.form_box .input_file {
  height: 50px;
  border: 1px solid #d8d8d8;
  width: 200px;
  position: relative;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  background: url("../images/material/ico_file.png") no-repeat 90% center;
}

.form_box .input_file input {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  height: 50px;
  z-index: 4;
}

.form_box .input_file span {
  font-size: 16px;
  color: #ccc;
  font-family: "Lato", sans-serif;
  padding: 0 5px 0 20px;
  line-height: 20px;
  display: block;
  position: relative;
  top: 12px;
  width: 80%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2;
}

.ck_radio {
  font-size: 16px;
  color: #666;
  font-family: "Lato", sans-serif;
  padding-left: 26px;
  position: relative;
  line-height: 20px;
  margin-right: 45px;
}

.ck_radio input[type="radio"],
.ck_radio input[type="checkbox"] {
  background: url("../images/material/ico_radio.png") no-repeat top center;
  width: 17px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 3px;
  padding: 0;
  cursor: pointer;
  z-index: 2;
}

.ck_radio input[type="radio"]:checked,
.ck_radio input[type="checkbox"]:checked {
  background-position: bottom center !important;
}

.ck_radio:last-child {
  margin-right: 0;
}

.thanks_pg {
  position: relative;
}

.thanks_pg .img {
  position: relative;
  overflow: hidden;
}

.thanks_pg .img img {
  display: block;
  width: 100%;
}

.thanks_pg .img:after {
  content: "";
  position: absolute;
  display: block;
  background: rgba(0, 0, 0, 0.6);
  left: 0;
  right: 0;
  margin: auto;
  top: 0;
  bottom: 0;
  background-size: 100%;
}

.thanks_pg .text_thanks {
  width: 640px;
  top: 50%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  color: #fff;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.thanks_pg .text_thanks h1 {
  font-size: 72px;
  margin-bottom: 20px;
}

.thanks_pg .text_thanks p {
  font-size: 18px;
  line-height: 30px;
  margin-bottom: 30px;
  font-family: "Lato", sans-serif;
}

.thanks_pg .text_thanks .btn_round:hover span {
  color: #fff;
}

.fllow {
  margin: 30px 0 50px;
}

.fllow h2 {
  font-size: 18px;
  color: #666;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  margin-bottom: 15px;
}

.fllow a {
  display: inline-block;
  width: 43px;
  height: 43px;
  margin-right: 5px;
}

.nav_destination {
  text-align: center;
  display: block;
  margin: 35px 0 0;
  border-bottom: 1px solid #d8d8d8;
}

.nav_destination .list a {
  display: inline-block;
  font-size: 13px;
  color: #999;
  padding: 10px 20px 30px;
  font-size: 16px;
  margin-right: 15px;
  position: relative;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.nav_destination .list a.active, .nav_destination .list a:hover {
  color: #333;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.nav_destination .list a.active:after, .nav_destination .list a:hover:after {
  width: 100%;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.nav_destination .list a:last-of-type {
  margin-right: 0;
}

.nav_destination .list a:after {
  content: "";
  height: 4px;
  background: #b43302;
  left: 0;
  right: 0;
  width: 0;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 0px;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.detail_destination {
  padding: 55px 0 40px;
}

.detail_sec {
  margin-bottom: 50px;
}

.detail_sec > h3 {
  font-size: 26px;
  color: #333;
  line-height: 36px;
  text-align: center;
  margin-bottom: 20px;
}

.detail_sec .text_article {
  width: 780px;
  margin: 0 auto;
  text-align: center;
}

.detail_sec .text_article .isi {
  max-height: 140px;
  transition: all ease-out 0.8s;
  -webkit-transition: all ease-out 0.8s;
  -moz-transition: all ease-out 0.8s;
  -ms-transition: all ease-out 0.8s;
  -o-transition: all ease-out 0.8s;
  position: relative;
  overflow: hidden;
}

.detail_sec .text_article p {
  font-size: 18px;
  color: #666;
  font-family: "Lato", sans-serif;
  line-height: 30px;
}

.detail_sec .text_article .rd_more {
  font-size: 14px;
  font-weight: 700;
  color: #b43302;
  text-transform: uppercase;
  display: inline-block;
  letter-spacing: 2px;
  padding-bottom: 6px;
  position: relative;
  margin-top: 15px;
}

.detail_sec .text_article .rd_more:after {
  content: "";
  height: 2px;
  background: #b43302;
  left: 0;
  right: 0;
  bottom: 0;
  width: 0;
  transition: width ease-out 0.25s;
  -webkit-transition: width ease-out 0.25s;
  -moz-transition: width ease-out 0.25s;
  -ms-transition: width ease-out 0.25s;
  -o-transition: width ease-out 0.25s;
  display: block;
  margin: auto;
  position: absolute;
}

.detail_sec .text_article .rd_more:hover:after {
  transition: width ease-out 0.25s;
  -webkit-transition: width ease-out 0.25s;
  -moz-transition: width ease-out 0.25s;
  -ms-transition: width ease-out 0.25s;
  -o-transition: width ease-out 0.25s;
  width: 100%;
}

.detail_sec .text_article.show .isi {
  max-height: 5000px;
  transition: all ease-out 1s;
  -webkit-transition: all ease-out 1s;
  -moz-transition: all ease-out 1s;
  -ms-transition: all ease-out 1s;
  -o-transition: all ease-out 1s;
}

.detail_sec.text_tmt {
  height: 335px;
  background: url("../images/material/bg_text_tmt.jpg") no-repeat;
  position: relative;
  margin-top: 100px;
}

.detail_sec.text_tmt .dec_txt {
  padding-left: 55px;
  width: 400px;
  padding-top: 42px;
}

.detail_sec.text_tmt .dec_txt h2 {
  font-size: 30px;
  line-height: 36px;
  color: #333;
  margin-bottom: 20px;
}

.detail_sec.text_tmt .dec_txt p {
  font-size: 18px;
  font-family: "Lato", sans-serif;
  color: #666;
  line-height: 26px;
}

.detail_sec.text_tmt .dec_txt .btn_round {
  margin-top: 15px;
  line-height: 46px;
  min-width: 180px;
}

.list_page .recomend_list {
  margin-bottom: 50px;
}

.list_page .recomend_list .item {
  margin-bottom: 40px;
}

.list_desti {
  margin-bottom: 30px;
}

.list_desti .slide {
  float: left;
  width: 24.065%;
  margin-right: 1.246%;
  margin-bottom: 50px;
  min-height: 500px;
}

.list_desti .slide:nth-of-type(4n) {
  margin-right: 0;
}

.item_detail {
  margin: 30px 0;
}

.item_detail .box {
  width: 18.75%;
  margin-right: 1.5625%;
  position: relative;
}

.item_detail .box a {
  display: block;
}

.item_detail .box:nth-of-type(5n) {
  margin-right: 0;
}

.item_detail .box .img {
  position: relative;
  overflow: hidden;
}

.item_detail .box .img img {
  display: block;
  transition: transform 5s ease-out;
  -webkit-transition: transform 5s ease-out;
  -moz-transition: transform 5s ease-out;
  -ms-transition: transform 5s ease-out;
  -o-transition: transform 5s ease-out;
}

.item_detail .box .img:after {
  content: "";
  background: url("../images/material/bg_img_list.png") no-repeat bottom center;
  background-size: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  opacity: 0.6;
}

.item_detail .box .name {
  position: absolute;
  bottom: 25px;
  left: 25px;
  right: 25px;
  margin: auto;
  display: block;
  text-align: center;
}

.item_detail .box .name h5 {
  font-weight: 700;
  font-size: 14px;
  color: #fff;
  margin-bottom: 10px;
}

.item_detail .box .name .place {
  font-size: 11px;
  font-weight: 100;
  color: #fff;
  display: block;
}

.item_detail .box .round_no {
  width: 32px;
  height: 32px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  border: 2px solid #fff;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  top: 23px;
  z-index: 3;
  color: #fff;
  line-height: 32px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}

.item_detail .box:hover .img img {
  -webkit-transform: scale(1.3);
  -moz-transform: scale(1.3);
  -ms-transform: scale(1.3);
  -o-transform: scale(1.3);
  transform: scale(1.3);
  transition: transform 10s ease-out;
  -webkit-transition: transform 10s ease-out;
  -moz-transition: transform 10s ease-out;
  -ms-transition: transform 10s ease-out;
  -o-transition: transform 10s ease-out;
}

#map_location {
  height: 400px;
}

.map_info {
  margin-top: 30px;
}

.map_info .map_content {
  float: left;
  width: 710px;
}

.map_info .info {
  float: right;
  width: 460px;
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}

.map_info .info .label_info {
  background: #fafafa;
  padding: 20px 40px;
}

.map_info .info .label_info h3 {
  font-size: 14px;
  font-family: "Nova Flat", cursive;
  color: #b43302;
  padding-left: 35px;
  line-height: 20px;
  letter-spacing: 3px;
  background: url("../images/material/ico_info.png") no-repeat left center;
}

.map_info .info .ket_map {
  padding: 20px 40px;
}

.map_info .info .ket_map p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #666;
  margin-bottom: 25px;
}

.map_info .info .ket_map p label {
  float: left;
  display: inline-block;
  max-width: 150px;
}

.map_info .info .ket_map p span {
  display: block;
  margin-left: 160px;
  color: #333;
}

.sec_recomend .wrapper > h3 {
  font-size: 26px;
  line-height: 36px;
  color: #333;
  margin-bottom: 30px;
}

.recomend_list {
  margin-bottom: 100px;
}

.recomend_list .item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  width: 23.75%;
  margin-right: 1.6667%;
  min-height: 420px;
}

.recomend_list .item:nth-of-type(4n) {
  margin-right: 0;
}

.recomend_list .item .img {
  position: relative;
  overflow: hidden;
}

.recomend_list .item .img img {
  display: block;
}

.recomend_list .item .img .hov_see {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  -webkit-transform: scale(1.15);
  -moz-transform: scale(1.15);
  -ms-transform: scale(1.15);
  -o-transform: scale(1.15);
  transform: scale(1.15);
  display: block;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.recomend_list .item .img .hov_see .btn_round {
  position: absolute;
  left: 50%;
  width: 175px;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
}

.recomend_list .item .img .hov_see .btn_round:hover span {
  color: #b43302;
}

.recomend_list .item .dec {
  padding: 20px 25px;
  border: 1px solid #d8d8d8;
}

.recomend_list .item .dec h3 {
  font-size: 16px;
  text-transform: uppercase;
  color: #333;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 15px;
  line-height: 28px;
}

.recomend_list .item .dec p {
  margin-bottom: 5px;
  font-size: 16px;
  color: #333;
  font-family: "Lato", sans-serif;
  padding-left: 25px;
  line-height: 25px;
}

.recomend_list .item .dec p.loc {
  background: url("../images/material/ico_loc.png") no-repeat left center;
  font-size: 14px;
}

.recomend_list .item .dec p.culture {
  background: url("../images/material/ico_culture.png") no-repeat left center;
  font-size: 14px;
}

.recomend_list .item .dec p.dt_price {
  background: url("../images/material/ico_dt_price.png") no-repeat left center;
  font-size: 14px;
}

.recomend_list .item .dec p.dt_trip {
  background: url("../images/material/ico_dt_trip.png") no-repeat left center;
  font-size: 14px;
}

.recomend_list .item .dec .price_bx {
  padding: 15px 25px;
  margin: 10px -25px -20px;
  background: #333;
  color: #fff;
  position: relative;
}

.recomend_list .item .dec .price_bx .abs {
  position: absolute;
  top: 15px;
  right: 25px;
  text-transform: uppercase;
}

.recomend_list .item .dec .price_bx label {
  font-size: 13px;
  display: block;
  margin-bottom: 10px;
  color: #999;
}

.recomend_list .item .dec .price_bx h6 {
  font-size: 18px;
  font-weight: 600;
}

.recomend_list .item .dec .price_bx.trans {
  background: #fff;
  border-top: 1px solid #d8d8d8;
  margin: 10px 0 0;
  padding: 15px 0 0;
}

.recomend_list .item .dec .price_bx.trans p {
  padding-left: 0;
  margin: 0;
  font-size: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #aaa;
  height: 50px;
}

.recomend_list .item:hover .img .hov_see {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  transition: all ease-out 0.35s;
  -webkit-transition: all ease-out 0.35s;
  -moz-transition: all ease-out 0.35s;
  -ms-transition: all ease-out 0.35s;
  -o-transition: all ease-out 0.35s;
}

.package_sec {
  margin-bottom: 100px;
}

.package_sec .left_package {
  float: left;
  width: 1000px;
  padding: 0 20px 0 0px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.package_sec .left_package > h3 {
  font-size: 26px;
  color: #333;
  margin-bottom: 20px;
}

.package_sec .left_package p {
  font-size: 18px;
  line-height: 30px;
  color: #666;
}

.package_sec .left_package.checkout_left {
  padding: 0;
}

.package_sec .left_package .box_checkout .boxs {
  background: #fafafa;
  padding: 50px 80px 40px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  margin-bottom: 50px;
}

.package_sec .left_package .box_checkout .boxs h3 {
  font-size: 24px;
  color: #333;
  padding-left: 40px;
  background: url("../images/material/ico_login.png") no-repeat left center;
  background-size: 20px;
  line-height: 30px;
  margin-bottom: 35px;
}

.package_sec .left_package .box_checkout .boxs.white {
  background: #fff;
  padding: 0 80px;
  text-align: center;
}

.package_sec .left_package .box_checkout .boxs.white .ck_radio {
  text-align: left;
  display: block;
}

.package_sec .left_package .box_checkout .boxs.white .ck_radio a {
  color: #b43302;
}

.package_sec .left_package .box_checkout .boxs.white .btn_round {
  margin-top: 30px;
}

.package_sec .right_package {
  float: right;
  width: 460px;
}

.package_sec .right_package .box {
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  margin-bottom: 22px;
}

.package_sec .right_package .box .label_info {
  padding: 20px 40px;
  background: #fafafa;
}

.package_sec .right_package .box .label_info h3 {
  font-size: 14px;
  font-family: "Nova Flat", cursive, cursive;
  color: #b43302;
  padding-left: 35px;
  line-height: 20px;
  letter-spacing: 3px;
  background: url(../images/material/ico_info.png) no-repeat left center;
}

.package_sec .right_package .box .isi_info {
  padding: 30px 40px;
}

.package_sec .right_package .box .isi_info .img {
  margin-bottom: 30px;
}

.package_sec .right_package .box .isi_info .img img {
  width: 100%;
}

.package_sec .right_package .box .isi_info .title_box {
  margin-bottom: 30px;
}

.package_sec .right_package .box .isi_info .title_box h3 {
  font-weight: 600;
  font-size: 24px;
  margin-bottom: 6px;
}

.package_sec .right_package .box .isi_info .title_box h6 {
  font-size: 16px;
}

.package_sec .right_package .box .isi_info .col {
  margin-bottom: 25px;
}

.package_sec .right_package .box .isi_info .col label {
  float: left;
  max-width: 100px;
  display: block;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #666;
  line-height: 20px;
}

.package_sec .right_package .box .isi_info .col p {
  display: block;
  margin-left: 100px;
  margin-bottom: 0;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #333;
}

.package_sec .right_package .box .isi_info .col a {
  color: #333;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  line-height: 20px;
  display: inline-block;
  margin-bottom: 5px;
}

.package_sec .right_package .box .isi_info .col a.email {
  padding-left: 35px;
  background: url("../images/material/ico_mail.png") no-repeat left center;
}

.package_sec .right_package .box .isi_info .col a.download {
  padding-left: 35px;
  background: url("../images/material/ico_pdf.png") no-repeat left center;
}

.package_sec .right_package .box .isi_info .col:last-child {
  margin-bottom: 0;
}

.package_sec .right_package .box .isi_info .col.share label {
  vertical-align: middle;
  display: inline-block;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  margin-right: 20px;
  color: #666;
  float: none;
}

.package_sec .right_package .box .isi_info .col.share a {
  width: 30px;
  height: 30px;
  font-size: 0;
  vertical-align: middle;
  margin-right: 5px;
  margin-bottom: 0;
  display: inline-block;
}

.package_sec .right_package .box .isi_info > p {
  font-size: 16px;
  font-weight: 700;
  color: #666;
  margin-bottom: 20px;
}

.package_sec .right_package .box .isi_info ul li {
  font-size: 16px;
  color: #666;
  font-family: "Lato", sans-serif;
  line-height: 20px;
  padding-left: 30px;
  background: url("../images/material/arr_side.png") no-repeat left 4px;
  margin-bottom: 10px;
}

.package_sec .right_package .box.grey_bx {
  position: relative;
  overflow: hidden;
}

.package_sec .right_package .box.grey_bx .txt {
  background: #333;
  padding: 30px 40px 40px;
}

.package_sec .right_package .box.grey_bx .txt p {
  color: #fff;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  margin-bottom: 25px;
}

.package_sec .right_package .box.grey_bx .txt p:last-of-type {
  margin-bottom: 0;
}

.package_sec .right_package .box.grey_bx .isi_info {
  text-align: center;
}

.package_sec .right_package .box.grey_bx .isi_info h5 {
  font-size: 16px;
  color: #333;
  text-transform: uppercase;
  font-weight: 500;
}

.package_sec .right_package .box.grey_bx .isi_info h5 a {
  color: #333;
  font-weight: 700;
  font-size: 20px;
  display: inline-block;
  margin-left: 5px;
}

.package_sec .right_package .box.grey_bx .isi_info > label {
  display: block;
  margin: 15px 0;
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 600;
}

.package_sec .right_package .box.grey_bx .isi_info .btn_round {
  display: block;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.package_sec .right_package .box.grey_bx .isi_info .btn_round:after, .package_sec .right_package .box.grey_bx .isi_info .btn_round:before {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.package_sec .right_package .box.book_now .isi_info {
  padding: 30px 20px 30px 40px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row {
  margin-bottom: 25px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn {
  float: left;
  margin-right: 15px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn .qty_input {
  position: relative;
  padding: 0 30px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn .qty_input .input_val {
  border: none;
  width: 50px;
  padding: 0;
  text-align: center;
  font-size: 20px;
  color: #333;
  height: 30px;
  line-height: 30px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn .qty_input button {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  border: none;
  font-size: 0;
  z-index: 2;
  cursor: pointer;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn .qty_input button.min {
  left: 0;
  right: auto;
  width: 30px;
  height: 30px;
  background: url("../images/material/ico_min.png") no-repeat top center;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn .qty_input button.plus {
  right: 0;
  left: auto;
  width: 30px;
  height: 30px;
  background: url("../images/material/ico_plus.png") no-repeat top center;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn .qty_input button:hover {
  background-position: bottom center !important;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn > h6 {
  text-align: right;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #666;
  margin-top: 8px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn > span {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #666;
  line-height: 20px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn:nth-of-type(1) {
  width: 100px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn:nth-of-type(2) {
  width: 110px;
  margin-top: 3px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn:nth-of-type(2) span {
  text-align: center;
  display: block;
  color: #333;
  font-weight: 600;
  font-size: 14px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row .colmn:nth-of-type(3) {
  margin-right: 0;
  text-align: right;
  width: 155px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row > label {
  font-size: 16px;
  display: block;
  margin-bottom: 10px;
  color: #666;
  font-family: "Lato", sans-serif;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row select {
  padding: 12px 20px;
  font-size: 16px;
  background: url("../images/material/arr_select_adv.png") no-repeat 95% center;
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row.links {
  margin-top: 30px;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row.links a {
  color: #b43302;
  display: inline-block;
  font-size: 14px;
  text-decoration: underline;
  float: left;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row.links a:nth-child(2) {
  float: right;
}

.package_sec .right_package .box.book_now .isi_info .booknow_info .row.links a:hover {
  font-weight: 500;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.package_sec .right_package .box.book_now .total {
  background: #333;
  margin: 0 -20px -30px -40px;
  padding: 20px 25px 30px 40px;
}

.package_sec .right_package .box.book_now .total label {
  color: #fff;
  font-size: 20px;
}

.package_sec .right_package .box.book_now .total p {
  color: #fff;
  text-align: right;
  font-size: 20px;
}

.package_sec .right_package .ket_btm a.left {
  color: #b43302;
  text-decoration: underline;
  font-size: 18px;
  font-family: "Lato", sans-serif;
  margin: 20px 0 0 35px;
  display: inline-block;
}

.package_sec .right_package .ket_btm .btn_round {
  margin-right: 30px;
}

.qty_input {
  position: relative;
  padding: 0 30px;
  width: 45px;
}

.qty_input .input_val {
  border: none;
  width: 50px;
  padding: 0;
  text-align: center;
  font-size: 20px;
  color: #333;
  height: 30px;
  line-height: 30px;
}

.qty_input button {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  border: none;
  font-size: 0;
  z-index: 2;
  cursor: pointer;
}

.qty_input button.min {
  left: 0;
  right: auto;
  width: 30px;
  height: 30px;
  background: url("../images/material/ico_min.png") no-repeat top center;
}

.qty_input button.plus {
  right: 0;
  left: auto;
  width: 30px;
  height: 30px;
  background: url("../images/material/ico_plus.png") no-repeat top center;
}

.qty_input button:hover {
  background-position: bottom center !important;
}

.tab_packages {
  margin: 0 -20px 0 -50px;
}

.tab_packages .nav {
  padding: 0 20px 0 50px;
  border-bottom: 1px solid #d8d8d8;
  margin: 55px 0;
  display: block;
  position: relative;
}

.tab_packages .nav a {
  font-size: 17px;
  display: inline-block;
  color: #999;
  padding-bottom: 20px;
  margin-right: 50px;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
  position: relative;
}

.tab_packages .nav a.active, .tab_packages .nav a:hover {
  color: #333;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.tab_packages .nav a.active:after, .tab_packages .nav a:hover:after {
  width: 100%;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.tab_packages .nav a:last-of-type {
  margin-right: 0;
}

.tab_packages .nav a:after {
  content: "";
  height: 3px;
  background: #b43302;
  left: 0;
  right: 0;
  width: 0;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 0px;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.tab_packages .tab_content {
  padding: 0 20px 0 50px;
}

.tab_packages .tab_content .dec_tab {
  display: none;
  position: relative;
}

.tab_packages .tab_content .dec_tab .drop_mobile {
  display: none;
}

.tab_packages .tab_content .dec_tab .list_diagram {
  position: relative;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour {
  padding-left: 95px;
  position: relative;
  margin-bottom: 30px;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .day {
  position: absolute;
  left: 0;
  display: inline-block;
  padding-left: 18px;
  font-size: 18px;
  font-weight: 700;
  color: #b43302;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .day:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #b43302;
  position: absolute;
  left: -5px;
  top: 5px;
  display: block;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour h6 {
  font-size: 18px;
  color: #666;
  font-weight: 700;
  margin-bottom: 10px;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour p {
  font-size: 16px;
  line-height: 26px;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .img {
  margin: 20px 0;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide {
  padding: 20px;
  background: #fafafa;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide h4 {
  font-size: 13px;
  color: #b43302;
  font-weight: 500;
  margin-bottom: 15px;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slide {
  position: relative;
  margin: 0 5px;
  cursor: pointer;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slide .images {
  position: relative;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slide .images img {
  display: block;
  width: 100%;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slide .images .star {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 3px 5px;
  background: rgba(0, 0, 0, 0.7);
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slide .images .star span {
  width: 9px;
  height: 8px;
  background: url("../images/material/star_litle.png") no-repeat top center;
  display: inline-block;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slide .images .star span.act {
  background-position: bottom center;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slide .bx_dec {
  padding: 10px;
  border: 1px solid #ddd;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slide .bx_dec h6 {
  font-size: 13px;
  margin-bottom: 0;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slide:hover .bx_dec h6 {
  color: #b43302;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slick-arrow {
  font-size: 0;
  border: none;
  width: 10px;
  height: 10px;
  padding: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 10px solid #333;
  background: none;
  position: absolute;
  z-index: 2;
  left: -12px;
  cursor: pointer;
  margin: auto;
  top: 0;
  bottom: 0;
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider .slick-arrow.slick-next {
  left: auto;
  right: -12px;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

.tab_packages .tab_content .dec_tab .list_diagram .info_tour .box_slide .slider:after {
  display: block;
  content: "";
  clear: both;
}

.tab_packages .tab_content .dec_tab .list_diagram:after {
  content: "";
  display: block;
  width: 1px;
  background: #b43302;
  position: absolute;
  left: 4px;
  bottom: 0;
  top: 5px;
  height: 100%;
}

.tab_packages .tab_content .dec_tab .list_diagram:before {
  content: "";
  position: absolute;
  width: 10px;
  height: 5px;
  background: #fff;
  left: -4px;
  top: 0;
}

.tab_packages .tab_content .dec_tab ul li {
  font-size: 18px;
  line-height: 30px;
  position: relative;
  padding-left: 25px;
  margin-bottom: 13px;
}

.tab_packages .tab_content .dec_tab ul li:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #b43302;
  position: absolute;
  left: 0;
  top: 10px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.tab_packages .tab_content .dec_tab table {
  width: 100%;
  border: 1px solid #d8d8d8;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  margin-bottom: 20px;
  position: relative;
}

.tab_packages .tab_content .dec_tab table thead {
  background: #fafafa;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}

.tab_packages .tab_content .dec_tab table thead th {
  color: #b43302;
  text-transform: uppercase;
  font-family: "Nova Flat", cursive;
  font-size: 14px;
  height: 45px;
  padding: 5px 10px;
  vertical-align: middle;
  text-align: left;
}

.tab_packages .tab_content .dec_tab table thead th:nth-of-type(1) {
  border-radius: 0 0 4px 0;
  -webkit-border-radius: 0 0 4px 0;
  -moz-border-radius: 0 0 4px 0;
  -ms-border-radius: 0 0 4px 0;
  -o-border-radius: 0 0 4px 0;
  padding-left: 40px;
}

.tab_packages .tab_content .dec_tab table thead th:last-of-type {
  width: 150px;
  padding-right: 40px;
}

.tab_packages .tab_content .dec_tab table tbody td {
  padding: 20px 10px;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  color: #666;
  border-bottom: 1px solid #d8d8d8;
}

.tab_packages .tab_content .dec_tab table tbody td:nth-of-type(1) {
  padding-left: 40px;
}

.tab_packages .tab_content .dec_tab table tbody td:last-of-type {
  padding-right: 40px;
}

.tab_packages .tab_content .dec_tab .drop_txt {
  max-height: 430px;
  padding-bottom: 50px;
  position: relative;
  overflow-y: hidden;
  padding-left: 5px;
  transition: max-height ease-out 0.6s;
  -webkit-transition: max-height ease-out 0.6s;
  -moz-transition: max-height ease-out 0.6s;
  -ms-transition: max-height ease-out 0.6s;
  -o-transition: max-height ease-out 0.6s;
}

.tab_packages .tab_content .dec_tab .drop_txt .drop_btn {
  position: absolute;
  left: 0px;
  right: 0;
  bottom: 0;
  margin: auto;
  top: auto;
  z-index: 3;
  background: #fff;
  height: 60px;
}

.tab_packages .tab_content .dec_tab .drop_txt .drop_btn span {
  width: 30px;
  height: 30px;
  background: #fff url("../images/material/ico_plus.png") no-repeat top center;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0px;
  margin: auto;
  z-index: 2;
  cursor: pointer;
}

.tab_packages .tab_content .dec_tab .drop_txt .drop_btn span:hover {
  background-position: bottom center !important;
}

.tab_packages .tab_content .dec_tab .drop_txt .drop_btn span.active {
  background: #fff url("../images/material/ico_min.png") no-repeat top center;
}

.tab_packages .tab_content .dec_tab .drop_txt .drop_btn:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 15px;
  margin: auto;
  display: block;
  height: 1px;
  background: #ccc;
  z-index: 1;
}

.tab_packages .tab_content .dec_tab .drop_txt.active {
  max-height: unset;
  transition: max-height ease-out 0.6s;
  -webkit-transition: max-height ease-out 0.6s;
  -moz-transition: max-height ease-out 0.6s;
  -ms-transition: max-height ease-out 0.6s;
  -o-transition: max-height ease-out 0.6s;
}

.status_pop > .row:nth-of-type(1) {
  height: 60px;
  background: #fafafa;
  font-family: "Nova Flat", cursive;
  color: #b43302;
  border-bottom: none;
}

.status_pop > .row:nth-of-type(1) .col {
  text-transform: uppercase;
}

.status_pop .row {
  font-size: 14px;
  font-family: "Lato", sans-serif;
  border-bottom: 1px solid #d8d8d8;
  transition: background ease-out 0.25s;
  -webkit-transition: background ease-out 0.25s;
  -moz-transition: background ease-out 0.25s;
  -ms-transition: background ease-out 0.25s;
  -o-transition: background ease-out 0.25s;
  background: #fff;
}

.status_pop .row .col {
  float: left;
  width: 65%;
  margin-right: 5%;
  padding: 20px 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.status_pop .row .col:nth-of-type(2) {
  width: 25%;
  margin-right: 0;
}

.status_pop .row .col .ico_status {
  display: block;
  position: relative;
  padding-left: 30px;
  line-height: 20px;
  font-family: "Lato", sans-serif;
  color: #333;
  font-weight: 900;
  font-size: 14px;
  text-transform: capitalize;
}

.status_pop .row .col .ico_status:before {
  height: 18px;
  width: 18px;
  background: #4bba52;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
}

.status_pop .row .col .ico_status.sold:before {
  background: #ed1c24;
}

.status_pop .row .col .ico_status.wait:before {
  background: #fbaf5d;
}

.status_pop .row a {
  color: #666;
  display: block;
}

.status_pop .row:hover > a {
  background: #d8d8d8;
  transition: background ease-out 0.25s;
  -webkit-transition: background ease-out 0.25s;
  -moz-transition: background ease-out 0.25s;
  -ms-transition: background ease-out 0.25s;
  -o-transition: background ease-out 0.25s;
  background: #d8d8d8;
}

.status_pop .row.select_btn {
  background: #333;
  border-bottom: none;
}

.status_pop .row.select_btn .col {
  width: 25%;
  color: #fff;
}

.status_pop .row.select_btn .col:nth-of-type(1) {
  padding-right: 10px;
  font-size: 20px;
  margin-top: 10px;
  font-weight: 700;
}

.status_pop .row.select_btn .col:nth-of-type(2) {
  width: 70%;
  text-align: right;
}

.status_pop .row.select_btn .col a.btn_round {
  display: inline-block;
  min-width: 150px;
  line-height: 40px;
  margin-left: 20px;
}

.status_pop .row.select_btn .col a.btn_round span {
  color: #fff;
}

.status_pop .row.select_btn:hover a {
  background: none;
}

.status_pop .isi {
  max-height: 300px;
  overflow: auto;
  position: relative;
}

.signin_pg {
  position: relative;
}

.signin_pg .img img {
  width: 100%;
}

.form_sign {
  position: absolute;
  left: 0;
  right: 0;
  width: 470px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: auto;
}

.form_sign h6 {
  font-size: 14px;
  color: #b43302;
  font-family: "Nova Flat", cursive;
  margin-bottom: 15px;
  letter-spacing: 2px;
}

.form_sign h1 {
  font-size: 50px;
  color: #333;
  margin-bottom: 45px;
}

.form_sign input[type="email"],
.form_sign input[type="password"] {
  width: 100%;
  border: 1px solid #999;
  color: #b43302;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: transparent;
  font-size: 14px;
  font-family: "Lato", sans-serif;
  padding: 20px 30px;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
  margin-bottom: 20px;
  font-weight: 300;
}

.form_sign .link_btn {
  margin-top: 40px;
  text-align: center;
}

.form_sign .link_btn > span {
  display: inline-block;
  font-size: 18px;
  color: #333;
  line-height: 60px;
}

.form_sign .link_btn .right span {
  color: #333;
}

.form_sign .link_ck .link_forgot {
  float: right;
  font-family: "Lato", sans-serif;
  color: #999;
  font-size: 16px;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.form_sign .link_ck .link_forgot:hover {
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
  color: #b43302;
}

.form_sign .ck_radio {
  color: #999;
}

.form_sign .ck_radio input[type="checkbox"] {
  background: url("../images/material/ico_radio_2.png") no-repeat top center;
}

.box_signup {
  background: #f9f9f9;
  margin-bottom: 60px;
  position: relative;
}

.box_signup .img {
  width: 550px;
  position: absolute;
  left: auto;
  bottom: 0;
  top: 130px;
  right: 50px;
}

.box_signup .img img {
  position: relative;
  width: 100%;
}

.box_signup .right_form {
  width: 900px;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 125px 0px 50px 50px;
}

.box_signup .right_form.log_desti {
  padding-top: 60px;
}

.list_step {
  width: 960px;
  margin: -50px auto 55px;
}

.list_step .step {
  float: left;
  width: 33.33%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 12px 30px 8px;
  border: 1px solid #d8d8d8;
  border-right: none;
}

.list_step .step:nth-of-type(1) {
  padding-left: 40px;
  border-radius: 30px 0 0 30px;
  -webkit-border-radius: 30px 0 0 30px;
  -moz-border-radius: 30px 0 0 30px;
  -ms-border-radius: 30px 0 0 30px;
  -o-border-radius: 30px 0 0 30px;
}

.list_step .step:nth-of-type(3) {
  border-right: 1px solid #d8d8d8;
  padding-right: 40px;
  border-radius: 0 30px 30px 0;
  -webkit-border-radius: 0 30px 30px 0;
  -moz-border-radius: 0 30px 30px 0;
  -ms-border-radius: 0 30px 30px 0;
  -o-border-radius: 0 30px 30px 0;
}

.list_step .step h5 {
  font-size: 18px;
  color: #b43302;
  margin-bottom: 5px;
}

.list_step .step span {
  font-size: 14px;
  color: #999;
  font-family: "Lato", sans-serif;
  display: block;
}

.list_step .step.active {
  background: #b43302;
  border-color: #b43302;
}

.list_step .step.active h5 {
  color: #fff;
}

.list_step .step.active span {
  color: #fff;
}

.top_form {
  margin-bottom: 35px;
}

.top_form p {
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 30px;
}

.top_form h2 {
  float: left;
  font-size: 24px;
  color: #333;
  padding-left: 50px;
  background: url("../images/material/ico_login.png") no-repeat left center;
  line-height: 36px;
  float: none;
}

.top_form h2 + p {
  margin-top: 30px;
}

.top_form .right {
  color: #999;
  margin-top: 10px;
  margin-bottom: 0;
  font-family: "Lato", sans-serif;
  color: #999;
  float: none;
  margin-top: 20px;
  display: block;
}

.top_form .right a {
  color: #b43302;
  text-decoration: underline;
  display: inline-block;
  margin-left: 5px;
}

.top_form.log2 h2 {
  background: url("../images/material/ico_plan.png") no-repeat left center;
}

.bnnr_dash {
  position: relative;
}

.bnnr_dash .info_dash {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.bnnr_dash .info_dash .ico_profile {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
}

.bnnr_dash .info_dash .info_profile {
  display: inline-block;
  vertical-align: middle;
  margin-left: 90px;
}

.bnnr_dash .info_dash .info_profile h4 {
  color: #fff;
  font-size: 30px;
  font-weight: 300;
  margin-bottom: 15px;
}

.bnnr_dash .info_dash .info_profile h4 span {
  display: block;
  font-weight: 600;
  margin-top: 5px;
}

.bnnr_dash .info_dash .info_profile p {
  color: #999;
  font-size: 16px;
}

.pg_dashboard {
  padding: 65px 0;
}

.pg_dashboard .block_lf {
  float: left;
  width: 460px;
}

.pg_dashboard .block_rh {
  float: right;
  width: 780px;
}

.pg_dashboard .block_rh .list_trip .box_trip {
  position: relative;
  margin-bottom: 22px;
}

.pg_dashboard .block_rh .list_trip .box_trip .img {
  position: relative;
}

.pg_dashboard .block_rh .list_trip .box_trip .img img {
  display: block;
}

.pg_dashboard .block_rh .list_trip .box_trip .img:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  background: rgba(0, 0, 0, 0.4);
}

.pg_dashboard .block_rh .list_trip .box_trip .text_trip {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 65px;
  right: 65px;
  color: #fff;
}

.pg_dashboard .block_rh .list_trip .box_trip .text_trip h6 {
  font-family: "Nova Flat", cursive;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 22px;
}

.pg_dashboard .block_rh .list_trip .box_trip .text_trip h3 {
  font-weight: 700;
  font-size: 30px;
  margin-bottom: 15px;
}

.pg_dashboard .block_rh .list_trip .box_trip .text_trip p {
  font-size: 20px;
  margin-bottom: 25px;
}

.pg_dashboard .block_rh .list_trip .box_trip .text_trip .btn_round:before {
  border-width: 1px;
}

.pg_dashboard .block_rh .box .label_info a {
  position: absolute;
  right: 40px;
  top: 25px;
  margin: auto;
  display: inline-block;
  color: #b43302;
  font-size: 14px;
}

.pg_dashboard .block_rh .box .isi_info .col p {
  margin-left: 200px;
}

.pg_dashboard .block_rh .box .isi_info .col p.mail {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: help;
}

.pg_dashboard .block_rh .select2-container--default .select2-selection--multiple .select2-selection__rendered {
  padding: 5px 10px;
}

.pg_dashboard .block_rh .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #fff;
  margin-right: 5px;
}

.pg_dashboard .block_rh .select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #d8d8d8;
}

.pg_dashboard .block_rh .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: #b43302;
  font-size: 14px;
  color: #fff;
  padding: 5px;
  border: none;
}

.pg_dashboard .box {
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  margin-bottom: 22px;
}

.pg_dashboard .box .label_info {
  padding: 15px 40px;
  background: #fafafa;
}

.pg_dashboard .box .label_info h3 {
  font-size: 14px;
  font-family: "Nova Flat", cursive, cursive;
  color: #b43302;
  padding-left: 35px;
  line-height: 30px;
  letter-spacing: 3px;
}

.pg_dashboard .box .label_info.profile h3 {
  background: url("../images/material/ico_login_2.png") no-repeat left center;
}

.pg_dashboard .box .label_info.history h3 {
  background: url("../images/material/ico_history.png") no-repeat left center;
}

.pg_dashboard .box .label_info.photo h3 {
  background: url("../images/material/ico_photo.png") no-repeat left center;
}

.pg_dashboard .box .isi_info {
  padding: 30px 40px;
}

.pg_dashboard .box .isi_info .col {
  margin-bottom: 25px;
}

.pg_dashboard .box .isi_info .col label {
  float: left;
  max-width: 140px;
  display: block;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #999;
  line-height: 20px;
}

.pg_dashboard .box .isi_info .col p {
  display: block;
  margin-left: 150px;
  margin-bottom: 0;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #333;
  font-weight: 600;
}

.pg_dashboard .box .isi_info .col p.mail {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: help;
}

.pg_dashboard .box .isi_info .col.link_edit {
  margin: 35px -40px -30px;
  text-align: center;
  border-top: 1px solid #d8d8d8;
}

.pg_dashboard .box .isi_info .col.link_edit .edit {
  font-size: 14px;
  color: #b43302;
  display: inline-block;
  padding: 12px;
  font-weight: 500;
}

.pg_dashboard .box .isi_info table {
  width: 100%;
}

.pg_dashboard .box .isi_info table tbody td {
  padding: 15px 5px;
  font-size: 16px;
}

.pg_dashboard .box .isi_info table tbody td:first-child {
  padding-left: 0;
  color: #999;
}

.pg_dashboard .box .isi_info table tbody td:last-child {
  text-align: right;
  padding-right: 0;
}

.pg_dashboard .box .isi_info table tbody td:last-child a {
  color: #b43302;
  font-size: 16px;
  font-weight: 500;
}

.pg_dashboard .box .isi_info table tbody tr:nth-child(1) td {
  padding-top: 0;
}

.pg_dashboard .box .isi_info .input-list {
  display: none;
}

.pg_dashboard .box .isi_info .list-box {
  width: 350px;
  margin: 0 auto;
}

.pg_dashboard .box .isi_info .list-box .toggle {
  position: relative;
  text-align: center;
}

.pg_dashboard .box .isi_info .list-box .toggle h3 {
  padding-top: 55px;
  font-size: 18px;
  font-family: "Lato", sans-serif;
  color: #fff;
  text-align: center;
  left: 0;
  right: 0;
  background: url("../images/material/upload_ico.png") no-repeat top center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  font-weight: 600;
}

.pg_dashboard .box .isi_info .list-box .toggle .img {
  position: relative;
  height: 350px;
  width: 350px;
  overflow: hidden;
}

.pg_dashboard .box .isi_info .list-box .toggle a {
  font-size: 18px;
  display: inline-block;
  padding-left: 30px;
  background: url("../images/material/del.png") no-repeat left center;
  color: #b43302;
  font-weight: 500;
  margin-top: 30px;
  line-height: 25px;
}

.pg_dashboard .box .isi_info .list-box.sucess .toggle {
  display: none;
}

.pg_dashboard .box .isi_info .list-box .box {
  border: none;
  text-align: center;
  margin-bottom: 0;
  overflow: hidden;
}

.pg_dashboard .box .isi_info .list-box .box .img {
  position: relative;
  height: 350px;
  width: 350px;
  overflow: hidden;
  margin: 0 auto;
  display: block;
}

.pg_dashboard .box .isi_info .list-box .box a {
  font-size: 18px;
  display: inline-block;
  padding-left: 30px;
  background: url("../images/material/del.png") no-repeat left center;
  color: #b43302;
  font-weight: 500;
  margin-top: 30px;
  line-height: 25px;
}

.pg_dashboard .box_add {
  padding: 35px;
  border: 1px solid #d8d8d8;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  text-align: center;
}

.pg_dashboard .box_add a {
  display: block;
  color: #999;
}

.pg_dashboard .box_add a:hover {
  color: #b43302;
}

.pg_dashboard .box_add a:hover .ico {
  background-position: bottom center !important;
}

.pg_dashboard .box_add h4 {
  font-size: 30px;
  font-weight: 300;
}

.pg_dashboard .box_add .ico {
  display: inline-block;
  width: 50px;
  height: 50px;
  margin-top: 10px;
}

.select2-results__option {
  font-size: 14px;
}

.box_booking {
  position: relative;
  margin-bottom: 45px;
}

.box_booking .item_booking {
  border: 1px solid #d8d8d8;
}

.box_booking .item_booking .top_book {
  padding: 12px 40px;
  background: #b43302;
}

.box_booking .item_booking .top_book h6 {
  font-size: 16px;
  text-transform: uppercase;
  color: #fff;
  font-family: "Lato", sans-serif;
}

.box_booking .item_booking .text_booking {
  padding: 30px 40px 47px;
}

.box_booking .item_booking .text_booking h1 {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 15px;
}

.box_booking .item_booking .text_booking .tgl {
  font-size: 20px;
  color: #333;
  margin-bottom: 20px;
  display: block;
}

.box_booking .item_booking .text_booking p {
  font-family: "Lato", sans-serif;
  color: #666;
  font-size: 18px;
  line-height: 30px;
  margin-bottom: 30px;
}

.box_booking .item_booking .text_booking .link {
  margin-top: 30px;
}

.box_booking .item_booking .text_booking .link a {
  display: inline-block;
}

.box_booking .item_booking .text_booking .link a:first-child {
  margin-right: 20px;
}

.box_booking .item_booking .text_booking .link a:last-child {
  margin-right: 0px;
}

.box_booking .item_booking .text_booking .link a.back {
  font-family: "Lato", sans-serif;
  color: #333;
  font-weight: 700;
  margin-top: 25px;
  font-size: 18px;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.box_booking .item_booking .text_booking .link a.back:hover {
  color: #b43302;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

.box_booking .item_booking .text_booking hr {
  border: none;
  border-bottom: 1px solid #d8d8d8;
  margin: 30px 0;
}

.box_booking .item_booking .text_booking .ket_detail .col {
  margin-bottom: 20px;
}

.box_booking .item_booking .text_booking .ket_detail .col label {
  float: left;
  font-size: 18px;
  font-family: "Lato", sans-serif;
  color: #999;
  display: inline-block;
  line-height: 30px;
}

.box_booking .item_booking .text_booking .ket_detail .col p,
.box_booking .item_booking .text_booking .ket_detail .col ul {
  display: block;
  margin-left: 200px;
}

.box_booking .item_booking .text_booking .ket_detail .col p {
  font-size: 18px;
  font-weight: 600;
  line-height: 30px;
  margin-bottom: 0;
}

.box_booking .item_booking .text_booking .ket_detail .col ul li {
  font-size: 18px;
  font-weight: 600;
  line-height: 30px;
  color: #666;
  margin-bottom: 10px;
}

.box_booking.paid .item_booking .top_book {
  background: #2c2c2c;
}

.box_booking.done .item_booking .top_book {
  background: #1695c4;
}

.datepicker-dropdown {
  position: absolute;
  background: #fff;
  z-index: 5;
  padding: 10px;
  box-shadow: 0 0 20px -4px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 0 20px -4px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0 20px -4px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0 0 20px -4px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0 0 20px -4px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  display: none;
}

.datepicker-dropdown td,
.datepicker-dropdown th {
  width: 30px;
  height: 25px;
  vertical-align: middle;
}

.datepicker-dropdown:before, .datepicker-dropdown:after {
  left: 25px;
}

.datepicker-dropdown thead tr:first-child th:hover,
.datepicker-dropdown tfoot tr:first-child th:hover {
  background: rgba(180, 51, 2, 0.4);
}

.datepicker-dropdown th {
  font-weight: 600;
}

.datepicker-dropdown th.switch {
  font-size: 14px;
  font-weight: 700;
  height: 30px;
}

.datepicker-dropdown th.prev i,
.datepicker-dropdown th.next i {
  width: 14px;
  height: 8px;
  background: url("../images/material/arr_select_adv.png") no-repeat;
  display: inline-block;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}

.datepicker-dropdown th.next i {
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.datepicker-dropdown table tr td.day:hover,
.datepicker-dropdown table tr td span:hover {
  background: rgba(180, 51, 2, 0.4);
}

.datepicker-dropdown table tr td.active.active,
.datepicker-dropdown table tr td.active.active:hover {
  background: #b43302;
}

.datepicker-dropdown table tr td span.active.active,
.datepicker-dropdown table tr td span.active.active:hover {
  background: #b43302;
}

/* footer
----------------------------------------------------------------------------------------------*/
.floating-contact {
  position: fixed;
  bottom: 30px;
  right: 30px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 10;
  transition: 0.2s all ease-out;
}

.floating-contact a {
  display: block;
  box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
}

.floating-contact a img {
  width: 60px;
  height: 60px;
}

.floating-contact a:hover {
  transform: scale(0.9);
}

footer .top_foot {
  background: #f3f3f3;
  padding: 75px 0 60px;
}

footer .top_foot .wrapper {
  display: flex;
}

footer .top_foot .box {
  float: left;
}

footer .top_foot .box:nth-of-type(1) {
  width: 315px;
  margin-right: 90px;
}

footer .top_foot .box:nth-of-type(1) p {
  font-size: 14px;
  font-weight: 700;
  color: #666;
  font-family: "Lato", sans-serif;
  line-height: 24px;
  margin: 0;
}

footer .top_foot .mnu_foot {
  max-width: 790px;
}

footer .top_foot .mnu_foot ul li {
  display: inline-block;
  width: 230px;
  margin-bottom: 5px;
  margin-right: 35px;
}

footer .top_foot .mnu_foot ul li:nth-child(3n) {
  margin-right: 0;
}

footer .top_foot .mnu_foot ul li a {
  font-size: 14px;
  text-transform: uppercase;
  color: #555;
  padding: 5px;
  display: inline-block;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

footer .top_foot .mnu_foot ul li a:hover {
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
  color: #b43302;
}

footer .top_foot .follow h6 {
  font-size: 14px;
  text-transform: uppercase;
  margin: 5px 0 15px;
}

footer .top_foot .follow .sos {
  margin-bottom: 20px;
}

footer .top_foot .follow .sos a {
  display: inline-block;
  width: 30px;
  height: 30px;
  font-size: 0;
  vertical-align: top;
  margin-right: 6px;
}

footer .top_foot .follow .sos a:hover {
  background-position: bottom center !important;
}

footer .top_foot .follow .ico_phone {
  padding-left: 40px;
  background: url("../images/material/phone_ico.png") no-repeat left center;
  line-height: 27px;
  font-size: 18px;
  color: #555;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  margin-bottom: 0;
}

footer .btm_foot {
  background: #2c2c2c;
  height: 100px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 45px;
}

footer .btm_foot .left p {
  color: #acacac;
  margin: 0;
  font-family: "Lato", sans-serif;
  font-size: 14px;
}

footer .btm_foot .left p a {
  color: #acacac;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

footer .btm_foot .left p a:hover {
  color: #fff;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
}

footer .btm_foot .right a {
  color: #acacac;
  margin: 0;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
  padding-right: 15px;
  margin-right: 20px;
  border-right: 1px solid #acacac;
}

footer .btm_foot .right a:hover {
  transition: color ease-out 0.25s;
  -webkit-transition: color ease-out 0.25s;
  -moz-transition: color ease-out 0.25s;
  -ms-transition: color ease-out 0.25s;
  -o-transition: color ease-out 0.25s;
  color: #fff;
}

footer .btm_foot .right a:last-child {
  padding-right: 0;
  border-right: none;
  margin-right: 0;
}

/* popup
----------------------------------------------------------------------------------------------*/
.wrap_popup {
  position: fixed;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 999999;
  display: none;
  overflow-y: auto;
}

.wrap_popup .pop_inner {
  position: absolute;
  display: table;
  height: 100%;
  width: 100%;
}

.wrap_popup .pop_inner .overlay_pop {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 7;
}

.wrap_popup .pop_inner .box_pop {
  display: table-cell;
  vertical-align: middle;
}

.wrap_popup .pop_inner .content_pop {
  margin: 3% auto;
  position: relative;
  z-index: 8;
  width: 615px;
  padding: 0;
}

.wrap_popup.wrap_order .pop_inner .content_pop {
  background: #f2f2f2;
  width: 420px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  min-height: 640px;
  border-radius: 7px;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  -ms-border-radius: 7px;
  -o-border-radius: 7px;
}

#pop_hotel .pop_inner .content_pop {
  margin: 3% auto;
  position: relative;
  z-index: 8;
  width: 1300px;
  padding: 45px 60px 50px;
  background: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#pop_hotel .pop_inner .content_pop .close {
  width: 45px;
  height: 45px;
  background: #b43302;
  position: absolute;
  top: 0;
  right: 0;
}

#pop_hotel .pop_inner .content_pop .close span {
  width: 26px;
  height: 3px;
  background: #fff;
  display: inline-block;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 22px;
  position: absolute;
  left: 10px;
}

#pop_hotel .pop_inner .content_pop .close span:nth-child(2) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#pop_hotel .pop_inner .content_pop .top_popup {
  text-align: center;
  margin-bottom: 50px;
}

#pop_hotel .pop_inner .content_pop .top_popup h3 {
  font-size: 26px;
  color: #333;
  font-weight: 600;
  margin-bottom: 10px;
}

#pop_hotel .pop_inner .content_pop .top_popup p {
  font-size: 13px;
  font-family: "Lato", sans-serif;
}

#pop_hotel .pop_inner .content_pop .top_popup .star span {
  display: inline-block;
  width: 14px;
  height: 13px;
  background: url("../images/material/star_detail.png") no-repeat top center;
  margin-bottom: 15px;
}

#pop_hotel .pop_inner .content_pop .top_popup .star span.act {
  background-position: bottom center;
}

#pop_hotel .pop_inner .content_pop .content_resort .left {
  width: 45%;
}

#pop_hotel .pop_inner .content_pop .content_resort .left h4 {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin-bottom: 15px;
}

#pop_hotel .pop_inner .content_pop .content_resort .left p {
  font-size: 18px;
  font-family: "Lato", sans-serif;
  color: #666;
  line-height: 26px;
}

#pop_hotel .pop_inner .content_pop .content_resort .left ul li {
  font-size: 18px;
  font-family: "Lato", sans-serif;
  color: #666;
  line-height: 26px;
  padding-left: 20px;
  position: relative;
}

#pop_hotel .pop_inner .content_pop .content_resort .left ul li:before {
  content: "-";
  font-size: 18px;
  color: #666;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
}

#pop_hotel .pop_inner .content_pop .content_resort .right {
  width: 50%;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .img {
  float: left;
  width: 32%;
  margin-right: 2%;
  margin-bottom: 10px;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .img img {
  display: block;
  width: 100%;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .img.big {
  width: 100%;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .img:last-of-type {
  margin-right: 0;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .slide_big {
  margin-bottom: 15px;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .slide_big .slide img {
  display: block;
  width: 100%;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .thumb_slide .thumb {
  margin: 0 6px;
  cursor: pointer;
  position: relative;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .thumb_slide .thumb:after {
  content: "";
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .thumb_slide .thumb.slick-current:after {
  opacity: 0;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .thumb_slide .slick-arrow {
  font-size: 0;
  border: none;
  width: 10px;
  height: 10px;
  padding: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 10px solid #333;
  background: none;
  position: absolute;
  z-index: 2;
  left: -12px;
  cursor: pointer;
  margin: auto;
  top: 0;
  bottom: 0;
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .thumb_slide .slick-arrow.slick-next {
  left: auto;
  right: -12px;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

#pop_hotel .pop_inner .content_pop .content_resort .list-img .thumb_slide .slick-arrow.slick-disabled {
  border-right-color: #ccc;
}

#pop_hotel .pop_inner .content_pop .content_resort:after {
  content: "";
  clear: both;
  display: block;
}

.top_box {
  height: 60px;
  background: #fff;
  border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -ms-border-radius: 5px 5px 0 0;
  -o-border-radius: 5px 5px 0 0;
}

.top_box .close_box {
  width: 22px;
  height: 22px;
  display: block;
  position: relative;
  float: left;
  margin: 18px 15px;
}

.top_box .close_box span {
  height: 2px;
  width: 100%;
  background: #d8d8d8;
  position: absolute;
  top: 9px;
  z-index: 2;
  display: block;
  left: 0;
}

.top_box .close_box span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.top_box .close_box span:nth-child(2) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.top_box .close_box:hover span {
  background: #b43302;
}

.top_box .bk_box span {
  width: 70%;
  top: 17px;
  left: 3px;
}

.top_box .bk_box span:nth-child(2) {
  top: 8px;
}

.top_box .logo_pop {
  float: left;
  padding: 9px 0 9px 15px;
  margin: 11px 0 0;
  border-left: 1px solid #d8d8d8;
}

.top_box .right span {
  font-size: 13px;
  color: #b43302;
  font-weight: 700;
  display: block;
  line-height: 60px;
  padding-right: 20px;
}

.amount {
  background: #fff;
  padding: 15px 10px 15px 20px;
  border-left: 2px solid #b43302;
  border-bottom: 2px solid #b43302;
  margin: 12px 10px;
}

.amount label {
  font-size: 14px;
  float: left;
  color: #b43302;
  font-family: "Lato", sans-serif;
}

.amount .total_amount {
  display: block;
  margin-left: 150px;
  text-align: right;
  font-size: 30px;
  color: #b43302;
  font-family: "Lato", sans-serif;
}

.amount .total_amount span {
  font-size: 20px;
  display: inline-block;
  vertical-align: top;
  margin-right: 5px;
}

.detail_list {
  background: #fff;
  padding: 15px 10px 15px 20px;
  margin: 12px 10px;
}

.detail_list h4 {
  font-size: 14px;
  color: #333;
  padding-bottom: 10px;
  border-bottom: 3px solid #b43302;
  font-weight: 600;
  text-align: center;
  margin-bottom: 10px;
}

.detail_list table {
  width: 100%;
}

.detail_list table td,
.detail_list table th {
  font-size: 14px;
  color: #333;
  padding: 15px 5px;
}

.detail_list table td:first-child,
.detail_list table th:first-child {
  text-align: left;
  padding-left: 0;
}

.detail_list table td:last-child,
.detail_list table th:last-child {
  text-align: right;
  padding-right: 0;
}

.detail_list table th {
  font-size: 13px;
  color: #999;
  padding: 10px 0;
  border-bottom: 1px solid #d8d8d8;
}

.detail_list table tbody tr:first-child td {
  padding-top: 25px;
}

.detail_list .list .item {
  padding: 12px 10px 12px 20px;
  border-bottom: 1px solid #d8d8d8;
  margin: 0 -10px 0 -20px;
}

.detail_list .list .item span {
  width: 35px;
  height: 50px;
  float: left;
  display: block;
}

.detail_list .list .item .txt_pay {
  display: block;
  margin-left: 50px;
  padding-right: 30px;
  margin-top: 10px;
}

.detail_list .list .item .txt_pay p {
  margin-bottom: 0;
}

.detail_list .list .item .txt_pay h6 {
  font-weight: 700;
}

.detail_list .list .item a {
  color: #666;
}

.detail_list .list .item:last-child {
  border-bottom: none;
  margin-bottom: -10px;
}

.continue {
  position: absolute;
  bottom: 0;
  display: block;
  background: #b43302 url("../images/material/ico_continue.png") no-repeat 93% center;
  color: #fff;
  left: 0;
  right: 0;
  padding: 20px 25px;
  font-size: 18px;
  font-weight: 700;
  border-radius: 0 0 6px 6px;
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  -ms-border-radius: 0 0 6px 6px;
  -o-border-radius: 0 0 6px 6px;
  transition: all ease-out 0.3s;
  -webkit-transition: all ease-out 0.3s;
  -moz-transition: all ease-out 0.3s;
  -ms-transition: all ease-out 0.3s;
  -o-transition: all ease-out 0.3s;
}

.continue:hover {
  color: #fff;
  background-color: #952c05;
  transition: all ease-out 0.3s;
  -webkit-transition: all ease-out 0.3s;
  -moz-transition: all ease-out 0.3s;
  -ms-transition: all ease-out 0.3s;
  -o-transition: all ease-out 0.3s;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwic2Fzcy1saWIuc2NzcyIsImJvdXJib24vX2JvdXJib24uc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fYXNzZXQtcGlwZWxpbmUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19jb250YWlucy1mYWxzeS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxpZ2h0LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbnVtYmVyLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3RpbnQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL191bnBhY2suc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19tb2R1bGFyLXNjYWxlLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsImJvdXJib24vaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLWFuZ2xlLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fc3RyLXRvLW51bS5zY3NzIiwiYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZmFjZS12aXNpYmlsaXR5LnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19ib3JkZXItaW1hZ2Uuc2NzcyIsImJvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwiYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwiYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsImJvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJib3VyYm9uL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3MiLCJib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsImJvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJib3VyYm9uL2NzczMvX2tleWZyYW1lcy5zY3NzIiwiYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsImJvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsImJvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsImJvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL190ZXh0LWRlY29yYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdXNlci1zZWxlY3Quc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXN0eWxlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYnV0dG9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsImJvdXJib24vYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2hpZGUtdGV4dC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX21hcmdpbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3BhZGRpbmcuc2NzcyIsImJvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RyaWFuZ2xlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCJib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBcclxuXHRDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG5cdERvY3VtZW50ICAgOiBTdHlsZXNoZWV0XHJcblx0QXV0aG9yICAgICA6IEhhcmxhblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbkBpbXBvcnQgXCJzYXNzLWxpYlwiO1xyXG5cclxuYm9keSB7XHJcbiAgY29sb3I6ICMzMzM7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGZvbnQtZmFtaWx5OiAkZl9tb250cztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcbmltZyB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxucCB7XHJcbiAgbWFyZ2luOiAxcHggMCAxNXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG59XHJcbmlucHV0LFxyXG50ZXh0YXJlYSxcclxuc2VsZWN0IHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBtYXJnaW46IDA7XHJcbiAgY29sb3I6ICM2NjY7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3JkZXItdG9wLXN0eWxlOiBub25lO1xyXG4gIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcclxuICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xyXG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBub25lO1xyXG59XHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xyXG4gIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuaDEge1xyXG4gIGZvbnQtc2l6ZTogMzJweDtcclxufVxyXG5oMiB7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG59XHJcbmgzIHtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbn1cclxuaDQge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5oNSB7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcbmg2IHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuLyogc3RydWN0dXJlIFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuc2VjdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi53cmFwcGVyIHtcclxuICB3aWR0aDogMTYwMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gICYudzEyNiB7XHJcbiAgICB3aWR0aDogMTI2MHB4O1xyXG4gIH1cclxuICAmLncxMzAge1xyXG4gICAgd2lkdGg6IDEzMDBweDtcclxuICB9XHJcbiAgJi5kZXRfZGVzIHtcclxuICAgIHdpZHRoOiAxMjAwcHg7XHJcbiAgfVxyXG59XHJcbnBpY3R1cmUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKiBnbG9iYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5hZnRlcl9jbGVhcjphZnRlcixcclxuLndyYXBwZXI6YWZ0ZXIsXHJcbnNlY3Rpb246YWZ0ZXIge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGNvbnRlbnQ6IFwiIFwiO1xyXG59XHJcbi5iZWZvcmVfY2xlYXI6YmVmb3JlIHtcclxuICBjbGVhcjogYm90aDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBjb250ZW50OiBcIiBcIjtcclxufVxyXG4uYS1sZWZ0IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcbi5hLXJpZ2h0IHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG4uYS1jZW50ZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uaXRhbGljIHtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuLmJvbGQge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5yZWd1bGFyIHtcclxuICBmb250LXdlaWdodDogbGlnaHRlcjtcclxufVxyXG4uZmwge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcbi5mciB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcbi5jbGVhciB7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbn1cclxuXHJcbi5idG5fcm91bmQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiAwIDI1cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDU2cHg7XHJcbiAgbWluLXdpZHRoOiAyMDBweDtcclxuICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDMwcHgpO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAmOmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMzBweCk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuNSkpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGVhc2Utb3V0IDAuMjVzKTtcclxuICB9XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygzMHB4KTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcclxuICB9XHJcbiAgc3BhbiB7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG5cclxuICAmLm9ybiB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjX2FkdjtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMikpO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjUpKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgIH1cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmljbyB7XHJcbiAgICBpIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMThweDtcclxuICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvYnRuX3BsdXMucG5nXCIpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGkge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5saXN0X29ybiB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC41KSk7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY19hZHY7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4yKSk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmxpdHRsZSB7XHJcbiAgICBsaW5lLWhlaWdodDogNDNweDtcclxuICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMjVweDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMjJweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMikpO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgfVxyXG4gICAgaSB7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnRuX3JvdW5kIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICYub3JuIHtcclxuICAgIGJhY2tncm91bmQ6ICRjX2FkdjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICM5NjJkMDg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlciB7XHJcbiAgei1pbmRleDogNSAhaW1wb3J0YW50O1xyXG4gIC51aS13aWRnZXQtaGVhZGVyIHtcclxuICB9XHJcbn1cclxuLnVpLXN0YXRlLWFjdGl2ZSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMTgwLCA1MSwgMiwgMC41KTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBib3JkZXItY29sb3I6ICRjX2FkdjtcclxufVxyXG5cclxuLyogaGVhZGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHotaW5kZXg6IDk7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDMwcHggMDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHBhZGRpbmcgMC4zcyBlYXNlLW91dCk7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAubGZfaGVhZCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICAuYnVyZ2VyIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjXzMzMztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAuaWNvX2JyZ2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyM3B4O1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgaGVpZ2h0OiAzcHg7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY18zMzM7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMGRlZykpO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMSksXHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpLFxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoNSksXHJcbiAgICAgICAgICAmOm50aC1jaGlsZCg2KSB7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0IHtcclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNwYW46bnRoLWNoaWxkKDEpLFxyXG4gICAgICAgICAgc3BhbjpudGgtY2hpbGQoNikge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzcGFuOm50aC1jaGlsZCgyKSxcclxuICAgICAgICAgIHNwYW46bnRoLWNoaWxkKDUpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNwYW46bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgbGVmdDogM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRvcDogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3BhbjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDNweCkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdG9wOiA0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNwYW46bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgbGVmdDogLTUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzcGFuOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3BhbjpudGgtY2hpbGQoNSkge1xyXG4gICAgICAgICAgICBsZWZ0OiAzcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzcGFuOm50aC1jaGlsZCg2KSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gM3B4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IDE2cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSxcclxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmljb19zcmMge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNfMzMzO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgIC5idG5fc3JjIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMjNweDtcclxuICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL3NyY19oZWFkLnBuZ1wiKSBuby1yZXBlYXQgcmlnaHQgdG9wO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAuYnRuX3NyYyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhbmcge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAuYWN0IHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyX2xhbmcucG5nXCIpIG5vLXJlcGVhdCByaWdodFxyXG4gICAgICAgICAgICBib3R0b207XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmRyb3Age1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDJweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuaWRyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAuZHJvcCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgcGFkZGluZzogOHB4IDVweCAxMHB4O1xyXG4gICAgICAgICAgbGVmdDogLTEwcHg7XHJcbiAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgQGluY2x1ZGUgYm94U2hhZG93KDAgM3B4IDEycHggLTNweCByZ2JhKDAsIDAsIDAsIDAuNCkpO1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2Utb3V0KTtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sb2dvIHtcclxuICAgIHdpZHRoOiA0NDBweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNDBweDtcclxuICAgIGEge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgJi5zdGF5IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAucmhfaGVhZCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICBuYXYge1xyXG4gICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiA2cHggMCAwIDI1cHg7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5idG5fcm91bmQge1xyXG4gICAgICAgICAgcGFkZGluZzogMCAyNXB4O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY19hZHY7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNfMzMzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgJi5idG5fcm91bmQge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbmQge1xyXG4gICAgICAubG9nbyB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuaG9tZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAubGZfaGVhZCB7XHJcbiAgICAgIC5idXJnZXIge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgLmljb19icmdlciB7XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSxcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpLFxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg2KSB7XHJcbiAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvKiY6bnRoLWNoaWxkKDIpIHtvcGFjaXR5OiAwO30qL1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjX2FkdjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuaWNvX3NyYyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIC5idG5fc3JjIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcclxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAuYnRuX3NyYyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5sYW5nIHtcclxuICAgICAgICAuYWN0IHtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9hcnJfbGFuZy5wbmdcIikgbm8tcmVwZWF0IHJpZ2h0XHJcbiAgICAgICAgICAgICAgdG9wO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZHJvcCB7XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pZHIge1xyXG4gICAgICAgICAgLmRyb3Age1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAubG9nbyB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICYuc3RheSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucmhfaGVhZCB7XHJcbiAgICAgIG5hdiB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgJi5idG5fcm91bmQge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAgICAgJi5idG5fcm91bmQge1xyXG4gICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5iZ193aGl0ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmZsb2F0IHtcclxuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDAuM3MgZWFzZS1vdXQpO1xyXG4gICAgLmxmX2hlYWQge1xyXG4gICAgICAuYnVyZ2VyIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY18zMzM7XHJcbiAgICAgICAgLmljb19icmdlciB7XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNfMzMzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjX2FkdjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuaWNvX3NyYyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY18zMzM7XHJcbiAgICAgICAgLmJ0bl9zcmMge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgLmJ0bl9zcmMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubGFuZyB7XHJcbiAgICAgICAgLmFjdCB7XHJcbiAgICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9hcnJfbGFuZy5wbmdcIikgbm8tcmVwZWF0IHJpZ2h0XHJcbiAgICAgICAgICAgICAgYm90dG9tO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZHJvcCB7XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5sb2dvIHtcclxuICAgICAgd2lkdGg6IDQ0MHB4O1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAmLnN0YXkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5yaF9oZWFkIHtcclxuICAgICAgbmF2IHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAgICYuYnRuX3JvdW5kIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjXzMzMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICAgICAgICAgICYuYnRuX3JvdW5kIHtcclxuICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuYmdfd2hpdGUge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGhlaWdodDogMTE1cHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG4ud3JhcF9kcm9wLFxyXG4ud3JhcF9zaWRlTW4ge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgei1pbmRleDogOTk5O1xyXG4gIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5vdmVybGF5X3NyYyB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHRvcDogMDtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5wb3Bfc3JjIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBoZWlnaHQ6IDE1MHB4O1xyXG4gIHotaW5kZXg6IDM7XHJcbiAgcGFkZGluZzogNDZweCAwO1xyXG4gIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICBmb3JtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6ICNkZWRlZGU7XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgICBjb2xvcjogI2RlZGVkZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL3NyY19kcm9wLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ud3JhcF9zaWRlTW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgei1pbmRleDogODtcclxufVxyXG4ub3ZlcmxheV9tbiB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHRvcDogMDtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL292ZXJsYXlfc2lkZS5qcGdcIikgbm8tcmVwZWF0IGNlbnRlcjtcclxuICB6LWluZGV4OiAyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubW51X3dyYXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDU1JTtcclxuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTUlKSk7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB6LWluZGV4OiA1O1xyXG4gIG5hdiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgdWwge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICAgICAgZm9udC1zaXplOiA2NXB4O1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgb3BhY2l0eTogMC4yNTtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1YiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogNTMwcHg7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI4NXB4O1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICB6LWluZGV4OiA2O1xyXG4gICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5saW5lIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnNpZ24ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLmJocyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLyogaG9tZXBhZ2VcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5zbGlkZUhvbWUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIC5zbGlkZXIge1xyXG4gICAgLnNsaWRlIHtcclxuICAgICAgLmltYWdlcyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvKmJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2JnX29wYWNpdHlfc2xpZGUucG5nJykgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXI7Ki9cclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKVxyXG4gICAgICAgICAgICB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvdG9wX2JnX2Jhbm5lci5wbmdcIikgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5jYXB0X3NsaWRlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB0b3A6IDM4JTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDAlKSk7XHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmX25vdmE7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDcycHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWNrLWFycm93IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLWRvdHMge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgd2lkdGg6IDE2MDBweDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4ycyk7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgd2lkdGg6IDQycHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zbGljay1hY3RpdmUsXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBlYXNlLW91dCAwLjJzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5zbGlkZURlc3RpbmF0aW9uIHtcclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAuc2xpZGUge1xyXG4gICAgICAgIC5jYXB0X3NsaWRlIHtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmNvbnRlbnRzbGlkZXIge1xyXG4gICAgd2lkdGg6IDE2MDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbiAgICAuc2xpZGVyIHtcclxuICAgICAgLnNsaWNrLWRvdHMge1xyXG4gICAgICAgIHdpZHRoOiAxNDAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLmJhbm5lcnNsaWRlIHtcclxuICAuc2xpZGVIb21lIHtcclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAuc2xpZGUge1xyXG4gICAgICAgIC5pbWFnZXMge1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5wYWNrX2RldGFpbCB7XHJcbiAgLndyYXBwZXIudzEyNiB7XHJcbiAgICB3aWR0aDogMTQ3MHB4O1xyXG4gIH1cclxufVxyXG4uc2VjX2pvdXJuZXkge1xyXG4gIHBhZGRpbmc6IDIwcHggMDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAubGVmdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMXB4O1xyXG4gICAgaDYge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGNvbG9yOiAjYTBhMGEwO1xyXG4gICAgICBmb250LWZhbWlseTogJGZfbm92YTtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOC42OHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnJpZ2h0IHtcclxuICAgIEBleHRlbmQuYWZ0ZXJfY2xlYXI7XHJcbiAgfVxyXG4gIC5zZWxlY3Rfam91cm5leSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIEBleHRlbmQuYWZ0ZXJfY2xlYXI7XHJcbiAgICBtYXJnaW4tdG9wOiAxcHg7XHJcbiAgICAuc2VsIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDMxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY29sb3I6ICRjXzk5OTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9hcnJfc2VsZWN0LnBuZ1wiKSBuby1yZXBlYXQgOTAlXHJcbiAgICAgICAgICBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xyXG4gICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMjlweCAwIDAgMjlweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLW9mLXR5cGUoMykge1xyXG4gICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMCAyOXB4IDI5cHggMCk7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuYnRuX3JvdW5kIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4udHh0X3RvcCB7XHJcbiAgd2lkdGg6IDk0MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIGg2IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmX25vdmE7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICB9XHJcbiAgaDEge1xyXG4gICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgY29sb3I6ICRjXzMzMztcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgfVxyXG4gIHAge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gIH1cclxuICAmLmNlbnRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcbi5saXN0aW5nIHtcclxuICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAuYm94IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gIH1cclxuICAuaXRlbSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbi53aHlfbGlzdCB7XHJcbiAgd2lkdGg6IDExNDBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICAuYm94IHtcclxuICAgIHdpZHRoOiAzNDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogNjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiAyMTVweDtcclxuICAgICY6bnRoLW9mLXR5cGUoM24pIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgLmljbyB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4zcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZWMge1xyXG4gICAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjXzk5OTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLmljbyB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjE1KSk7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBlYXNlLW91dCAwLjNzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ob21lX2Fib3V0IHtcclxuICBwYWRkaW5nOiA5MHB4IDAgNzBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLmltYWdlcyB7XHJcbiAgICBtYXJnaW4tdG9wOiA3MHB4O1xyXG4gIH1cclxufVxyXG4uaG9tZV93aHkge1xyXG4gIHBhZGRpbmc6IDcwcHggMCAyNXB4O1xyXG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XHJcbn1cclxuXHJcbi5ob21lX3NlcnZpY2Uge1xyXG4gIHBhZGRpbmc6IDg1cHggMCAxNTBweDtcclxuICAubmF2X3NlcnZpdmUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDU1cHggMDtcclxuICAgIC5saXN0IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDBzKTtcclxuICAgICAgICAmLmFjdGl2ZSxcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgbGluZWFyIDAuMjVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICBoZWlnaHQ6IDRweDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjX2FkdjtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgYm90dG9tOiAtNXB4O1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgbGluZWFyIDAuMjVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnNsaWRlcl9zZXJ2aWNlLFxyXG4gIC5saXN0X2Rlc3RpIHtcclxuICAgIC5zbGlkZSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5zbGlkZV9QYWNrYWdlIHtcclxuICAgICAgLml0ZW0ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jb250ZW50X3NlcnZpY2Uge1xyXG4gICAgLnNlcnZpY2Uge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ubGlua19idG4ge1xyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgJi5jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG4uc2xpZGVyX3NlcnZpY2UsXHJcbi5saXN0X2Rlc3RpIHtcclxuICAuc2xpZGUge1xyXG4gICAgd2lkdGg6IDM4NXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgLmltZyB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgICAuaG92X3NlZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMTUpKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICAgICAgLmJ0bl9yb3VuZCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICB3aWR0aDogMTc1cHg7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmtldCB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5pbWcge1xyXG4gICAgICAgIC5ob3Zfc2VlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4zNXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuc2xpY2stYXJyb3cge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDU4cHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyX3NsaWRlci5wbmdcIikgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0b3A6IDQwJTtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyX3NsaWRlci5wbmdcIikgbm8tcmVwZWF0IGJvdHRvbVxyXG4gICAgICAgIHJpZ2h0O1xyXG4gICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCBsaW5lYXIgMC4ycyk7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgd2lkdGg6IDA7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCBsaW5lYXIgMC4ycyk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2xpY2stcHJldiB7XHJcbiAgICAgIGxlZnQ6IC05NXB4O1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgIH1cclxuICAgICYuc2xpY2stbmV4dCB7XHJcbiAgICAgIHJpZ2h0OiAtOTVweDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZXJfc2VydmljZS5zbGlkZV9QYWNrYWdlIHtcclxuICAuaXRlbSB7XHJcbiAgICB3aWR0aDogMzg1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIC5pbWcge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm50aC1vZi10eXBlKDRuKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ob21lX3RyYXZlbCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG4gID4gaW1nIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC50ZXh0X3RyYXZlbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB3aWR0aDogODcwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XHJcbiAgICBoMyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzFweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgLmxpbmtfYnRuIHtcclxuICAgICAgLmJ0bl9yb3VuZCB7XHJcbiAgICAgICAgJi5saXN0X29ybiB7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjYjQzMzAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgPiBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAxNXB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhvbWVfdGVzdGltb25pYWwge1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAuc2xpZGVyX3Rlc3RpbW8ge1xyXG4gICAgd2lkdGg6IDk0MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuc2xpZGUge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgY29sb3I6ICNiNDMzMDI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICB9XHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgfVxyXG4gICAgICAuaW5mbyB7XHJcbiAgICAgICAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgLnJpZ2h0IHtcclxuICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICNiNDMzMDI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICYuZHRlIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNTAlKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5OTk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxlZnQge1xyXG4gICAgICAgICAgLnN0YXIge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL3JhdGluZ19pY28ucG5nXCIpIG5vLXJlcGVhdCB0b3BcclxuICAgICAgICAgICAgICAgIGNlbnRlcjtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5cHg7XHJcbiAgICAgICAgICAgICAgJi5hY3Qge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1hcnJvdyB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDQwJTtcclxuICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICYuc2xpY2stbmV4dCxcclxuICAgICAgJi5zbGljay1wcmV2IHtcclxuICAgICAgICB3aWR0aDogNThweDtcclxuICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2Fycl9wYWdnaW5nLnBuZ1wiKSBuby1yZXBlYXQgdG9wXHJcbiAgICAgICAgICBjZW50ZXI7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICB3aWR0aDogMHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2Fycl9wYWdnaW5nLnBuZ1wiKSBuby1yZXBlYXQgYm90dG9tXHJcbiAgICAgICAgICAgIGNlbnRlcjtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggbGluZWFyIDAuMnMpO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIGxpbmVhciAwLjJzKTtcclxuICAgICAgICAgICAgd2lkdGg6IDU4cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuc2xpY2stcHJldiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGxlZnQ6IC0xMjBweDtcclxuICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgfVxyXG4gICAgICAmLnNsaWNrLW5leHQge1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICByaWdodDogLTEyMHB4O1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8qIG1pZGRsZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLm1pZGRsZSB7XHJcbiAgcGFkZGluZzogMTE1cHggMCA2MHB4O1xyXG4gIC50b3BfcGcge1xyXG4gICAgLnR4dF90b3Age1xyXG4gICAgICBwYWRkaW5nOiAxMzBweCAwIDc1cHg7XHJcbiAgICAgICYucGJfNTAge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxpc3RfYm94IHtcclxuICAgICAgLnR4dF90b3Age1xyXG4gICAgICAgIHBhZGRpbmc6IDgwcHggMCAzMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50eHRfdG9wIHtcclxuICAgIHBhZGRpbmc6IDEwMHB4IDAgNzVweDtcclxuICAgIHAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLm5vX3BhZGRpbmcge1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgfVxyXG59XHJcbi5icmVhZGNydW1iIHtcclxuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xyXG4gIGhlaWdodDogNjBweDtcclxuICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgcGFkZGluZzogMjBweCAxNzBweDtcclxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIC5ub3RlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIHNwYW4ge1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gIH1cclxuICA+IGEge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAwLjI1cyBlYXNlLW91dCk7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCI+XCI7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW46IDAgMTBweCAwIDEycHg7XHJcbiAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuMjVzIGVhc2Utb3V0KTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLmJhbm5lcl90b3Age1xyXG4gIC5pbWFnZXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaW1nIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMykgdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL3RvcF9iZ19iYW5uZXIucG5nXCIpXHJcbiAgICAgICAgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jYXB0IHtcclxuICAgIHdpZHRoOiA5NDBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRvcDogNTAlO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBoNiB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZl9ub3ZhO1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICBoMSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDcycHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5iYW5uZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICNtYXBfY29udGFjdCB7XHJcbiAgICBoZWlnaHQ6IDYwMHB4O1xyXG4gIH1cclxuICAmLm1hcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xyXG4gIH1cclxufVxyXG4udGV4dF9pbm5lciB7XHJcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAubGZfdHh0IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDQ0MHB4O1xyXG4gICAgaDMge1xyXG4gICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICYudGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XHJcbiAgICB9XHJcbiAgICAuc3RhdHVzIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5yaF90eHQge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgd2lkdGg6IDc4MHB4O1xyXG4gICAgcCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgfVxyXG4gICAgaDYge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGNvbG9yOiAkY182NjY7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgdWwsXHJcbiAgICBvbCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgY29sb3I6ICRjXzY2NjtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cyg1MCUpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHRvcDogMTJweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJjpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICAmLmJ0bV9ibm5yIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnNlY193aHkge1xyXG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgLnR4dF90b3Age1xyXG4gICAgcGFkZGluZzogOTVweCAwIDcwcHg7XHJcbiAgfVxyXG59XHJcbi5zZWNfc2VydmljZSB7XHJcbiAgcGFkZGluZzogMTQ1cHggMCA2MHB4O1xyXG4gIC53cmFwcGVyIHtcclxuICAgIHdpZHRoOiAxMjYwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcbiAgLmJsb2tfc2VydmljZSB7XHJcbiAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5pbWdfbGYge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IDcyMHB4O1xyXG4gICAgfVxyXG4gICAgLnJpZ2h0X2RlYyB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgd2lkdGg6IDQ2MHB4O1xyXG4gICAgICBwYWRkaW5nOiAwIDUwcHggMCA0NXB4O1xyXG4gICAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB9XHJcbiAgICAgIGg2IHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZl9ub3ZhO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnR4dF90b3Age1xyXG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgfVxyXG4gIC5zbGlkZXJfcGFydG5lciB7XHJcbiAgICB3aWR0aDogOTQwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5wYXJ0bmVyIHtcclxuICAgICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGxpbmVhciAwLjI1cyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjk1KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgbGluZWFyIDAuMjVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWNrLWFycm93IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2Fycl9wYXJ0bmVyLnBuZ1wiKSBuby1yZXBlYXQgbGVmdFxyXG4gICAgICAgIGNlbnRlcjtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtcG9zaXRpb24gbGluZWFyIDAuMjVzKTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLXBvc2l0aW9uIGxpbmVhciAwLjI1cyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgJi5zbGljay1wcmV2IHtcclxuICAgICAgICBsZWZ0OiAtODBweDtcclxuICAgICAgfVxyXG4gICAgICAmLnNsaWNrLW5leHQge1xyXG4gICAgICAgIHJpZ2h0OiAtODBweDtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5saXN0X3Jlc3VsdCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuICAuaXRlbSB7XHJcbiAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAuaW1nIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgIH1cclxuICAgIC5kZWNfcmVzdWx0IHtcclxuICAgICAgd2lkdGg6IDc4MHB4O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWdnaW5nIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgY29sb3I6ICRjXzk5OTtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICAmLnByZXYsXHJcbiAgICAmLm5leHQge1xyXG4gICAgICB3aWR0aDogNThweDtcclxuICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyX3BhZ2dpbmcucG5nXCIpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIHdpZHRoOiAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9hcnJfcGFnZ2luZy5wbmdcIikgbm8tcmVwZWF0IGJvdHRvbVxyXG4gICAgICAgICAgY2VudGVyO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggbGluZWFyIDAuMnMpO1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCBsaW5lYXIgMC4ycyk7XHJcbiAgICAgICAgICB3aWR0aDogNThweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJldiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuICAgICYubmV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcixcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuY2FyZWVyIHtcclxuICAgIGEge1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgfVxyXG4gICAgICAmLnByZXYsXHJcbiAgICAgICYubmV4dCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYucHJldiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG4gICAgICB9XHJcbiAgICAgICYubmV4dCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jYXJlZXJfd3JhcCB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgd2lkdGg6IDE2MDBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4ubGlzdF9jYXJlZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgLml0ZW0ge1xyXG4gICAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgICBwYWRkaW5nOiAwIDQwcHggMjVweDtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDhkOGQ4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGxpbmVhciAwLjI1cyk7XHJcbiAgICAuam9icyB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBtYXgtaGVpZ2h0OiA4MCU7XHJcbiAgICAgIC5zdGF0dXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgICB9XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxlYXJuIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgbGluZWFyIDAuMjVzKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY19hZHY7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5mb3JtX2JveCB7XHJcbiAgZm9ybSA+IHAge1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuICAucm93IHtcclxuICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIGxhYmVsIHtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luLXRvcDogMThweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICYubXJnaW4ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgY29sb3I6ICRjXzY2NjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuICAgIC5maWVsZCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuICAgICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG4gICAgICBzZWxlY3QsXHJcbiAgICAgIHRleHRhcmVhIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjXzk5OTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgc2VsZWN0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyX3NlbGVjdF9hZHYucG5nXCIpIG5vLXJlcGVhdCA5NSVcclxuICAgICAgICAgIGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2Fycl9zZWxlY3RfYWR2LnBuZ1wiKSBuby1yZXBlYXQgOTUlXHJcbiAgICAgICAgICBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgdGV4dGFyZWEge1xyXG4gICAgICAgIHJlc2l6ZTogbm9uZTtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5nLXJlY2FwdGNoYSB7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idG5fcm91bmQge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmLm9ybiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY19hZHY7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOTYyZDA4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAucGljayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19kYXRlLnBuZ1wiKSBuby1yZXBlYXQgOTUlIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIC5xdHlfaW5wdXQge1xyXG4gICAgICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIC5pbnB1dF92YWwge1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5yYXRpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgcmlnaHQ6IC0xMHB4O1xyXG4gICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgJjpjaGVja2VkIHtcclxuICAgICAgICAgICAgfiAuaWNvX3JhdCB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvX3JhdCB7XHJcbiAgICAgICAgICB3aWR0aDogMjNweDtcclxuICAgICAgICAgIGhlaWdodDogMjFweDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9yYXRpbmdfaWNvLnBuZ1wiKSBuby1yZXBlYXQgdG9wXHJcbiAgICAgICAgICAgIGNlbnRlcjtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAudmFsIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgfVxyXG4gICAgICAmLmZ1bGwge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIC5idG5fcm91bmQge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjXzMzMztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjX2FkdjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucGFzc19mb3Jnb3Qge1xyXG4gICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmduZGVyIHtcclxuICAgICAgICAuY2tfcmFkaW8ge1xyXG4gICAgICAgICAgbWFyZ2luOiAxNXB4IDIwcHggMTBweCAwO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY29sX2NrIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcclxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICsgLmJveF9jayB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94X2NrIHtcclxuICAgICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19yYWRpby5wbmdcIikgbm8tcmVwZWF0IHRvcFxyXG4gICAgICAgICAgICBjZW50ZXI7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudHh0X3R5cGUge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBob25lX251bWIge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgbGVmdDogLTJweDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICAgKyAuYm94X2NrIHtcclxuICAgICAgICAgICAgICAgICsgLnR4dF90eXBlIC5kcm9wX251bWIge1xyXG4gICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgICAgQG5jbHVkZSB0cmFuc2l0aW9uKGFsbCBlYXNlLW91dCAwLjNzKTtcclxuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICsgLnR4dF90eXBlIC5kcm9wX251bWIgLnNlbGVjdF9udW1iIHtcclxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAudHh0X3R5cGUge1xyXG4gICAgICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICM2NjY7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5kcm9wX251bWIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIEBuY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4zcyk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlbGVjdF9udW1iIHtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAuc2VsZWN0Y3VzdG9tIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygwKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDg3JSBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMCAwIDZweCA0cHgpO1xyXG4gICAgICAgICAgICAgICAgLmJ0bnNlbGVjdCB7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2Fycl9zZWxlY3RfYWR2LnBuZ1wiKVxyXG4gICAgICAgICAgICAgICAgICAgIG5vLXJlcGVhdCA5MCUgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgIC5pbWdfaWNvIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5kcm9wc2VsZWN0IHtcclxuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggNXB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaGFkb3coMCAwIDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xyXG4gICAgICAgICAgICAgICAgICAub3B0c2VsZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgID4gaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMTVweDtcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNkOGQ4ZDg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5ja19pbnRlcmVzdCB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgd2lkdGg6IDQ1JTtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMyU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgJjpudGgtb2YtdHlwZSgybikge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb2wtMiB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogNDUlO1xyXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIG1heC13aWR0aDogMTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5maWVsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTIwcHg7XHJcbiAgICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4NiUgY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zdW0ge1xyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgIH1cclxuICAgICAgLmZpZWxkIHtcclxuICAgICAgICAmLmZ1bGwge1xyXG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICBkaXNwbGF5OiAtbW96LWJveDtcclxuICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgICAgIC5ibG9jayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMi41JTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjMzJTtcclxuICAgICAgICAgICAgaDYge1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDRuKSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZDhkOGQ4O1xyXG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICB9XHJcbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0XHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlXHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgIHBhZGRpbmc6IDEycHggMTBweDtcclxuICB9XHJcbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0XHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlXHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgfVxyXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXNcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZDhkOGQ4O1xyXG4gIH1cclxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGVcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjX2FkdjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxuICBociB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgfVxyXG4gICYuYXBwbHkge1xyXG4gICAgd2lkdGg6IDYzMHB4O1xyXG4gIH1cclxuICAmLmZvcm1fY29udGFjdCB7XHJcbiAgICAucm93IHtcclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICB9XHJcbiAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbiAgICAgIHNlbGVjdCxcclxuICAgICAgdGV4dGFyZWEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgfVxyXG4gICAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgIH1cclxuICAgICAgLmctcmVjYXB0Y2hhIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICB9XHJcbiAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnRuX3JvdW5kIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmLm9ybiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY19hZHY7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOTYyZDA4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnJlZ2lzdGVyIHtcclxuICAgIC5yb3cge1xyXG4gICAgICAuZmllbGQge1xyXG4gICAgICAgIC5idG5fcm91bmQge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJ0bl9ydyB7XHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5sb2dpbiB7XHJcbiAgICAucm93IHtcclxuICAgICAgLmZpZWxkIHtcclxuICAgICAgICAmLmZ1bGwge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjXzk5OTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgICAgICYubGVmdCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5pbnB1dF9maWxlIHtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTBweCk7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvX2ZpbGUucG5nXCIpIG5vLXJlcGVhdCA5MCUgY2VudGVyO1xyXG4gICAgaW5wdXQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgei1pbmRleDogNDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgcGFkZGluZzogMCA1cHggMCAyMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdG9wOiAxMnB4O1xyXG4gICAgICB3aWR0aDogODAlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uY2tfcmFkaW8ge1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBjb2xvcjogJGNfNjY2O1xyXG4gIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gIHBhZGRpbmctbGVmdDogMjZweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA0NXB4O1xyXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcclxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19yYWRpby5wbmdcIikgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTdweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDNweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnRoYW5rc19wZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC5pbWcge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50ZXh0X3RoYW5rcyB7XHJcbiAgICB3aWR0aDogNjQwcHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4gICAgaDEge1xyXG4gICAgICBmb250LXNpemU6IDcycHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICB9XHJcbiAgICAuYnRuX3JvdW5kIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mbGxvdyB7XHJcbiAgbWFyZ2luOiAzMHB4IDAgNTBweDtcclxuICBoMiB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICB9XHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogNDNweDtcclxuICAgIGhlaWdodDogNDNweDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLm5hdl9kZXN0aW5hdGlvbiB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogMzVweCAwIDA7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgLmxpc3Qge1xyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMzBweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICAgICYuYWN0aXZlLFxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBsaW5lYXIgMC4yNXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGxpbmVhciAwLjI1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kZXRhaWxfZGVzdGluYXRpb24ge1xyXG4gIHBhZGRpbmc6IDU1cHggMCA0MHB4O1xyXG59XHJcbi5kZXRhaWxfc2VjIHtcclxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gID4gaDMge1xyXG4gICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgY29sb3I6ICRjXzMzMztcclxuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcbiAgLnRleHRfYXJ0aWNsZSB7XHJcbiAgICB3aWR0aDogNzgwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC5pc2kge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxNDBweDtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC44cyk7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGNvbG9yOiAkY182NjY7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIH1cclxuICAgIC5yZF9tb3JlIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY19hZHY7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNob3cge1xyXG4gICAgICAuaXNpIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYudGV4dF90bXQge1xyXG4gICAgaGVpZ2h0OiAzMzVweDtcclxuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9iZ190ZXh0X3RtdC5qcGdcIikgbm8tcmVwZWF0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgICAuZGVjX3R4dCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcclxuICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogNDJweDtcclxuICAgICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICAgIGNvbG9yOiAkY182NjY7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgIH1cclxuICAgICAgLmJ0bl9yb3VuZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDZweDtcclxuICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5saXN0X3BhZ2Uge1xyXG4gIC5yZWNvbWVuZF9saXN0IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAuaXRlbSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5saXN0X2Rlc3RpIHtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIC5zbGlkZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAyNC4wNjUlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI0NiU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgbWluLWhlaWdodDogNTAwcHg7XHJcbiAgICAmOm50aC1vZi10eXBlKDRuKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLml0ZW1fZGV0YWlsIHtcclxuICBtYXJnaW46IDMwcHggMDtcclxuICAuYm94IHtcclxuICAgIHdpZHRoOiAxOC43NSU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNSU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAmOm50aC1vZi10eXBlKDVuKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuICAgIC5pbWcge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gNXMgZWFzZS1vdXQpO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2JnX2ltZ19saXN0LnBuZ1wiKSBuby1yZXBlYXQgYm90dG9tXHJcbiAgICAgICAgICBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hbWUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMjVweDtcclxuICAgICAgbGVmdDogMjVweDtcclxuICAgICAgcmlnaHQ6IDI1cHg7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgaDUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLnBsYWNlIHtcclxuICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJvdW5kX25vIHtcclxuICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNTAlKTtcclxuICAgICAgdG9wOiAyM3B4O1xyXG4gICAgICB6LWluZGV4OiAzO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5pbWcge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4zKSk7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAxMHMgZWFzZS1vdXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4jbWFwX2xvY2F0aW9uIHtcclxuICBoZWlnaHQ6IDQwMHB4O1xyXG59XHJcbi5tYXBfaW5mbyB7XHJcbiAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgbWFyZ2luLXRvcDogMzBweDtcclxuICAubWFwX2NvbnRlbnQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogNzEwcHg7XHJcbiAgfVxyXG4gIC5pbmZvIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHdpZHRoOiA0NjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoM3B4KTtcclxuICAgIC5sYWJlbF9pbmZvIHtcclxuICAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcclxuICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xyXG4gICAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZl9ub3ZhO1xyXG4gICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19pbmZvLnBuZ1wiKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5rZXRfbWFwIHtcclxuICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xyXG4gICAgICBwIHtcclxuICAgICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgY29sb3I6ICRjXzY2NjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNjBweDtcclxuICAgICAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc2VjX3JlY29tZW5kIHtcclxuICAud3JhcHBlciB7XHJcbiAgICA+IGgzIHtcclxuICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLnJlY29tZW5kX2xpc3Qge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gIC5pdGVtIHtcclxuICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cyg1cHgpO1xyXG4gICAgd2lkdGg6IDIzLjc1JTtcclxuICAgIG1hcmdpbi1yaWdodDogMS42NjY3JTtcclxuICAgIG1pbi1oZWlnaHQ6IDQyMHB4O1xyXG4gICAgJjpudGgtb2YtdHlwZSg0bikge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAuaW1nIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICAgIC5ob3Zfc2VlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjE1KSk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgIC5idG5fcm91bmQge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZWMge1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICB9XHJcbiAgICAgIHAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgJi5sb2Mge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19sb2MucG5nXCIpIG5vLXJlcGVhdCBsZWZ0XHJcbiAgICAgICAgICAgIGNlbnRlcjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jdWx0dXJlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9pY29fY3VsdHVyZS5wbmdcIikgbm8tcmVwZWF0IGxlZnRcclxuICAgICAgICAgICAgY2VudGVyO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmR0X3ByaWNlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9pY29fZHRfcHJpY2UucG5nXCIpIG5vLXJlcGVhdCBsZWZ0XHJcbiAgICAgICAgICAgIGNlbnRlcjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kdF90cmlwIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9pY29fZHRfdHJpcC5wbmdcIikgbm8tcmVwZWF0IGxlZnRcclxuICAgICAgICAgICAgY2VudGVyO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAucHJpY2VfYngge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcclxuICAgICAgICBtYXJnaW46IDEwcHggLTI1cHggLTIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzMzMztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmFicyB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgICByaWdodDogMjVweDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRyYW5zIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMDtcclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBjb2xvcjogI2FhYTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5pbWcge1xyXG4gICAgICAgIC5ob3Zfc2VlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4zNXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ucGFja2FnZV9zZWMge1xyXG4gIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gIC5sZWZ0X3BhY2thZ2Uge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMTAwMHB4O1xyXG4gICAgcGFkZGluZzogMCAyMHB4IDAgMHB4O1xyXG4gICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgPiBoMyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgfVxyXG4gICAgJi5jaGVja291dF9sZWZ0IHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC5ib3hfY2hlY2tvdXQge1xyXG4gICAgICAuYm94cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDgwcHggNDBweDtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNXB4KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvX2xvZ2luLnBuZ1wiKSBuby1yZXBlYXQgbGVmdFxyXG4gICAgICAgICAgICBjZW50ZXI7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgODBweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIC5ja19yYWRpbyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYnRuX3JvdW5kIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnJpZ2h0X3BhY2thZ2Uge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgd2lkdGg6IDQ2MHB4O1xyXG4gICAgLmJveCB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygzcHgpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xyXG4gICAgICAubGFiZWxfaW5mbyB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmX25vdmEsIGN1cnNpdmU7XHJcbiAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9pY29faW5mby5wbmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmlzaV9pbmZvIHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XHJcbiAgICAgICAgLmltZyB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aXRsZV9ib3gge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgICAgY29sb3I6ICRjXzY2NjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICYuZW1haWwge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvX21haWwucG5nXCIpIG5vLXJlcGVhdCBsZWZ0XHJcbiAgICAgICAgICAgICAgICBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kb3dubG9hZCB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9pY29fcGRmLnBuZ1wiKSBuby1yZXBlYXQgbGVmdFxyXG4gICAgICAgICAgICAgICAgY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5zaGFyZSB7XHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkY182NjY7XHJcbiAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gcCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgY29sb3I6ICM2NjY7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICM2NjY7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2Fycl9zaWRlLnBuZ1wiKSBuby1yZXBlYXQgbGVmdFxyXG4gICAgICAgICAgICAgIDRweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5ncmV5X2J4IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAudHh0IHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzM7XHJcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4IDQwcHggNDBweDtcclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pc2lfaW5mbyB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA+IGxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYnRuX3JvdW5kIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTtcclxuICAgICAgICAgICAgJjphZnRlcixcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmJvb2tfbm93IHtcclxuICAgICAgICAuaXNpX2luZm8ge1xyXG4gICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4IDMwcHggNDBweDtcclxuICAgICAgICAgIC5ib29rbm93X2luZm8ge1xyXG4gICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICAgIC5jb2xtbiB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgIC5xdHlfaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgICAgICAgICAgICAgICAgLmlucHV0X3ZhbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICYubWluIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19taW4ucG5nXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLnBsdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvX3BsdXMucG5nXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gaDYge1xyXG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjXzY2NjtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjXzY2NjtcclxuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpIHtcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPiBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2Fycl9zZWxlY3RfYWR2LnBuZ1wiKVxyXG4gICAgICAgICAgICAgICAgICBuby1yZXBlYXQgOTUlIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNnB4KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgJi5saW5rcyB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b3RhbCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY18zMzM7XHJcbiAgICAgICAgICBtYXJnaW46IDAgLTIwcHggLTMwcHggLTQwcHg7XHJcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDI1cHggMzBweCA0MHB4O1xyXG4gICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmtldF9idG0ge1xyXG4gICAgICBhLmxlZnQge1xyXG4gICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDAgMzVweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgLmJ0bl9yb3VuZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5xdHlfaW5wdXQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgd2lkdGg6IDQ1cHg7XHJcbiAgLmlucHV0X3ZhbCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgfVxyXG4gIGJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJi5taW4ge1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19taW4ucG5nXCIpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xyXG4gICAgfVxyXG4gICAgJi5wbHVzIHtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9pY29fcGx1cy5wbmdcIikgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRhYl9wYWNrYWdlcyB7XHJcbiAgbWFyZ2luOiAwIC0yMHB4IDAgLTUwcHg7XHJcbiAgLm5hdiB7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHggMCA1MHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICBtYXJnaW46IDU1cHggMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAmLmFjdGl2ZSxcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgbGluZWFyIDAuMjVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjX2FkdjtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBib3R0b206IDBweDtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBsaW5lYXIgMC4yNXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50YWJfY29udGVudCB7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHggMCA1MHB4O1xyXG4gICAgLmRlY190YWIge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC5kcm9wX21vYmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAubGlzdF9kaWFncmFtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmluZm9fdG91ciB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDk1cHg7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgLmRheSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjX2FkdjtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgbGVmdDogLTVweDtcclxuICAgICAgICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY182NjY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5pbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5ib3hfc2xpZGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zbGlkZXIge1xyXG4gICAgICAgICAgICAgIC5zbGlkZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgLmltYWdlcyB7XHJcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAuc3RhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9zdGFyX2xpdGxlLnBuZ1wiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuby1yZXBlYXQgdG9wIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICYuYWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5ieF9kZWMge1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICAgICAgICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAuYnhfZGVjIHtcclxuICAgICAgICAgICAgICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAuc2xpY2stYXJyb3cge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkICMzMzM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgJi5zbGljay1uZXh0IHtcclxuICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zbGljay1wcmV2IHtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogNHB4O1xyXG4gICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgIGxlZnQ6IC00cHg7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHVsIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjX2FkdjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGFibGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDRweCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cyg0cHgpO1xyXG4gICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZfbm92YTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMCAwIDRweCAwKTtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgxKSB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5kcm9wX3R4dCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDMwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1heC1oZWlnaHQgZWFzZS1vdXQgMC42cyk7XHJcbiAgICAgICAgLmRyb3BfYnRuIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgei1pbmRleDogMztcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvX3BsdXMucG5nXCIpIG5vLXJlcGVhdFxyXG4gICAgICAgICAgICAgIHRvcCBjZW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvX21pbi5wbmdcIikgbm8tcmVwZWF0XHJcbiAgICAgICAgICAgICAgICB0b3AgY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihtYXgtaGVpZ2h0IGVhc2Utb3V0IDAuNnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnN0YXR1c19wb3Age1xyXG4gID4gLnJvdyB7XHJcbiAgICAmOm50aC1vZi10eXBlKDEpIHtcclxuICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xyXG4gICAgICBmb250LWZhbWlseTogJGZfbm92YTtcclxuICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgLmNvbCB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAucm93IHtcclxuICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgLmNvbCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogNjUlO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgICAgLmljb19zdGF0dXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICM0YmJhNTI7XHJcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNTAlKTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNvbGQge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWQxYzI0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLndhaXQge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmJhZjVkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkY182NjY7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICA+IGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNkOGQ4ZDg7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZDhkOGQ4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNlbGVjdF9idG4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY18zMzM7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgIC5jb2wge1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgJjpudGgtb2YtdHlwZSgxKSB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICYuYnRuX3JvdW5kIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmlzaSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxufVxyXG4uc2lnbmluX3BnIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLmltZyB7XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLmZvcm1fc2lnbiB7XHJcbiAgaDYge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICRjX2FkdjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZl9ub3ZhO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgfVxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xyXG4gIH1cclxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNfOTk5O1xyXG4gICAgY29sb3I6ICRjX2FkdjtcclxuICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNnB4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgd2lkdGg6IDQ3MHB4O1xyXG4gIHRvcDogNTAlO1xyXG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgLmxpbmtfYnRuIHtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgID4gc3BhbiB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgIH1cclxuICAgIC5yaWdodCB7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmxpbmtfY2sge1xyXG4gICAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgICAubGlua19mb3Jnb3Qge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5ja19yYWRpbyB7XHJcbiAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19yYWRpb18yLnBuZ1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ib3hfc2lnbnVwIHtcclxuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG4gIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC5pbWcge1xyXG4gICAgd2lkdGg6IDU1MHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHRvcDogMTMwcHg7XHJcbiAgICByaWdodDogNTBweDtcclxuICAgIGltZyB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5yaWdodF9mb3JtIHtcclxuICAgIHdpZHRoOiA5MDBweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgcGFkZGluZzogMTI1cHggMHB4IDUwcHggNTBweDtcclxuICAgICYubG9nX2Rlc3RpIHtcclxuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubGlzdF9zdGVwIHtcclxuICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICB3aWR0aDogOTYwcHg7XHJcbiAgbWFyZ2luOiAtNTBweCBhdXRvIDU1cHg7XHJcbiAgLnN0ZXAge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgcGFkZGluZzogMTJweCAzMHB4IDhweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAmOm50aC1vZi10eXBlKDEpIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMzBweCAwIDAgMzBweCk7XHJcbiAgICB9XHJcbiAgICAmOm50aC1vZi10eXBlKDMpIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDAgMzBweCAzMHB4IDApO1xyXG4gICAgfVxyXG4gICAgaDUge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjX2FkdjtcclxuICAgICAgaDUge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi50b3BfZm9ybSB7XHJcbiAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICBwIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcbiAgaDIge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19sb2dpbi5wbmdcIikgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgICsgcCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5yaWdodCB7XHJcbiAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmxvZzIge1xyXG4gICAgaDIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvX3BsYW4ucG5nXCIpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ibm5yX2Rhc2gge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAuaW5mb19kYXNoIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRvcDogNTAlO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4gICAgLmljb19wcm9maWxlIHtcclxuICAgICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNTAlKTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG4gICAgLmluZm9fcHJvZmlsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7XHJcbiAgICAgIGg0IHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICBjb2xvcjogJGNfOTk5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBnX2Rhc2hib2FyZCB7XHJcbiAgcGFkZGluZzogNjVweCAwO1xyXG4gIC5ibG9ja19sZiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiA0NjBweDtcclxuICB9XHJcbiAgLmJsb2NrX3JoIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHdpZHRoOiA3ODBweDtcclxuICAgIC5saXN0X3RyaXAge1xyXG4gICAgICAuYm94X3RyaXAge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xyXG4gICAgICAgIC5pbWcge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRleHRfdHJpcCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcclxuICAgICAgICAgIGxlZnQ6IDY1cHg7XHJcbiAgICAgICAgICByaWdodDogNjVweDtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZfbm92YTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmJ0bl9yb3VuZCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJveCB7XHJcbiAgICAgIC5sYWJlbF9pbmZvIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgdG9wOiAyNXB4O1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmlzaV9pbmZvIHtcclxuICAgICAgICAuY29sIHtcclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjAwcHg7XHJcbiAgICAgICAgICAgICYubWFpbCB7XHJcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogaGVscDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0XHJcbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGVcclxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0XHJcbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGVcclxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXNcclxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q4ZDhkODtcclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFxyXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlXHJcbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgLmJveCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDNweCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xyXG4gICAgLmxhYmVsX2luZm8ge1xyXG4gICAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmX25vdmEsIGN1cnNpdmU7XHJcbiAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcclxuICAgICAgfVxyXG4gICAgICAmLnByb2ZpbGUge1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9pY29fbG9naW5fMi5wbmdcIikgbm8tcmVwZWF0IGxlZnRcclxuICAgICAgICAgICAgY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmhpc3Rvcnkge1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9pY29faGlzdG9yeS5wbmdcIikgbm8tcmVwZWF0IGxlZnRcclxuICAgICAgICAgICAgY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLnBob3RvIHtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvX3Bob3RvLnBuZ1wiKSBuby1yZXBlYXQgbGVmdFxyXG4gICAgICAgICAgICBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXNpX2luZm8ge1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XHJcbiAgICAgIC5jb2wge1xyXG4gICAgICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNTBweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgJi5tYWlsIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIGN1cnNvcjogaGVscDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5saW5rX2VkaXQge1xyXG4gICAgICAgICAgbWFyZ2luOiAzNXB4IC00MHB4IC0zMHB4O1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICAgICAgICAuZWRpdCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0YWJsZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjXzk5OTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuaW5wdXQtbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAubGlzdC1ib3gge1xyXG4gICAgICAgIHdpZHRoOiAzNTBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAudG9nZ2xlIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDU1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvdXBsb2FkX2ljby5wbmdcIikgbm8tcmVwZWF0IHRvcFxyXG4gICAgICAgICAgICAgIGNlbnRlcjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmltZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzNTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDM1MHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9kZWwucG5nXCIpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3VjZXNzIHtcclxuICAgICAgICAgIC50b2dnbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94IHtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgLmltZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzNTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDM1MHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2RlbC5wbmdcIikgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNfYWR2O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmJveF9hZGQge1xyXG4gICAgcGFkZGluZzogMzVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNXB4KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgY29sb3I6ICRjXzk5OTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAuaWNvIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGg0IHtcclxuICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgfVxyXG4gICAgLmljbyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuLmJveF9ib29raW5nIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxuICAuaXRlbV9ib29raW5nIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICAudG9wX2Jvb2sge1xyXG4gICAgICBwYWRkaW5nOiAxMnB4IDQwcHg7XHJcbiAgICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY19hZHY7XHJcbiAgICAgIGg2IHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRleHRfYm9va2luZyB7XHJcbiAgICAgIHBhZGRpbmc6IDMwcHggNDBweCA0N3B4O1xyXG4gICAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgfVxyXG4gICAgICAudGdsIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgICAgIGNvbG9yOiAkY182NjY7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLmxpbmsge1xyXG4gICAgICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmJhY2sge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgICAgY29sb3I6ICRjXzMzMztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBociB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgICB9XHJcbiAgICAgIC5rZXRfZGV0YWlsIHtcclxuICAgICAgICAuY29sIHtcclxuICAgICAgICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY185OTk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBwLFxyXG4gICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNfNjY2O1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5wYWlkIHtcclxuICAgIC5pdGVtX2Jvb2tpbmcge1xyXG4gICAgICAudG9wX2Jvb2sge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyYzJjMmM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5kb25lIHtcclxuICAgIC5pdGVtX2Jvb2tpbmcge1xyXG4gICAgICAudG9wX2Jvb2sge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMxNjk1YzQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLWRyb3Bkb3duIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICB6LWluZGV4OiA1O1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgQGluY2x1ZGUgYm94U2hhZG93KDAgMCAyMHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjMpKTtcclxuICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTBweCk7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICB0ZCxcclxuICB0aCB7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgbGVmdDogMjVweDtcclxuICB9XHJcbiAgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6aG92ZXIsXHJcbiAgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGg6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgxODAsIDUxLCAyLCAwLjQpO1xyXG4gIH1cclxuICB0aCB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxuICB0aC5zd2l0Y2gge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGhlaWdodDogMzBweDtcclxuICB9XHJcbiAgdGgucHJldixcclxuICB0aC5uZXh0IHtcclxuICAgIGkge1xyXG4gICAgICB3aWR0aDogMTRweDtcclxuICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9hcnJfc2VsZWN0X2Fkdi5wbmdcIikgbm8tcmVwZWF0O1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoOTBkZWcpKTtcclxuICAgIH1cclxuICB9XHJcbiAgdGgubmV4dCB7XHJcbiAgICBpIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtOTBkZWcpKTtcclxuICAgIH1cclxuICB9XHJcbiAgdGFibGUgdHIge1xyXG4gICAgdGQuZGF5OmhvdmVyLFxyXG4gICAgdGQgc3Bhbjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTgwLCA1MSwgMiwgMC40KTtcclxuICAgIH1cclxuICAgIHRkLmFjdGl2ZS5hY3RpdmUsXHJcbiAgICB0ZC5hY3RpdmUuYWN0aXZlOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgfVxyXG4gICAgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLFxyXG4gICAgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogZm9vdGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4uZmxvYXRpbmctY29udGFjdCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJvdHRvbTogMzBweDtcclxuICByaWdodDogMzBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiAxMnB4O1xyXG4gIHotaW5kZXg6IDEwO1xyXG5cdHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2Utb3V0O1xyXG4gIGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgIGhlaWdodDogNjBweDtcclxuICAgIH1cclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuXHRcdH1cclxuICB9XHJcbn1cclxuZm9vdGVyIHtcclxuICAudG9wX2Zvb3Qge1xyXG4gICAgYmFja2dyb3VuZDogI2YzZjNmMztcclxuICAgIHBhZGRpbmc6IDc1cHggMCA2MHB4O1xyXG4gICAgLndyYXBwZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgLmJveCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAmOm50aC1vZi10eXBlKDEpIHtcclxuICAgICAgICB3aWR0aDogMzE1cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA5MHB4O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgIGNvbG9yOiAkY182NjY7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1udV9mb290IHtcclxuICAgICAgbWF4LXdpZHRoOiA3OTBweDtcclxuICAgICAgdWwge1xyXG4gICAgICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAyMzBweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMzVweDtcclxuICAgICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb2xsb3cge1xyXG4gICAgICBoNiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMCAxNXB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5zb3Mge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5pY29fcGhvbmUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWF0ZXJpYWwvcGhvbmVfaWNvLnBuZ1wiKSBuby1yZXBlYXQgbGVmdFxyXG4gICAgICAgICAgY2VudGVyO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBjb2xvcjogIzU1NTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmJ0bV9mb290IHtcclxuICAgIGJhY2tncm91bmQ6ICMyYzJjMmM7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XHJcbiAgICAubGVmdCB7XHJcbiAgICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiAjYWNhY2FjO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBjb2xvcjogI2FjYWNhYztcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGVhc2Utb3V0IDAuMjVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5yaWdodCB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAjYWNhY2FjO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciBlYXNlLW91dCAwLjI1cyk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2FjYWNhYztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogcG9wdXBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ud3JhcF9wb3B1cCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG4gIHotaW5kZXg6IDk5OTk5OTtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgLnBvcF9pbm5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLm92ZXJsYXlfcG9wIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgei1pbmRleDogNztcclxuICAgIH1cclxuICAgIC5ib3hfcG9wIHtcclxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICAgIC5jb250ZW50X3BvcCB7XHJcbiAgICAgIG1hcmdpbjogMyUgYXV0bztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB6LWluZGV4OiA4O1xyXG4gICAgICB3aWR0aDogNjE1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYud3JhcF9vcmRlciB7XHJcbiAgICAucG9wX2lubmVyIHtcclxuICAgICAgLmNvbnRlbnRfcG9wIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xyXG4gICAgICAgIHdpZHRoOiA0MjBweDtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNXB4KTtcclxuICAgICAgICBtaW4taGVpZ2h0OiA2NDBweDtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoN3B4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4jcG9wX2hvdGVsIHtcclxuICAucG9wX2lubmVyIHtcclxuICAgIC5vdmVybGF5X3BvcCB7XHJcbiAgICB9XHJcbiAgICAuY29udGVudF9wb3Age1xyXG4gICAgICBtYXJnaW46IDMlIGF1dG87XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgei1pbmRleDogODtcclxuICAgICAgd2lkdGg6IDEzMDBweDtcclxuICAgICAgcGFkZGluZzogNDVweCA2MHB4IDUwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgICAgLmNsb3NlIHtcclxuICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcclxuICAgICAgICAgIHRvcDogMjJweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTQ1ZGVnKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC50b3BfcG9wdXAge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdGFyIHtcclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9tYXRlcmlhbC9zdGFyX2RldGFpbC5wbmdcIikgbm8tcmVwZWF0IHRvcFxyXG4gICAgICAgICAgICAgIGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgJi5hY3Qge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRlbnRfcmVzb3J0IHtcclxuICAgICAgICAubGVmdCB7XHJcbiAgICAgICAgICB3aWR0aDogNDUlO1xyXG4gICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmX2xhdG87XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiLVwiO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM2NjY7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yaWdodCB7XHJcbiAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGlzdC1pbWcge1xyXG4gICAgICAgICAgLmltZyB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICB3aWR0aDogMzIlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYmlnIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuc2xpZGVfYmlnIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgLnNsaWRlIHtcclxuICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC50aHVtYl9zbGlkZSB7XHJcbiAgICAgICAgICAgIC50aHVtYiB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcclxuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zbGljay1hcnJvdyB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCAjMzMzO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgbGVmdDogLTEycHg7XHJcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICYuc2xpY2stbmV4dCB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNjY2M7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udG9wX2JveCB7XHJcbiAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgaGVpZ2h0OiA2MHB4O1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDVweCA1cHggMCAwKTtcclxuICAubGVmdCB7XHJcbiAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICB9XHJcbiAgLmNsb3NlX2JveCB7XHJcbiAgICB3aWR0aDogMjJweDtcclxuICAgIGhlaWdodDogMjJweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDE4cHggMTVweDtcclxuICAgIHNwYW4ge1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNkOGQ4ZDg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA5cHg7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNfYWR2O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5ia19ib3gge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgIHRvcDogMTdweDtcclxuICAgICAgbGVmdDogM3B4O1xyXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmxvZ29fcG9wIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogOXB4IDAgOXB4IDE1cHg7XHJcbiAgICBtYXJnaW46IDExcHggMCAwO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG4gIH1cclxuICAucmlnaHQge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgY29sb3I6ICRjX2FkdjtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uYW1vdW50IHtcclxuICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIHBhZGRpbmc6IDE1cHggMTBweCAxNXB4IDIwcHg7XHJcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY19hZHY7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjX2FkdjtcclxuICBtYXJnaW46IDEycHggMTBweDtcclxuICBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGNvbG9yOiAkY19hZHY7XHJcbiAgICBmb250LWZhbWlseTogJGZfbGF0bztcclxuICB9XHJcbiAgLnRvdGFsX2Ftb3VudCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiAxNTBweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgY29sb3I6ICRjX2FkdjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZl9sYXRvO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kZXRhaWxfbGlzdCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBwYWRkaW5nOiAxNXB4IDEwcHggMTVweCAyMHB4O1xyXG4gIG1hcmdpbjogMTJweCAxMHB4O1xyXG4gIGg0IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAkY18zMzM7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkY19hZHY7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB9XHJcbiAgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZCxcclxuICAgIHRoIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBjb2xvcjogJGNfMzMzO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4IDVweDtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgY29sb3I6ICRjXzk5OTtcclxuICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgdHI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubGlzdCB7XHJcbiAgICAuaXRlbSB7XHJcbiAgICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICBwYWRkaW5nOiAxMnB4IDEwcHggMTJweCAyMHB4O1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgICAgbWFyZ2luOiAwIC0xMHB4IDAgLTIwcHg7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgICAudHh0X3BheSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRjXzY2NjtcclxuICAgICAgfVxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLmNvbnRpbnVlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6ICNiNDMzMDIgdXJsKFwiLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19jb250aW51ZS5wbmdcIikgbm8tcmVwZWF0IDkzJVxyXG4gICAgY2VudGVyO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgcGFkZGluZzogMjBweCAyNXB4O1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIEBpbmNsdWRlIGJvcmRlclJhZGl1cygwIDAgNnB4IDZweCk7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4zcyk7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTJjMDU7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBlYXNlLW91dCAwLjNzKTtcclxuICB9XHJcbn1cclxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cdFxyXG4gICAgQ29tcGFueSAgICA6IFBUIFdlYiBBcmNoaXRlY3QgVGVjaG5vbG9neSAtIHdlYmFycS5jb21cclxuICAgIERvY3VtZW50ICAgOiBTdHlsZXNoZWV0XHJcbiAgICBBdXRob3IgICAgIDogRnJvbnRFbmQgVGVhbSAgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLyogaW1wb3J0IGJvdXJib24gLSBodHRwOi8vYm91cmJvbi5pby9kb2NzICovXHJcbkBpbXBvcnQgXCJib3VyYm9uL2JvdXJib25cIjtcclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRhdHRyKXtcclxuICAgIHRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtby10cmFuc2l0aW9uOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm9yZGVyUmFkaXVzKCRhdHRyKXtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtby1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm94U2hhZG93KCRhdHRyKXtcclxuICAgIGJveC1zaGFkb3c6ICAkYXR0cjtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW1zLWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW8tYm94LXNoYWRvdzogJGF0dHJcclxufVxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgIDotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcbkBtaXhpbiBib3hTaXppbmcoJGF0dHIpe1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYXR0cjtcclxuICAgIC1tb3otYm94LXNpemluZzogJGF0dHI7XHJcbiAgICBib3gtc2l6aW5nOiAkYXR0cjtcclxufVxyXG5cclxuJGZfbm92YSA6ICdOb3ZhIEZsYXQnLCBjdXJzaXZlO1xyXG4kZl9tb250cyA6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuJGZfbGF0bzogJ0xhdG8nLCBzYW5zLXNlcmlmO1xyXG4vKiBjb2xvciBnbG9iYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiRjXzExMTogIzExMTtcclxuJGNfMzMzOiAjMzMzO1xyXG4kY182NjY6ICM2NjY7XHJcbiRjXzk5OTogIzk5OTtcclxuJGNfZWE6ICNlYWVhZWE7XHJcbiRjX2FkdjogI2I0MzMwMjtcclxuIiwiLy8gQm91cmJvbiA0LjIuN1xyXG4vLyBodHRwOi8vYm91cmJvbi5pb1xyXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE1IHRob3VnaHRib3QsIGluYy5cclxuLy8gTUlUIExpY2Vuc2VcclxuXHJcbkBpbXBvcnQgXCJzZXR0aW5ncy9wcmVmaXhlclwiO1xyXG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcclxuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XHJcblxyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zLWZhbHN5XCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGlnaHRcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1udW1iZXJcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcclxuXHJcbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xyXG5cclxuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcclxuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcclxuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcclxuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcclxuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcclxuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9oaWRwaS1tZWRpYS1xdWVyeVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcclxuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XHJcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcclxuQGltcG9ydCBcImNzczMvdGV4dC1kZWNvcmF0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xyXG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XHJcblxyXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1yYWRpdXNcIjtcclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItc3R5bGVcIjtcclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcclxuQGltcG9ydCBcImFkZG9ucy9idXR0b25zXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcclxuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtc3RhY2tzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvaGlkZS10ZXh0XCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcGFkZGluZ1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3Bvc2l0aW9uXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcclxuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcclxuQGltcG9ydCBcImFkZG9ucy9zaXplXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcclxuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdHJpYW5nbGVcIjtcclxuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcclxuXHJcbkBpbXBvcnQgXCJib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmdcIjtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIG9yIGRpc2FibGUgdmVuZG9yIHByZWZpeGVzXHJcblxyXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLW1vemlsbGE6ICAgdHJ1ZSAhZGVmYXVsdDtcclxuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLXNwZWM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cclxuLy8vXHJcbi8vLyBAdHlwZSBCb29sXHJcblxyXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xyXG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XHJcbiAgJGxpc3Q6ICgpO1xyXG5cclxuICBAZWFjaCAkaW5wdXQgaW4gJGlucHV0cyB7XHJcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcclxuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xyXG4gICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJGlucHV0LCBjb21tYSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRsaXN0O1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxyXG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xyXG4vLy8gICBBIHNpbmdsZSB2YWx1ZSBvciBsaXN0IG9mIHZhbHVlcyB0byBjaGVjayBmb3IuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWUpXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbH1cclxuXHJcbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcclxuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBkb2VzIG5vdCBjb250YWlucyBhIHZhbHVlLlxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3RcclxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sfVxyXG5cclxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XHJcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xyXG4gICAgQGlmIG5vdCAkaXRlbSB7XHJcbiAgICAgIEByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gZmFsc2U7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcclxuXHJcbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcclxuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcclxuICAgICAgIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgbm90KHVuaXRsZXNzKCR2YWx1ZSkpKSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvciAoSGV4KX0gJGNvbG9yXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIGlzLWxpZ2h0KCRjb2xvcilcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sfVxyXG5cclxuQGZ1bmN0aW9uIGlzLWxpZ2h0KCRoZXgtY29sb3IpIHtcclxuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xyXG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xyXG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEpKTtcclxuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XHJcblxyXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAwLjY7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcclxuXHJcbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIHNpemUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXHJcblxyXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcclxuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpXHJcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcclxufVxyXG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcclxuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcclxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcclxuXHJcbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XHJcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XHJcbiAgfVxyXG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcclxufVxyXG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXHJcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxyXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XHJcblxyXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XHJcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XHJcbiAgfVxyXG5cclxuICAkYmFzZTogJGVtLWJhc2U7XHJcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xyXG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcclxuICB9XHJcbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcclxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Q29sb3J9XHJcblxyXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCkge1xyXG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgJGRpbWVuc2lvbjogMTA7XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyIChVbml0bGVzcyl9XHJcblxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XHJcbiAgQHJldHVybiAoJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XHJcbi8vLyAgIFRoZSBhbW91bnQgb2Ygd2hpdGUgdG8gYmUgbWl4ZWQgaW4uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Q29sb3J9XHJcblxyXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XHJcbiAgQHJldHVybiBtaXgoI2ZmZiwgJGNvbG9yLCAkcGVyY2VudCk7XHJcbn1cclxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxyXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XHJcbiAgJG5ldy1wcm9wczogKCk7XHJcblxyXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XHJcbiAgICAkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbmV3LXByb3BzO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xyXG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxyXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xyXG4gICAgQHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHByb3A7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcclxuLy8vICAgfVxyXG5cclxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XHJcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcclxuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xyXG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xyXG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XHJcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcclxuICB9XHJcbn1cclxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcclxuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xyXG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XHJcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcclxuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcclxuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XHJcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcclxuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xyXG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xyXG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xyXG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XHJcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcclxuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xyXG4kb2N0YXZlOiAgICAgICAgICAgMjtcclxuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcclxuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xyXG4kbWFqb3ItdHdlbGZ0aDogICAgMztcclxuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XHJcblxyXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xyXG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcclxuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xyXG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xyXG4gICR2YWx1ZTogJHYxO1xyXG5cclxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcclxuICBAd2hpbGUgJHYyID4gJHYxIHtcclxuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcclxuICB9XHJcbiAgQHdoaWxlICR2MiA8ICR2MSB7XHJcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxyXG4gIH1cclxuXHJcbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcclxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XHJcblxyXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xyXG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xyXG4gICAgICAgICR2YWx1ZTogJHYyO1xyXG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XHJcbiAgICAgICAgJHZhbHVlOiAkdjE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XHJcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXHJcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XHJcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XHJcbiAgICB9XHJcblxyXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XHJcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XHJcbiAgICAgICAgJHZhbHVlOiAkdjI7XHJcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcclxuICAgICAgICAkdmFsdWU6ICR2MTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXHJcbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcclxuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XHJcbiAgJHVuaXRzOiAgIDFweCwgMWNtLCAxbW0sIDElLCAxY2gsIDFwaWNhLCAxaW4sIDFlbSwgMXJlbSwgMXB0LCAxcGMsIDFleCwgMXZ3LCAxdmgsIDF2bWluLCAxdm1heCwgMWRlZywgMXJhZCwgMWdyYWQsIDF0dXJuO1xyXG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcclxuXHJcbiAgQGlmIG5vdCAkaW5kZXgge1xyXG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcclxuICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcclxuICAgIEB3YXJuIFwiYCN7JG51bWJlcn0gaXMgbm90IGEgbnVtYmVyYFwiO1xyXG4gICAgQHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xyXG4vLy9cclxuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XHJcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcclxuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XHJcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcclxuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH1cclxuXHJcbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcclxuICAkb3V0cHV0OiBudWxsO1xyXG5cclxuICAkYTogbnRoKCR2YWxzLCAxKTtcclxuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcclxuICAkYzogaWYobGVuZ3RoKCR2YWxzKSA8IDMsICRhLCBudGgoJHZhbHMsIDMpKTtcclxuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xyXG5cclxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XHJcbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxyXG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cclxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XHJcblxyXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cclxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XHJcbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxyXG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cclxuXHJcbiAgQHJldHVybiAkb3V0cHV0O1xyXG59XHJcblxyXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxyXG4vLy8gICBQcmVmaXggdG8gdXNlXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxyXG4vLy8gICBTdWZmaXggdG8gdXNlXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb2xsYXBzZS1kaXJlY3Rpb25hbHNcclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcclxuXHJcbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xyXG4gIC8vIFByb3BlcnR5IE5hbWVzXHJcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xyXG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuXHJcbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XHJcblxyXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xyXG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XHJcblxyXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cclxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XHJcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxyXG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgICN7JGFsbH06ICR2YWxzO1xyXG4gIH1cclxufVxyXG4iLCIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxyXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXHJcblxyXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XHJcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcclxuICAgIEByZXR1cm4gZm9udC11cmw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIHVybDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcclxuICAkZm9udC1mYW1pbHksXHJcbiAgJGZpbGUtcGF0aCxcclxuICAkYXNzZXQtcGlwZWxpbmUsXHJcbiAgJGZpbGUtZm9ybWF0cyxcclxuICAkZm9udC11cmwpIHtcclxuXHJcbiAgJHNyYzogKCk7XHJcblxyXG4gICRmb3JtYXRzLW1hcDogKFxyXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXHJcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXHJcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcclxuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XHJcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcclxuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XHJcblxyXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xyXG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3JjO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xyXG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXHJcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXHJcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XHJcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcclxuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcclxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcclxuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcclxuICB9XHJcbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xyXG59XHJcbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xyXG4gICRvZmZzZXQ6IG51bGw7XHJcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuXHJcbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxyXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xyXG4gICAgJG9mZnNldDogaWYoJHVuaXQtbG9uZyA9PSBcImdyYWRcIiwgLTEwMGdyYWQgKiAzLCAtMC43NXR1cm4pO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgKCR1bml0LXNob3J0ID09IFwiZGVnXCIpIG9yXHJcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcclxuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9mZnNldCB7XHJcbiAgICAkbnVtOiBfc3RyLXRvLW51bSgkZmlyc3QtdmFsKTtcclxuXHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAoJG9mZnNldCAtICRudW0pICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XHJcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XHJcbiAgJGdyYWRpZW50czogKCk7XHJcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XHJcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xyXG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcclxuXHJcbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcclxuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xyXG5cclxuICAkaGFzLW11bHRpcGxlLXZhbHM6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcIiBcIik7XHJcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcclxuICAkaGFzLWFuZ2xlOiBpcy1udW1iZXIoc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsIDEpKTtcclxuXHJcbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XHJcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscyk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkaGFzLXNpbmdsZS1wb3NpdGlvbiAhPSBcIlwiIHtcclxuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcclxuXHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkaGFzLWFuZ2xlIHtcclxuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxyXG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZ3JhZGllbnRzO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xyXG4gICR0eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XHJcbiAgJHNwZWM6IG51bGw7XHJcbiAgJGRlZ3JlZTogbnVsbDtcclxuICAkc2lkZTogbnVsbDtcclxuICAkY29ybmVyOiBudWxsO1xyXG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcclxuICAvLyBQYXJzZSBTaWRlIGFuZCBjb3JuZXIgcG9zaXRpb25zXHJcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xyXG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcclxuICAgICAgJHNpZGU6IG50aCgkcG9zLCAyKTtcclxuXHJcbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXHJcbiAgICAgICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcclxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMyB7IC8vIGVnLiB0byB0b3AgbGVmdFxyXG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXHJcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xyXG4gICAgICAkY29ybmVyOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgbGVmdFwiKSB7XHJcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgcmlnaHRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIHJpZ2h0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIGxlZnRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICAkc3BlYzogdG8gJHNpZGUgJGNvcm5lcjtcclxuICB9XHJcbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcclxuICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XHJcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcclxuICAgICAgJGRlZ3JlZTogJHBvcztcclxuICAgICAgJHNwZWM6IHRvIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkZGVncmVlOiAtMjcwIC0gJHBvczsgLy9yb3RhdGUgdGhlIGdyYWRpZW50IG9wcG9zaXRlIGZyb20gc3BlY1xyXG4gICAgICAkc3BlYzogJHBvcztcclxuICAgIH1cclxuICB9XHJcbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xyXG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XHJcbiAgQHJldHVybiAkZGVncmVlICRzcGVjO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcykge1xyXG4gIEByZXR1cm4gaWYoJHBvcyA9PSBsZWZ0LCByaWdodCwgbnVsbClcclxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcclxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcclxuICAgICAgICAgaWYoJHBvcyA9PSBib3R0b20sIHRvcCwgbnVsbCk7XHJcbn1cclxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxyXG5AZnVuY3Rpb24gX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpIHtcclxuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxKTtcclxuICAkdmFsLTI6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaGFzLW11bHRpcGxlLXZhbHMgKyAxLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuICAkdmFsLTM6IG51bGw7XHJcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xyXG5cclxuICBAaWYgJGhhcy12YWwtMyB7XHJcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xyXG4gICAgJHZhbC0yOiBzdHItc2xpY2UoJHZhbC0yLCAxLCAkaGFzLXZhbC0zIC0gMSk7XHJcbiAgfVxyXG5cclxuICAkcG9zOiBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTEpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMikgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0zKTtcclxuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcclxuXHJcbiAgLy8gVXNlIG9sZCBzcGVjIGZvciB3ZWJraXRcclxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxyXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkZzEsICRnMiB7XHJcbiAgICAkZmlyc3QtdmFsOiBudGgoJHZhbHVlLCAxKTtcclxuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XHJcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcclxuXHJcbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXHJcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xyXG4gICAgICAkc3BlYy1hdC1pbmRleDogaWYoaW5kZXgoJHZhbHVlLCBhdCksIGluZGV4KCR2YWx1ZSwgYXQpLCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xyXG4gICAgICBAaWYgJHNwZWMtYXQtaW5kZXggPiAxIHtcclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcclxuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcclxuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcclxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJGcxOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaWYgKCRwb3MtdHlwZSAhPSBjb2xvcikgb3IgKCRmaXJzdC12YWwgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJ0b3BcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImxlZnRcIikge1xyXG5cclxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcclxuXHJcbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xyXG4gICAgICAgICAgICAkZzE6IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAZWxzZSBpZlxyXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LXNpZGVcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1jb3JuZXJcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcclxuXHJcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xyXG5cclxuICAgICAgICAgIEBpZiAkdmFsdWUgPT0gJGcxIHtcclxuICAgICAgICAgICAgJGcxOiBudWxsO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xyXG4gICAgICAgICAgICAkZzI6IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xyXG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XHJcbiAgJHBvczogICAgICAgIG50aCgkZ3JhZGllbnQtcG9zLCAyKTtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XHJcblxyXG4gICRwcmUtc3BlYzogdW5xdW90ZShpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKSlcclxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcclxuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcclxuXHJcbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcclxuXHJcbiAgLy8gQWRkIGNvbW1hXHJcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcclxuICAgICRzcGVjOiBcIiN7JHNwZWN9LFwiO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xyXG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xyXG4gICRncmFkaWVudHM6ICgpO1xyXG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xyXG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcclxuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XHJcblxyXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XHJcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcclxuXHJcbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcclxuXHJcbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XHJcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xyXG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XHJcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XHJcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZ3JhZGllbnRzO1xyXG59XHJcbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xyXG5cclxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xyXG4gICRwcmUtc3BlYzogbnVsbDtcclxuICAkc3BlYzogbnVsbDtcclxuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcclxuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcclxuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcclxuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XHJcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xyXG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XHJcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcclxuICB9XHJcblxyXG4gIEBpZiAkdmVuZG9yIHtcclxuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xyXG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcclxuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcclxuICB9XHJcbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcclxufVxyXG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XHJcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcclxuICAgICAgJHZhbHVlOiBudWxsO1xyXG4gICAgfVxyXG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xyXG4gIH1cclxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cclxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XHJcbiAgLy8gTWF0cmljZXNcclxuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XHJcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xyXG5cclxuICAvLyBSZXN1bHRcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaXZpZGVyOiAwO1xyXG4gICRtaW51czogZmFsc2U7XHJcblxyXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcclxuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcclxuICAgICAgJG1pbnVzOiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIGlmICRjaGFyYWN0ZXIgPT0gXCIuXCIge1xyXG4gICAgICAkZGl2aWRlcjogMTtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcclxuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XHJcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xyXG5cclxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xyXG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XHJcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XHJcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XHJcbn1cclxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXHJcbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb25zLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XHJcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcclxuICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbnMuLi4pIHtcclxuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCRzdGF0ZXMuLi4pIHtcclxuICAvLyBydW5uaW5nIHwgcGF1c2VkXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRtb2Rlcy4uLikge1xyXG4gIC8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGFwcGVhcmFuY2UoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxyXG4vLyBub3RhdGlvbi5cclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XHJcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XHJcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xyXG5cclxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xyXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcclxuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xyXG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XHJcblxyXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XHJcbiAgICAgICRiYWNrZ3JvdW5kLXN0cjogaWYoJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0LCBudGgoJGJhY2tncm91bmQsIDEpLCAkYmFja2dyb3VuZCk7XHJcblxyXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgMyk7XHJcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCA2KTtcclxuXHJcbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XHJcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAkd2Via2l0LWJhY2tncm91bmRzOiBhcHBlbmQoJHdlYmtpdC1iYWNrZ3JvdW5kcywgJHdlYmtpdC1iYWNrZ3JvdW5kLCBjb21tYSk7XHJcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xyXG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcclxuLy8gZ3JhZGllbnRzLCBvciBmb3Igc3RyaW5naW5nIG11bHRpcGxlIGdyYWRpZW50cyB0b2dldGhlci5cclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlcy4uLikge1xyXG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcclxuICAkc3BlYy1pbWFnZXM6ICgpO1xyXG5cclxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XHJcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcclxuICAgICRzcGVjLWltYWdlOiAoKTtcclxuXHJcbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcclxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDEsIDMpO1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMSwgNik7XHJcblxyXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xyXG4gICAgICAgICRzcGVjLWltYWdlOiAgICRpbWFnZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcclxuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xyXG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xyXG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xyXG59XHJcbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcclxuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xyXG4gICRzcGVjLWJvcmRlcnM6ICgpO1xyXG5cclxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcclxuICAgICR3ZWJraXQtYm9yZGVyOiAoKTtcclxuICAgICRzcGVjLWJvcmRlcjogKCk7XHJcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XHJcblxyXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XHJcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcclxuXHJcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDMpO1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCA2KTtcclxuXHJcbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcclxuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xyXG4gICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XHJcbiAgICAkc3BlYy1ib3JkZXJzOiAgIGFwcGVuZCgkc3BlYy1ib3JkZXJzLCAgICRzcGVjLWJvcmRlciwgICBjb21tYSk7XHJcbiAgfVxyXG5cclxuICAtd2Via2l0LWJvcmRlci1pbWFnZTogJHdlYmtpdC1ib3JkZXJzO1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xyXG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxufVxyXG5cclxuLy9FeGFtcGxlczpcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSBzdHJldGNoKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcclxuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcclxuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xyXG4gICN7JHByb3BlcnR5fTogY2FsYygjeyR2YWx1ZX0pO1xyXG59XHJcbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcclxuICAvLyA8Y29sdW1uLWNvdW50PiB8fCA8Y29sdW1uLXdpZHRoPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xyXG4gIC8vIGF1dG8gfHwgaW50ZWdlclxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XHJcbiAgLy8gbm9ybWFsIHx8IGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XHJcbiAgLy8gYXV0byB8fCBsZW5ndGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcclxuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXNwYW4oJGFyZzogbm9uZSkge1xyXG4gIC8vIG5vbmUgfHwgYWxsXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXNwYW4sICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4td2lkdGgoJGxlbmd0aDogYXV0bykge1xyXG4gIC8vIGF1dG8gfHwgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XHJcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xyXG59XHJcbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xyXG5cclxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxyXG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xyXG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xyXG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XHJcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xyXG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xyXG59XHJcblxyXG5AbWl4aW4gZGlzcGxheS1ib3gge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IC1tb3otYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxyXG4gIGRpc3BsYXk6IGJveDtcclxufVxyXG5cclxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcclxuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XHJcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcclxuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XHJcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xyXG4vLyBzaW5nbGV8bXVsdGlwbGVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXHJcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXHJcblxyXG4vLyAyMDA5IC0gZGlzcGxheSAoYm94IHwgaW5saW5lLWJveClcclxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcclxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcclxuQG1peGluIGRpc3BsYXkoJHZhbHVlKSB7XHJcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xyXG4gICAgLy8gMjAwOVxyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcclxuICAgIGRpc3BsYXk6IGJveDtcclxuXHJcbiAgICAvLyAyMDEyXHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xyXG5cclxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBkaXNwbGF5OiAkdmFsdWU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LWZsZXggKGludGVnZXIpXHJcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcclxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcclxuQG1peGluIGZsZXgoJHZhbHVlKSB7XHJcblxyXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cclxuICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcclxuXHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkZmxleC1ncm93LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtb3JpZW50ICggaG9yaXpvbnRhbCB8IHZlcnRpY2FsIHwgaW5saW5lLWF4aXMgfCBibG9jay1heGlzKVxyXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcclxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxyXG4vLyAyMDEyIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xyXG5cclxuICAvLyBBbHQgdmFsdWVzLlxyXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XHJcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcclxuICAkZGlyZWN0aW9uOiBub3JtYWw7XHJcblxyXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcclxuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XHJcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcclxuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcclxuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xyXG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xyXG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcclxuICB9XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxyXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxyXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XHJcbiAgLy8gQWx0IHZhbHVlc1xyXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XHJcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gd3JhcCB7XHJcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcclxuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXHJcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcclxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxyXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXHJcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxyXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXHJcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xyXG59XHJcblxyXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXHJcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcclxufVxyXG5cclxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXHJcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XHJcbn1cclxuXHJcbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXHJcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcclxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxyXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxyXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xyXG5cclxuICAvLyBBbHQgdmFsdWVzLlxyXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xyXG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcclxuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XHJcbiAgfVxyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xyXG5cclxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XHJcblxyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xyXG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICRhbHQtdmFsdWU6IGVuZDtcclxuICB9XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWFsaWduOiAkYWx0LXZhbHVlO1xyXG59XHJcblxyXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcclxuXHJcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcclxuICB9XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xyXG59XHJcblxyXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxyXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXHJcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xyXG5cclxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XHJcbiAgfVxyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xyXG59XHJcbiIsIkBtaXhpbiBmb250LWZhY2UoXHJcbiAgJGZvbnQtZmFtaWx5LFxyXG4gICRmaWxlLXBhdGgsXHJcbiAgJHdlaWdodDogbm9ybWFsLFxyXG4gICRzdHlsZTogbm9ybWFsLFxyXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxyXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcclxuXHJcbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcblxyXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcclxuICAgICAgJGZvbnQtZmFtaWx5LFxyXG4gICAgICAkZmlsZS1wYXRoLFxyXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXHJcbiAgICAgICRmaWxlLWZvcm1hdHMsXHJcbiAgICAgICRmb250LXVybC1wcmVmaXhcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XHJcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cclxuICBAaW5jbHVkZSBwcmVmaXhlcihmb250LWZlYXR1cmUtc2V0dGluZ3MsICRzZXR0aW5ncywgd2Via2l0IG1veiBtcyBzcGVjKTtcclxufVxyXG4iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXHJcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IG1hbnVhbCB8IGF1dG9cclxuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xyXG5cclxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XHJcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xyXG5cclxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcclxuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcclxuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XHJcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XHJcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcclxuXHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xyXG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRnMSwgJGcyOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcclxuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXHJcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XHJcbiAgJHBvcy1zcGVjOiBudWxsO1xyXG4gICRwb3MtZGVncmVlOiBudWxsO1xyXG5cclxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cclxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XHJcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xyXG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcclxuICAgICRwb3M6IG51bGw7XHJcbiAgfVxyXG5cclxuICBAaWYgJHBvcyB7XHJcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XHJcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xyXG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcclxuICB9XHJcblxyXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xyXG5cclxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXHJcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGcxLCAxKTtcclxuXHJcbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXHJcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcclxufVxyXG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcclxuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XHJcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBSZXF1aXJlcyBTYXNzIDMuMStcclxuQG1peGluIHJhZGlhbC1ncmFkaWVudCgkZzEsICRnMixcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcclxuXHJcbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpO1xyXG4gICRnMTogIG50aCgkZGF0YSwgMSk7XHJcbiAgJGcyOiAgbnRoKCRkYXRhLCAyKTtcclxuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xyXG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xyXG5cclxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcclxuXHJcbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXHJcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xyXG5cclxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXHJcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xyXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XHJcblxyXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XHJcbiAgfVxyXG5cclxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcclxuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sIFwiLCBudWxsKTtcclxuICAkcG9zOiAgICAgICAgaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCk7XHJcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSBcIiBcIikgYW5kICgkcG9zID09IG51bGwpLCBcIiN7JHNoYXBlLXNpemUtc3BlY30sIFwiLCBcIiN7JHNoYXBlLXNpemUtc3BlY30gXCIpO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gT3V0cHV0cyB0aGUgc3BlYyBhbmQgcHJlZml4ZWQgdmVyc2lvbnMgb2YgdGhlIGA6OnNlbGVjdGlvbmAgcHNldWRvLWVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sfSAkY3VycmVudC1zZWxlY3RvciBbZmFsc2VdXHJcbi8vLyAgIElmIHNldCB0byBgdHJ1ZWAsIGl0IHRha2VzIHRoZSBjdXJyZW50IGVsZW1lbnQgaW50byBjb25zaWRlcmF0aW9uLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2VsZWN0aW9uKHRydWUpIHtcclxuLy8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudDo6LW1vei1zZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50OjpzZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBzZWxlY3Rpb24oJGN1cnJlbnQtc2VsZWN0b3I6IGZhbHNlKSB7XHJcbiAgQGlmICRjdXJyZW50LXNlbGVjdG9yIHtcclxuICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcclxuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbiwgJHZhbHVlLCBtb3opO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWxpbmUoJGxpbmU6IG5vbmUpIHtcclxuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcclxuLy8gc29saWQgfHwgZG91YmxlIHx8IGRvdHRlZCB8fCBkYXNoZWQgfHwgd2F2eVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcclxufVxyXG5cclxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xyXG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1jb2xvciwgJGNvbG9yLCBtb3opO1xyXG59XHJcbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IDx0cmFuc2Zvcm0tZnVuY3Rpb24+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xyXG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXHJcbiAgLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcclxuICAvLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxyXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xyXG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcclxuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XHJcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxyXG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XHJcbiAgJHdlYmtpdDogKCk7XHJcbiAgJG1vejogKCk7XHJcbiAgJHNwZWM6ICgpO1xyXG5cclxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cclxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XHJcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcclxuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xyXG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xyXG4gICAgICAkbGlzdDM6ICgpO1xyXG5cclxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XHJcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XHJcblxyXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xyXG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XHJcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xyXG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcclxuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XHJcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xyXG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xyXG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xyXG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xyXG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcclxuICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwibW96XCIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xyXG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIHVzZXItc2VsZWN0KCR2YWx1ZTogbm9uZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1jb2xvcmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItY29sb3IoI2E2MGI1NSAjNzZjZDljIG51bGwgI2U4YWUxYSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItbGVmdC1jb2xvcjogI2U4YWUxYTtcclxuLy8vICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM3NmNkOWM7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItY29sb3JgXHJcblxyXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpaVxyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudC1vbmUge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDVweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50LXR3byB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDNweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50LW9uZSB7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xyXG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50LXR3byB7XHJcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xyXG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYGJvcmRlci1yYWRpdXNgXHJcblxyXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZGFzaGVkIG51bGwgc29saWQpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcclxuXHJcbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci13aWR0aGAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMHB4O1xyXG4vLy8gICAgIGJvcmRlci10b3Atd2lkdGg6IDFlbTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItd2lkdGhgXHJcblxyXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgYnV0dG9ucy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtYnV0dG9uc31gLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAjeyRhbGwtYnV0dG9uc30ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcclxuLy8vICAgI3skYWxsLWJ1dHRvbnMtaG92ZXJ9IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1hY3RpdmV9IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICBidXR0b24sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgYnV0dG9uOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXHJcbi8vLyAgIGJ1dHRvbjpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBidXR0b246YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG4vLy9cclxuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcclxuXHJcbiRidXR0b25zLWxpc3Q6ICdidXR0b24nLFxyXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXHJcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicmVzZXRcIl0nLFxyXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSc7XHJcblxyXG4kYWxsLWJ1dHRvbnM6ICAgICAgICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QpO1xyXG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGFjdGl2ZSk7XHJcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xyXG4kYWxsLWJ1dHRvbnMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGhvdmVyKTtcclxuXHJcbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcclxuJGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZTogJGFsbC1idXR0b25zLWFjdGl2ZTtcclxuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiAgJGFsbC1idXR0b25zLWZvY3VzO1xyXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xyXG4vLy8gICAgIGNsZWFyOiBib3RoO1xyXG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBUcnVuY2F0ZXMgdGV4dCBhbmQgYWRkcyBhbiBlbGxpcHNpcyB0byByZXByZXNlbnQgb3ZlcmZsb3cuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cclxuLy8vICAgTWF4LXdpZHRoIGZvciB0aGUgc3RyaW5nIHRvIHJlc3BlY3QgYmVmb3JlIGJlaW5nIHRydW5jYXRlZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgZWxsaXBzaXM7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbi8vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXgtd2lkdGg6ICR3aWR0aDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgd29yZC13cmFwOiBub3JtYWw7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdlb3JnaWEgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xyXG5cclxuLy8vIEhlbHZldGljYSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8vIEx1Y2lkYSBHcmFuZGUgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XHJcblxyXG4vLy8gTW9ub3NwYWNlIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xyXG5cclxuLy8vIFZlcmRhbmEgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XHJcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xyXG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAdG9kbyBSZW1vdmUgaGVpZ2h0IGFyZ3VtZW50IGluIHY1LjAuMFxyXG5cclxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LWluZGVudDogMTAxJTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICBAaWYgJGhlaWdodCB7XHJcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgbWFyZ2luYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xyXG4vLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBtYXJnaW5gXHJcblxyXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBwYWRkaW5nYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcoMTJ2aCBudWxsIDEwcHggNSUpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbi8vLyAgICAgcGFkZGluZy1sZWZ0OiA1JTtcclxuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBwYWRkaW5nYFxyXG5cclxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXHJcbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXHJcbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDEwZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbGVmdDogMTBlbTtcclxuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vLyAgICAgdG9wOiAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXHJcblxyXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcclxuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xyXG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XHJcblxyXG4gICRvZmZzZXRzOiAoXHJcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxyXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcclxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXHJcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXHJcbiAgKTtcclxuXHJcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcclxuXHJcbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcclxuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XHJcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXHJcbi8vLyAgIFZhbHVlIHRvIHVzZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXHJcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXJhZGl1cywgMTBweCwgd2Via2l0IG1zIHNwZWMpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4vLy8gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcclxuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1taWNyb3NvZnRcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xyXG5cclxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcclxuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XHJcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcclxuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xyXG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xyXG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xyXG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSAge1xyXG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xyXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XHJcbn1cclxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcclxuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBoaWRwaSB7XHJcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcclxuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBTZXRzIHRoZSBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBvZiB0aGUgZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXHJcbi8vLyAgIEEgbGlzdCBvZiBhdCBtb3N0IDIgc2l6ZSB2YWx1ZXMuXHJcbi8vL1xyXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMmVtKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMTBlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcclxuLy8vICAgICB3aWR0aDogMmVtO1xyXG4vLy8gICAgIGhlaWdodDogMmVtO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xyXG4vLy8gICAgIHdpZHRoOiBhdXRvO1xyXG4vLy8gICAgIGhlaWdodDogMTBlbTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEB0b2RvIFJlZmFjdG9yIGluIDUuMC4wIHRvIHVzZSBhIGNvbW1hLXNlcGFyYXRlZCBhcmd1bWVudFxyXG5cclxuQG1peGluIHNpemUoJHZhbHVlKSB7XHJcbiAgJHdpZHRoOiBudGgoJHZhbHVlLCAxKTtcclxuICAkaGVpZ2h0OiAkd2lkdGg7XHJcblxyXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDEge1xyXG4gICAgJGhlaWdodDogbnRoKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAaWYgaXMtc2l6ZSgkaGVpZ2h0KSB7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XHJcbiAgfVxyXG5cclxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIHRleHQtYmFzZWQgaW5wdXRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC10ZXh0LWlucHV0c31gLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9IHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9LFxyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXHJcbi8vLyAgIHRleHRhcmVhIHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcclxuLy8vICAgdGV4dGFyZWE6Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmhvdmVyLFxyXG4vLy8gICB0ZXh0YXJlYTpob3ZlciB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmFjdGl2ZSxcclxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiR0ZXh0LWlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJlbWFpbFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibnVtYmVyXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZWxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInVybFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIndlZWtcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcclxuICAgICAgICAgICAgICAgICAgICd0ZXh0YXJlYSc7XHJcblxyXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XHJcbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBhY3RpdmUpO1xyXG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xyXG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXHJcbi8vL1xyXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxyXG4vLy9cclxuLy8vIEB0eXBlIGN1YmljLWJlemllclxyXG5cclxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcclxuXHJcbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XHJcblxyXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xyXG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xyXG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcclxuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xyXG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcclxuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgd2lkdGg6IDA7XHJcblxyXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcclxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcclxuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcclxuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xyXG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBjaGFuZ2UgdGhlIGB3b3JkLXdyYXBgIHByb3BlcnR5LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cclxuLy8vICAgVmFsdWUgZm9yIHRoZSBgd29yZC1icmVha2AgcHJvcGVydHkuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC53cmFwcGVyIHtcclxuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC53cmFwcGVyIHtcclxuLy8vICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcclxuICBvdmVyZmxvdy13cmFwOiAkd3JhcDtcclxuICB3b3JkLXdyYXA6ICR3cmFwO1xyXG5cclxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICB3b3JkLWJyZWFrOiAkd3JhcDtcclxuICB9XHJcbn1cclxuIiwiLy8gVGhlIGZvbGxvd2luZyBmZWF0dXJlcyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IE1BSk9SIHZlcnNpb24gcmVsZWFzZVxyXG5cclxuQG1peGluIGlubGluZS1ibG9jayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XHJcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcclxuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xyXG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XHJcblxyXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xyXG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xyXG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcclxuICAgICRzdHlsZTogc2ltcGxlO1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcclxuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xyXG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XHJcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xyXG4gICAgJHN0eWxlOiBzaW1wbGU7XHJcblxyXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xyXG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBudW1iZXIge1xyXG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xyXG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xyXG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XHJcbiAgICAkc3R5bGU6IHNpbXBsZTtcclxuXHJcbiAgICBAaWYgJHBhZGRpbmcgPT0gIzQyOTRmMCB7XHJcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICAmOmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgfVxyXG5cclxuICBAd2FybiBcIlRoZSBidXR0b24gbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG4vLyBTZWxlY3RvciBTdHlsZSBCdXR0b25cclxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xyXG4gIC8vIEdyYXlzY2FsZSBidXR0b25cclxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcclxuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHR5cGUgPT0gZmxhdCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIC8vIENvbG9yZWQgYnV0dG9uXHJcbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XHJcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICR0eXBlID09IHNoaW55IHtcclxuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcclxuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xyXG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU2ltcGxlIEJ1dHRvblxyXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XHJcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xyXG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcclxuXHJcbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcclxuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XHJcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcclxuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcclxuICB9XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcblxyXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcclxuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XHJcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XHJcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcclxuXHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxyXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNoaW55IEJ1dHRvblxyXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XHJcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcclxuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcclxuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xyXG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XHJcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcclxuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcclxuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xyXG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XHJcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XHJcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xyXG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xyXG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xyXG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEzLCAkZ3JlZW46IC0xNSwgJGJsdWU6IC0xOCk7XHJcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XHJcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XHJcbiAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAkZ3JlZW46IC04MCwgJGJsdWU6IC02Myk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCRmaXJzdC1zdG9wLWhvdmVyKTtcclxuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcclxuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xyXG4gICAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkZm91cnRoLXN0b3AtaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRmaXJzdC1zdG9wLWhvdmVyICAwJSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyIDEwMCUpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFBpbGwgQnV0dG9uXHJcbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XHJcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcclxuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcclxuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xyXG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XHJcblxyXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xyXG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcclxuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xyXG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcclxuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xyXG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xyXG4gIH1cclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XHJcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xyXG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xyXG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xyXG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XHJcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcclxuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xyXG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xyXG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcclxuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcclxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA0LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMTAlKTtcclxuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcclxuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcclxuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA5LCAgJHNhdHVyYXRpb246ICAyJSwgICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xyXG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xyXG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XHJcbiAgICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tLWFjdGl2ZSk7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcclxuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWFjdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZsYXQgQnV0dG9uXHJcbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xyXG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGbGV4aWJsZSBncmlkXHJcbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XHJcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xyXG5cclxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG4vLyBGbGV4aWJsZSBndXR0ZXJcclxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XHJcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcclxuXHJcbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xyXG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xyXG5cclxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcclxuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xyXG5cclxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFw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 */
