/* Experimental Mixin Support */
/* ==================================== */
/* Bootstrap variables
/* ==================================== */
.rewards-checkout-container, .rewards-checkout-modal-term, .rewards-complete-container, .rewards-mobile-submenu-cart-menu, .rewards-terms-term, .rewards-topMenu, .rewards-selection-menu-select, .rewards-selection-menu-amount {
  border-radius: 7px;
  padding: 16px; }

.rewards-checkout-container, .rewards-complete-container, .rewards-mobile-submenu-cart-menu, .rewards-topMenu, .rewards-selection-menu-select, .rewards-selection-menu-amount {
  box-shadow: 0 2px 1px 0px rgba(0, 0, 0, 0.1); }

.rewards-checkout-container, .rewards-checkout-modal-term, .rewards-complete-container, .rewards-mobile-submenu-cart-menu, .rewards-terms-term, .rewards-topMenu, .rewards-selection-menu-select, .rewards-selection-menu-amount {
  background: white;
  border: 1px solid #eaeaea; }

.rewardsView .hero {
  min-height: 340px;
  padding: 30px 0;
  background-repeat: no-repeat;
  transition-property: background;
  transition-duration: .5s; }
  .rewardsView .hero .hero-desc {
    margin-top: -35px; }
  .rewardsView .hero.notify {
    background: #6e6e6e url(../../../../../../public/blueprints/vop4/images/hero/notify.png) top center no-repeat !important; }

.rewardsView .container-widgets {
  margin-top: -100px;
  z-index: 1;
  position: relative; }

@media only screen and (max-width: 830px) {
  .rewardsView .hero {
    margin-top: 0;
    min-height: 100px;
    padding-bottom: 175px; }
  .rewardsView .container-widgets {
    margin-top: -175px; } }

/*! angularjs-slider - v4.0.2 -
 (c) Rafal Zajac <rzajac@gmail.com>, Valentin Hervieu <valentin@hervieu.me>, Jussi Saarivirta <jusasi@gmail.com>, Angelin Sirbu <angelin.sirbu@gmail.com> -
 https://github.com/angular-slider/angularjs-slider -
 2016-06-07 */
.rzslider {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 4px;
  margin-bottom: 40px;
  margin-top: 16px;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.rzslider.with-legend {
  margin-bottom: 40px; }

.rzslider[disabled] {
  cursor: not-allowed; }

.rzslider[disabled] .rz-pointer {
  cursor: not-allowed;
  background-color: #eee; }

.rzslider span {
  position: absolute;
  display: inline-block;
  white-space: nowrap; }

.rzslider .rz-base {
  width: 100%;
  height: 100%;
  padding: 0; }

.rzslider .rz-bar-wrapper {
  left: 0;
  z-index: 1;
  width: 100%;
  height: 32px;
  padding-top: 16px;
  margin-top: -16px;
  box-sizing: border-box; }

.rzslider .rz-bar-wrapper.rz-draggable {
  cursor: move; }

.rzslider .rz-bar {
  left: 0;
  z-index: 1;
  width: 100%;
  height: 10px;
  background: #d8e0f3;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }

.rzslider .rz-bar.rz-selection {
  z-index: 2;
  background: #00827d;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }

.rzslider .rz-pointer {
  top: -5px;
  z-index: 3;
  width: 16px;
  height: 16px;
  border: 2px solid #fff;
  cursor: pointer;
  outline: none;
  background-color: #00827d;
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px; }

.rzslider .rz-pointer.rz-active {
  z-index: 4; }

.rzslider .rz-bubble {
  top: 20px;
  padding: 1px 3px;
  color: #55637d;
  cursor: default; }

.rzslider .rz-bubble.rz-selection {
  top: 16px; }

.rzslider .rz-bubble.rz-limit {
  display: none; }

.rzslider .rz-ticks {
  position: absolute;
  top: -3px;
  left: 0;
  z-index: 1;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
  -ms-flex-pack: justify;
  width: 100%;
  height: 0;
  padding: 0 11px;
  margin: 0;
  list-style: none;
  box-sizing: border-box; }

.rzslider .rz-ticks .rz-tick {
  width: 10px;
  height: 10px;
  text-align: center;
  cursor: pointer;
  background: #d8e0f3;
  border-radius: 50%; }

.rzslider .rz-ticks .rz-tick.rz-selected {
  background: #0db9f0; }

.rzslider .rz-ticks .rz-tick .rz-tick-value {
  position: absolute;
  top: -30px;
  transform: translate(-50%, 0); }

.rzslider .rz-ticks .rz-tick .rz-tick-legend {
  position: absolute;
  top: 24px;
  max-width: 50px;
  white-space: normal;
  transform: translate(-50%, 0); }

.rzslider .rz-ticks.rz-ticks-values-under .rz-tick-value {
  top: initial;
  bottom: -40px; }

.rzslider.rz-vertical {
  position: relative;
  width: 4px;
  height: 100%;
  padding: 0;
  margin: 0 20px;
  vertical-align: baseline; }

.rzslider.rz-vertical .rz-base {
  width: 100%;
  height: 100%;
  padding: 0; }

.rzslider.rz-vertical .rz-bar-wrapper {
  top: auto;
  left: 0;
  width: 32px;
  height: 100%;
  padding: 0 0 0 16px;
  margin: 0 0 0 -16px; }

.rzslider.rz-vertical .rz-bar {
  bottom: 0;
  left: auto;
  width: 4px;
  height: 100%; }

.rzslider.rz-vertical .rz-pointer {
  top: auto;
  bottom: 0;
  left: -14px !important; }

.rzslider.rz-vertical .rz-bubble {
  bottom: 0;
  left: 16px !important;
  margin-left: 3px; }

.rzslider.rz-vertical .rz-bubble.rz-selection {
  top: auto;
  left: 16px !important; }

.rzslider.rz-vertical .rz-ticks {
  top: 0;
  left: -3px;
  z-index: 1;
  width: 0;
  height: 100%;
  padding: 11px 0;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  box-orient: vertical;
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -moz-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -ms-flex-direction: column-reverse; }

.rzslider.rz-vertical .rz-ticks .rz-tick {
  vertical-align: middle; }

.rzslider.rz-vertical .rz-ticks .rz-tick .rz-tick-value {
  top: initial;
  left: 22px;
  transform: translate(0, -28%); }

.rzslider.rz-vertical .rz-ticks .rz-tick .rz-tick-legend {
  top: initial;
  right: 24px;
  max-width: none;
  white-space: nowrap;
  transform: translate(0, -28%); }

.rzslider.rz-vertical .rz-ticks.rz-ticks-values-under .rz-tick-value {
  right: 12px;
  bottom: initial;
  left: initial; }

.rewards-checkout, .rewards-complete, .rewards-terms {
  margin: auto;
  margin-top: 32px;
  max-width: 800px; }
  .rewards-checkout .form-description, .rewards-complete .form-description, .rewards-terms .form-description {
    margin-bottom: 16px; }

.rewards-checkout-container {
  margin-top: 32px;
  margin-bottom: 32px;
  padding-top: 32px;
  padding-bottom: 32px; }
  .rewards-checkout-container:before, .rewards-checkout-container:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .rewards-checkout-container:after {
    clear: both; }

.rewards-checkout [form-elements], .rewards-complete [form-elements], .rewards-terms [form-elements] {
  clear: both; }

.rewards-checkout [flare-forms] .form-type1-row, .rewards-complete [flare-forms] .form-type1-row, .rewards-terms [flare-forms] .form-type1-row {
  box-sizing: border-box; }
  .rewards-checkout [flare-forms] .form-type1-row input, .rewards-complete [flare-forms] .form-type1-row input, .rewards-terms [flare-forms] .form-type1-row input {
    max-width: 500px; }

.rewards-checkout-total {
  text-align: right; }
  .rewards-checkout-total > * {
    display: block;
    margin-bottom: 8px; }

.rewards-checkout-actions, .rewards-terms-actions {
  margin-top: 32px;
  text-align: right; }
  .rewards-checkout-actions .button, .rewards-terms-actions .button {
    min-width: 100px;
    box-sizing: content-box;
    margin-left: 16px; }
    .rewards-checkout-actions .button.primary, .rewards-terms-actions .button.primary {
      float: right; }

.rewards-checkout-terms {
  text-align: right; }

.rewards-checkout-modal-term {
  margin-bottom: 8px;
  font-size: 12px; }

@media only screen and (max-width: 600px) {
  .rewards-checkout-container {
    padding: 8px;
    padding-top: 16px;
    padding-bottom: 16px; }
  .rewards-checkout-terms {
    margin-top: 32px;
    text-align: center; }
  .rewards-checkout form .form-type1-row, .rewards-complete form .form-type1-row, .rewards-terms form .form-type1-row {
    width: auto;
    float: none;
    padding-right: 0; }
  .rewards-checkout-actions, .rewards-terms-actions {
    text-align: left; }
    .rewards-checkout-actions .button, .rewards-terms-actions .button {
      box-sizing: border-box;
      margin-left: 0;
      width: 100%;
      margin-bottom: 16px;
      float: none; } }

.rewards-complete-container {
  margin-top: 32px;
  margin-bottom: 32px;
  padding-top: 32px;
  padding-bottom: 32px; }
  .rewards-complete-container:before, .rewards-complete-container:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .rewards-complete-container:after {
    clear: both; }

.rewards-complete-total {
  border-top: 1px solid #d4d5d3;
  padding-top: 16px;
  text-align: right; }
  .rewards-complete-total > * {
    display: block;
    margin-bottom: 8px; }

.rewards-complete-actions:before, .rewards-complete-actions:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden; }

.rewards-complete-actions:after {
  clear: both; }

.rewards-complete-actions-terms {
  float: left;
  line-height: 37px; }

.rewards-complete-actions-buttons {
  float: right; }
  .rewards-complete-actions-buttons .button {
    width: 150px; }

@media only screen and (max-width: 600px) {
  .rewards-complete-container {
    padding: 8px;
    padding-top: 16px;
    padding-bottom: 16px; }
  .rewards-complete-actions-terms {
    text-align: center;
    float: none; }
  .rewards-complete-actions-buttons {
    margin-top: 16px;
    text-align: left;
    float: none; }
    .rewards-complete-actions-buttons .button {
      box-sizing: border-box;
      margin-left: 0;
      width: 100%;
      margin-bottom: 16px;
      float: none; } }

.rewards-mobile-submenu-cart-menu {
  border-left: 0;
  border-right: 0;
  z-index: -1;
  opacity: 0;
  position: absolute;
  transition-property: opacity;
  transition-duration: .2s;
  padding: 0;
  top: -5000px;
  border: 1px solid #eaeaea;
  border-radius: 0 0 4px 4px;
  width: 100%;
  position: absolute;
  font-size: 14px; }

.rewards-mobile-submenu {
  display: none;
  position: fixed;
  top: 51px;
  z-index: 500;
  background: #004f4c;
  width: 100%;
  line-height: 45px;
  height: 45px;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  box-direction: normal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
  font-size: 13px; }

.rewards-mobile-submenu-balance {
  padding-left: 16px;
  color: white; }

.rewards-mobile-submenu-title {
  color: white; }

.rewards-mobile-submenu-cart {
  padding-right: 8px; }

.rewards-mobile-submenu-cart {
  position: relative;
  float: left;
  line-height: 45px;
  font-size: 15px;
  min-width: 50px;
  min-height: 40px;
  text-align: center; }
  .rewards-mobile-submenu-cart .notification-bubble {
    position: absolute;
    top: 20px;
    left: 50%;
    margin-left: 0px; }
    .rewards-mobile-submenu-cart .notification-bubble.visible {
      opacity: 1; }
  .rewards-mobile-submenu-cart > a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border-bottom: 5px solid transparent;
    height: 46px; }
  .rewards-mobile-submenu-cart [icon] {
    height: 20px;
    width: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -10px;
    fill: white; }
  .rewards-mobile-submenu-cart.open .rewards-mobile-submenu-cart-menu {
    opacity: 1;
    right: 7px;
    top: 65px; }

.rewards-mobile-submenu-cart-menu {
  width: 300px;
  text-align: left;
  padding: 16px;
  line-height: initial; }
  .rewards-mobile-submenu-cart-menu:before {
    position: absolute;
    top: -18px;
    left: auto;
    right: 15px;
    bottom: auto;
    display: inline-block;
    border-right: 18px solid transparent;
    border-bottom: 18px solid #eaeaea;
    border-left: 18px solid transparent;
    border-bottom-color: 18px solid #eaeaea;
    content: ""; }
  .rewards-mobile-submenu-cart-menu:after {
    position: absolute;
    top: -17px;
    left: auto1px;
    right: 16px;
    bottom: auto;
    display: inline-block;
    border-right: 17px solid transparent;
    border-bottom: 17px solid white;
    border-left: 17px solid transparent;
    content: ""; }

.rewards-mobile-submenu-cart-menu-title {
  font-size: 13px;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 8px;
  margin-bottom: 16px;
  text-transform: uppercase;
  margin-left: -16px;
  margin-right: -16px;
  padding-left: 16px;
  font-weight: 600; }

.rewards-mobile-submenu-cart-menu-quantity {
  text-align: left;
  margin-bottom: 16px; }

.rewards-mobile-submenu-cart-menu-total {
  display: block;
  text-align: right;
  padding: 16px 0; }

.rewards-mobile-submenu-cart-menu-total .total {
  margin-bottom: 8px; }

.rewards-mobile-submenu-cart-menu-checkout, .rewards-mobile-submenu-cart-menu-close {
  margin-top: 8px;
  display: block;
  width: 100%;
  text-align: center; }

.rewards-mobile-submenu-cart-menu-items {
  padding-bottom: 8px;
  border-bottom: 1px solid #828181;
  margin-bottom: 8px; }
  .rewards-mobile-submenu-cart-menu-items:before, .rewards-mobile-submenu-cart-menu-items:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .rewards-mobile-submenu-cart-menu-items:after {
    clear: both; }

.rewards-mobile-submenu-cart-menu-items-item {
  margin-bottom: 8px;
  position: relative; }
  .rewards-mobile-submenu-cart-menu-items-item:before, .rewards-mobile-submenu-cart-menu-items-item:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .rewards-mobile-submenu-cart-menu-items-item:after {
    clear: both; }

.rewards-mobile-submenu-cart-menu-items-item select {
  float: left;
  width: 50px; }

.rewards-mobile-submenu-cart-menu-items-item-details {
  margin-left: 66px;
  margin-right: 25px; }

.rewards-mobile-submenu-cart-menu-items-item-details [icon] {
  height: 16px;
  width: 16px; }

.rewards-mobile-submenu-cart-menu-items-item-details .name {
  display: block;
  font-weight: 600;
  font-size: 13px; }

.rewards-mobile-submenu-cart-menu-items-item-details .cost {
  font-size: 13px;
  display: block; }

.rewards-mobile-submenu-cart-menu-items-item-details .remove {
  position: absolute;
  right: 16px;
  top: 50%;
  margin-top: -3px; }
  .rewards-mobile-submenu-cart-menu-items-item-details .remove [icon] {
    fill: #323232; }

.rewards-mobile-balance {
  padding: 0 16px;
  position: relative;
  float: left;
  line-height: 45px;
  font-size: 15px;
  min-width: 50px;
  min-height: 40px;
  text-align: center; }
  .rewards-mobile-balance:after {
    content: ' ';
    display: block;
    background: #eaeaea;
    width: 1px;
    position: absolute;
    top: -8px;
    left: 0;
    bottom: -7px; }
  .rewards-mobile-balance:before {
    content: ' ';
    display: block;
    background: #eaeaea;
    width: 1px;
    position: absolute;
    top: -8px;
    right: 0;
    bottom: -7px; }

@media only screen and (max-width: 830px) {
  .rewards-mobile-submenu {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; } }

.rewards-terms-term {
  margin-bottom: 16px;
  line-height: 15px;
  font-size: 12px; }

.veriffSuccess-modal {
  text-align: center; }

.veriffSuccess-modal-title {
  margin-top: 16px; }

.veriffSuccess-modal-text {
  text-align: center;
  margin-top: 32px;
  margin-bottom: 32px;
  font-size: 14px;
  line-height: 1.5em; }

/*!
 * Generated with CSS Flag Sprite generator (https://www.flag-sprites.com/)
 */
.flag {
  display: inline-block;
  width: 16px;
  height: 11px;
  background: url("../../../../../shared/images/flags.png") no-repeat; }

.flag.flag-ls {
  background-position: -256px -77px; }

.flag.flag-ht {
  background-position: -208px -55px; }

.flag.flag-se {
  background-position: -208px -121px; }

.flag.flag-ck {
  background-position: -128px -22px; }

.flag.flag-hu {
  background-position: -224px -55px; }

.flag.flag-tj {
  background-position: -48px -143px; }

.flag.flag-vu {
  background-position: -144px -154px; }

.flag.flag-jm {
  background-position: -192px -66px; }

.flag.flag-je {
  background-position: -176px -66px; }

.flag.flag-zm {
  background-position: -16px -165px; }

.flag.flag-jo {
  background-position: -208px -66px; }

.flag.flag-gh {
  background-position: -208px -44px; }

.flag.flag-ms {
  background-position: -16px -99px; }

.flag.flag-ps {
  background-position: -240px -110px; }

.flag.flag-bj {
  background-position: -112px -11px; }

.flag.flag-mz {
  background-position: -128px -99px; }

.flag.flag-kw {
  background-position: -112px -77px; }

.flag.flag-sd {
  background-position: -192px -121px; }

.flag.flag-vi {
  background-position: -112px -154px; }

.flag.flag-lt {
  background-position: 0 -88px; }

.flag.flag-ru {
  background-position: -96px -121px; }

.flag.flag-ng {
  background-position: -208px -99px; }

.flag.flag-somaliland {
  background-position: -96px -132px; }

.flag.flag-tibet {
  background-position: -32px -143px; }

.flag.flag-eu {
  background-position: -256px -33px; }

.flag.flag-be {
  background-position: -32px -11px; }

.flag.flag-kp {
  background-position: -64px -77px; }

.flag.flag-cn {
  background-position: -176px -22px; }

.flag.flag-pe {
  background-position: -96px -110px; }

.flag.flag-kn {
  background-position: -48px -77px; }

.flag.flag-si {
  background-position: -256px -121px; }

.flag.flag-fi {
  background-position: 0 -44px; }

.flag.flag-wf {
  background-position: -176px -154px; }

.flag.flag-ro {
  background-position: -64px -121px; }

.flag.flag-an {
  background-position: -112px 0; }

.flag.flag-vc {
  background-position: -64px -154px; }

.flag.flag-gd {
  background-position: -128px -44px; }

.flag.flag-bg {
  background-position: -64px -11px; }

.flag.flag-aw {
  background-position: -208px 0; }

.flag.flag-xk {
  background-position: -208px -154px; }

.flag.flag-gw {
  background-position: -112px -55px; }

.flag.flag-cf {
  background-position: -64px -22px; }

.flag.flag-sa {
  background-position: -128px -121px; }

.flag.flag-pm {
  background-position: -192px -110px; }

.flag.flag-al {
  background-position: -80px 0; }

.flag.flag-tg {
  background-position: 0 -143px; }

.flag.flag-rw {
  background-position: -112px -121px; }

.flag.flag-fr {
  background-position: -80px -44px; }

.flag.flag-tw {
  background-position: -192px -143px; }

.flag.flag-rs {
  background-position: -80px -121px; }

.flag.flag-mh {
  background-position: -144px -88px; }

.flag.flag-vg {
  background-position: -96px -154px; }

.flag.flag-cz {
  background-position: -16px -33px; }

.flag.flag-sc {
  background-position: -160px -121px; }

.flag.flag-bz {
  background-position: 0 -22px; }

.flag.flag-sb {
  background-position: -144px -121px; }

.flag.flag-af {
  background-position: -32px 0; }

.flag.flag-na {
  background-position: -144px -99px; }

.flag.flag-km {
  background-position: -32px -77px; }

.flag.flag-ga {
  background-position: -96px -44px; }

.flag.flag-io {
  background-position: -80px -66px; }

.flag.flag-gn {
  background-position: 0 -55px; }

.flag.flag-sm {
  background-position: -48px -132px; }

.flag.flag-qa {
  background-position: -32px -121px; }

.flag.flag-mo {
  background-position: -224px -88px; }

.flag.flag-dz {
  background-position: -112px -33px; }

.flag.flag-id {
  background-position: -256px -55px; }

.flag.flag-ec {
  background-position: -128px -33px; }

.flag.flag-ml {
  background-position: -176px -88px; }

.flag.flag-nf {
  background-position: -192px -99px; }

.flag.flag-im {
  background-position: -48px -66px; }

.flag.flag-ad {
  background-position: 0 0; }

.flag.flag-pl {
  background-position: -176px -110px; }

.flag.flag-au {
  background-position: -192px 0; }

.flag.flag-ba {
  background-position: -256px 0; }

.flag.flag-zanzibar {
  background-position: 0 -165px; }

.flag.flag-mq {
  background-position: -256px -88px; }

.flag.flag-nu {
  background-position: -32px -110px; }

.flag.flag-sz {
  background-position: -208px -132px; }

.flag.flag-ax {
  background-position: -224px 0; }

.flag.flag-cy {
  background-position: 0 -33px; }

.flag.flag-mt {
  background-position: -32px -99px; }

.flag.flag-mr {
  background-position: 0 -99px; }

.flag.flag-la {
  background-position: -160px -77px; }

.flag.flag-gu {
  background-position: -96px -55px; }

.flag.flag-ca {
  background-position: -16px -22px; }

.flag.flag-ly {
  background-position: -48px -88px; }

.flag.flag-om {
  background-position: -64px -110px; }

.flag.flag-lk {
  background-position: -224px -77px; }

.flag.flag-zw {
  background-position: -32px -165px; }

.flag.flag-my {
  background-position: -112px -99px; }

.flag.flag-lr {
  background-position: -240px -77px; }

.flag.flag-lc {
  background-position: -192px -77px; }

.flag.flag-ir {
  background-position: -112px -66px; }

.flag.flag-ve {
  background-position: -80px -154px; }

.flag.flag-sl {
  background-position: -32px -132px; }

.flag.flag-ph {
  background-position: -144px -110px; }

.flag.flag-hr {
  background-position: -192px -55px; }

.flag.flag-bw {
  background-position: -240px -11px; }

.flag.flag-ai {
  background-position: -64px 0; }

.flag.flag-th {
  background-position: -16px -143px; }

.flag.flag-ie {
  background-position: 0 -66px; }

.flag.flag-gq {
  background-position: -32px -55px; }

.flag.flag-nz {
  background-position: -48px -110px; }

.flag.flag-pt {
  background-position: -256px -110px; }

.flag.flag-sh {
  background-position: -240px -121px; }

.flag.flag-ni {
  background-position: -224px -99px; }

.flag.flag-cd {
  background-position: -48px -22px; }

.flag.flag-sn {
  background-position: -64px -132px; }

.flag.flag-ee {
  background-position: -144px -33px; }

.flag.flag-tn {
  background-position: -112px -143px; }

.flag.flag-to {
  background-position: -128px -143px; }

.flag.flag-catalonia {
  background-position: -32px -22px; }

.flag.flag-de {
  background-position: -32px -33px; }

.flag.flag-ao {
  background-position: -128px 0; }

.flag.flag-ge {
  background-position: -144px -44px; }

.flag.flag-hm {
  background-position: -160px -55px; }

.flag.flag-um {
  background-position: -256px -143px; }

.flag.flag-bt {
  background-position: -208px -11px; }

.flag.flag-gs {
  background-position: -64px -55px; }

.flag.flag-pw {
  background-position: 0 -121px; }

.flag.flag-wales {
  background-position: -160px -154px; }

.flag.flag-np {
  background-position: 0 -110px; }

.flag.flag-ss {
  background-position: -128px -132px; }

.flag.flag-gt {
  background-position: -80px -55px; }

.flag.flag-nr {
  background-position: -16px -110px; }

.flag.flag-hk {
  background-position: -144px -55px; }

.flag.flag-mp {
  background-position: -240px -88px; }

.flag.flag-ne {
  background-position: -176px -99px; }

.flag.flag-re {
  background-position: -48px -121px; }

.flag.flag-bf {
  background-position: -48px -11px; }

.flag.flag-va {
  background-position: -48px -154px; }

.flag.flag-kh {
  background-position: 0 -77px; }

.flag.flag-mm {
  background-position: -192px -88px; }

.flag.flag-ye {
  background-position: -224px -154px; }

.flag.flag-sy {
  background-position: -192px -132px; }

.flag.flag-mn {
  background-position: -208px -88px; }

.flag.flag-tr {
  background-position: -144px -143px; }

.flag.flag-cu {
  background-position: -224px -22px; }

.flag.flag-sg {
  background-position: -224px -121px; }

.flag.flag-gf {
  background-position: -160px -44px; }

.flag.flag-az {
  background-position: -240px 0; }

.flag.flag-ke {
  background-position: -240px -66px; }

.flag.flag-gr {
  background-position: -48px -55px; }

.flag.flag-co {
  background-position: -192px -22px; }

.flag.flag-lu {
  background-position: -16px -88px; }

.flag.flag-gb {
  background-position: -112px -44px; }

.flag.flag-hn {
  background-position: -176px -55px; }

.flag.flag-et {
  background-position: -240px -33px; }

.flag.flag-sk {
  background-position: -16px -132px; }

.flag.flag-lv {
  background-position: -32px -88px; }

.flag.flag-cw {
  background-position: -256px -22px; }

.flag.flag-gp {
  background-position: -16px -55px; }

.flag.flag-es {
  background-position: -224px -33px; }

.flag.flag-sv {
  background-position: -160px -132px; }

.flag.flag-dj {
  background-position: -48px -33px; }

.flag.flag-ua {
  background-position: -224px -143px; }

.flag.flag-bs {
  background-position: -192px -11px; }

.flag.flag-iq {
  background-position: -96px -66px; }

.flag.flag-fk {
  background-position: -32px -44px; }

.flag.flag-kz {
  background-position: -144px -77px; }

.flag.flag-pr {
  background-position: -224px -110px; }

.flag.flag-mk {
  background-position: -160px -88px; }

.flag.flag-by {
  background-position: -256px -11px; }

.flag.flag-fo {
  background-position: -64px -44px; }

.flag.flag-gm {
  background-position: -256px -44px; }

.flag.flag-fm {
  background-position: -48px -44px; }

.flag.flag-bn {
  background-position: -144px -11px; }

.flag.flag-gi {
  background-position: -224px -44px; }

.flag.flag-kr {
  background-position: -80px -77px; }

.flag.flag-vn {
  background-position: -128px -154px; }

.flag.flag-bi {
  background-position: -96px -11px; }

.flag.flag-mu {
  background-position: -48px -99px; }

.flag.flag-pf {
  background-position: -112px -110px; }

.flag.flag-cl {
  background-position: -144px -22px; }

.flag.flag-at {
  background-position: -176px 0; }

.flag.flag-bm {
  background-position: -128px -11px; }

.flag.flag-england {
  background-position: -192px -33px; }

.flag.flag-pn {
  background-position: -208px -110px; }

.flag.flag-bv {
  background-position: -224px -11px; }

.flag.flag-kg {
  background-position: -256px -66px; }

.flag.flag-ci {
  background-position: -112px -22px; }

.flag.flag-ag {
  background-position: -48px 0; }

.flag.flag-bo {
  background-position: -160px -11px; }

.flag.flag-bb {
  background-position: 0 -11px; }

.flag.flag-gg {
  background-position: -192px -44px; }

.flag.flag-eg {
  background-position: -160px -33px; }

.flag.flag-py {
  background-position: -16px -121px; }

.flag.flag-ar {
  background-position: -144px 0; }

.flag.flag-td {
  background-position: -240px -132px; }

.flag.flag-it {
  background-position: -144px -66px; }

.flag.flag-il {
  background-position: -16px -66px; }

.flag.flag-mc {
  background-position: -80px -88px; }

.flag.flag-bd {
  background-position: -16px -11px; }

.flag.flag-pk {
  background-position: -160px -110px; }

.flag.flag-dk {
  background-position: -64px -33px; }

.flag.flag-br {
  background-position: -176px -11px; }

.flag.flag-kurdistan {
  background-position: -96px -77px; }

.flag.flag-gy {
  background-position: -128px -55px; }

.flag.flag-ae {
  background-position: -16px 0; }

.flag.flag-ma {
  background-position: -64px -88px; }

.flag.flag-eh {
  background-position: -176px -33px; }

.flag.flag-mw {
  background-position: -80px -99px; }

.flag.flag-cg {
  background-position: -80px -22px; }

.flag.flag-fj {
  background-position: -16px -44px; }

.flag.flag-so {
  background-position: -80px -132px; }

.flag.flag-jp {
  background-position: -224px -66px; }

.flag.flag-cm {
  background-position: -160px -22px; }

.flag.flag-pg {
  background-position: -128px -110px; }

.flag.flag-st {
  background-position: -144px -132px; }

.flag.flag-do {
  background-position: -96px -33px; }

.flag.flag-er {
  background-position: -208px -33px; }

.flag.flag-am {
  background-position: -96px 0; }

.flag.flag-ic {
  background-position: -240px -55px; }

.flag.flag-sx {
  background-position: -176px -132px; }

.flag.flag-sj {
  background-position: 0 -132px; }

.flag.flag-tz {
  background-position: -208px -143px; }

.flag.flag-tk {
  background-position: -64px -143px; }

.flag.flag-za {
  background-position: -256px -154px; }

.flag.flag-scotland {
  background-position: -176px -121px; }

.flag.flag-cr {
  background-position: -208px -22px; }

.flag.flag-no {
  background-position: -256px -99px; }

.flag.flag-pa {
  background-position: -80px -110px; }

.flag.flag-gl {
  background-position: -240px -44px; }

.flag.flag-tc {
  background-position: -224px -132px; }

.flag.flag-ws {
  background-position: -192px -154px; }

.flag.flag-mv {
  background-position: -64px -99px; }

.flag.flag-ky {
  background-position: -128px -77px; }

.flag.flag-ug {
  background-position: -240px -143px; }

.flag.flag-sr {
  background-position: -112px -132px; }

.flag.flag-ki {
  background-position: -16px -77px; }

.flag.flag-us {
  background-position: 0 -154px; }

.flag.flag-uz {
  background-position: -32px -154px; }

.flag.flag-nc {
  background-position: -160px -99px; }

.flag.flag-yt {
  background-position: -240px -154px; }

.flag.flag-ch {
  background-position: -96px -22px; }

.flag.flag-nl {
  background-position: -240px -99px; }

.flag.flag-tv {
  background-position: -176px -143px; }

.flag.flag-in {
  background-position: -64px -66px; }

.flag.flag-mx {
  background-position: -96px -99px; }

.flag.flag-uy {
  background-position: -16px -154px; }

.flag.flag-dm {
  background-position: -80px -33px; }

.flag.flag-is {
  background-position: -128px -66px; }

.flag.flag-cv {
  background-position: -240px -22px; }

.flag.flag-tl {
  background-position: -80px -143px; }

.flag.flag-as {
  background-position: -160px 0; }

.flag.flag-mg {
  background-position: -128px -88px; }

.flag.flag-bh {
  background-position: -80px -11px; }

.flag.flag-tm {
  background-position: -96px -143px; }

.flag.flag-li {
  background-position: -208px -77px; }

.flag.flag-tt {
  background-position: -160px -143px; }

.flag.flag-me {
  background-position: -112px -88px; }

.flag.flag-md {
  background-position: -96px -88px; }

.flag.flag-tf {
  background-position: -256px -132px; }

.flag.flag-lb {
  background-position: -176px -77px; }

/*!
 * ui-select
 * http://github.com/angular-ui/ui-select
 * Version: 0.11.2 - 2015-03-17T04:08:46.478Z
 * License: MIT
 */
/* Style when highlighting a search. */
.ui-select-highlight {
  font-weight: bold; }

.search-container {
  display: none; }

.select2-results .select2-result-label:hover {
  background-color: #378efe;
  color: #fff !important; }

.ui-select-offscreen {
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  outline: 0 !important;
  left: 0px !important;
  top: 0px !important; }

/* Select2 theme */
/* Mark invalid Select2 */
.ng-dirty.ng-invalid > a.select2-choice {
  border-color: #d44950; }

.select2-result-single {
  padding-left: 0; }

.select2-locked > .select2-search-choice-close {
  display: none; }

.select-locked > .ui-select-match-close {
  display: none; }

.select2-container {
  width: 33%; }
  .select2-container .select2-choice {
    background-color: #f2f2f2;
    background-image: none;
    color: #323232 !important;
    font-size: 14px;
    border: 1px solid #dcdcdc; }

.select2-drop {
  background: #f2f2f2; }

.select2-arrow {
  background: #f2f2f2 !important;
  border-left: 0px !important;
  color: #323232 !important; }

.select2-drop-active {
  border: 1px solid #dcdcdc; }

.select2-results {
  background: #f2f2f2; }
  .select2-results .select2-result-label {
    background-color: #f2f2f2;
    background-image: none;
    color: #323232 !important;
    font-size: 14px; }

body > .select2-container.open {
  z-index: 9999;
  /* The z-index Select2 applies to the select2-drop */ }

/* Selectize theme */
/* Helper class to show styles when focus */
.selectize-input.selectize-focus {
  border-color: #007fbb !important; }

/* Fix input width for Selectize theme */
.selectize-control > .selectize-input > input {
  width: 100%; }

/* Fix dropdown width for Selectize theme */
.selectize-control > .selectize-dropdown {
  width: 100%; }

/* Mark invalid Selectize */
.ng-dirty.ng-invalid > div.selectize-input {
  border-color: #d44950; }

/* Bootstrap theme */
/* Helper class to show styles when focus */
.btn-default-focus {
  color: #333;
  background-color: #ebebeb;
  border-color: #adadad;
  text-decoration: none;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }

.ui-select-bootstrap .ui-select-toggle {
  position: relative; }

.ui-select-bootstrap .ui-select-toggle > .caret {
  position: absolute;
  height: 10px;
  top: 50%;
  right: 10px;
  margin-top: -2px; }

/* Fix Bootstrap dropdown position when inside a input-group */
.input-group > .ui-select-bootstrap.dropdown {
  /* Instead of relative */
  position: static; }

.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {
  border-radius: 4px;
  /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.ui-select-bootstrap > .ui-select-match > .btn {
  /* Instead of center because of .btn */
  text-align: left !important; }

.ui-select-bootstrap > .ui-select-match > .caret {
  position: absolute;
  top: 45%;
  right: 15px; }

/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */
.ui-select-bootstrap > .ui-select-choices {
  width: 100%;
  height: auto;
  max-height: 200px;
  overflow-x: hidden;
  margin-top: -1px; }

body > .ui-select-bootstrap.open {
  z-index: 1000;
  /* Standard Bootstrap dropdown z-index */ }

.ui-select-multiple.ui-select-bootstrap {
  height: auto;
  padding: 3px 3px 0 3px; }

.ui-select-multiple.ui-select-bootstrap input.ui-select-search {
  background-color: transparent !important;
  /* To prevent double background when disabled */
  border: none;
  outline: none;
  height: 1.666666em;
  margin-bottom: 3px; }

.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {
  font-size: 1.6em;
  line-height: 0.75; }

.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
  outline: 0;
  margin: 0 3px 3px 0; }

.ui-select-multiple .ui-select-match-item {
  position: relative; }

.ui-select-multiple .ui-select-match-item.dropping-before:before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  height: 100%;
  margin-right: 2px;
  border-left: 1px solid #428bca; }

.ui-select-multiple .ui-select-match-item.dropping-after:after {
  content: '';
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  margin-left: 2px;
  border-right: 1px solid #428bca; }

.ui-select-bootstrap .ui-select-choices-row > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: 400;
  line-height: 1.42857143;
  color: #333;
  white-space: nowrap; }

.ui-select-bootstrap .ui-select-choices-row > a:hover,
.ui-select-bootstrap .ui-select-choices-row > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5; }

.ui-select-bootstrap .ui-select-choices-row.active > a {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #428bca; }

.ui-select-bootstrap .ui-select-choices-row.disabled > a,
.ui-select-bootstrap .ui-select-choices-row.active.disabled > a {
  color: #777;
  cursor: not-allowed;
  background-color: #fff; }

/* fix hide/show angular animation */
.ui-select-match.ng-hide-add,
.ui-select-search.ng-hide-add {
  display: none !important; }

/* Mark invalid Bootstrap */
.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {
  border-color: #d44950; }

th.cost,
td.cost {
  min-width: 70px;
  text-align: right; }

.rewardsView .container.container-widgets {
  background: #fff;
  border-radius: 7px 7px 0 0; }

.rewards-topMenu {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  box-direction: normal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
  margin-top: 16px;
  padding: 0;
  box-sizing: border-box; }
  .rewards-topMenu:before, .rewards-topMenu:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .rewards-topMenu:after {
    clear: both; }

.rewards-topMenu-filters {
  margin: auto;
  margin-left: 0;
  padding-left: 8px;
  padding: 0 16px;
  width: 252px;
  box-sizing: border-box;
  margin-right: 0;
  border-right: 1px solid #eaeaea; }
  .rewards-topMenu-filters:before, .rewards-topMenu-filters:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .rewards-topMenu-filters:after {
    clear: both; }
  .rewards-topMenu-filters span {
    padding-left: 8px; }
  .rewards-topMenu-filters select {
    margin-top: 12px;
    display: inline-block;
    width: 100%; }

.rewards-topMenu-heading {
  height: 60px;
  line-height: 60px;
  padding: 0 16px;
  margin: auto;
  margin-left: 16px;
  position: relative;
  box-sizing: border-box; }

.rewards-topMenu-sortBy {
  height: 60px;
  line-height: 60px;
  border-left: 1px solid #eaeaea;
  padding: 0 16px;
  display: block;
  margin: auto;
  margin-right: 0;
  color: #323232; }
  .rewards-topMenu-sortBy select {
    margin-top: 12px; }
  .rewards-topMenu-sortBy [icon] {
    height: 15px;
    width: 15px;
    margin-left: 3px; }

.rewards-selection {
  margin-top: 32px; }
  .rewards-selection:before, .rewards-selection:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .rewards-selection:after {
    clear: both; }

.rewards-selection-menu {
  float: left;
  width: 220px; }

.rewards-selection__smallScreenCTAs {
  display: none;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
  border-radius: 7px;
  border: 1px solid #eaeaea;
  font-size: 0;
  margin-bottom: 1.5rem; }
  .rewards-selection__smallScreenCTAs button,
  .rewards-selection__smallScreenCTAs div {
    background: white;
    border: none;
    display: inline-block;
    font-size: 0.9rem;
    height: 4rem;
    padding: 0;
    position: relative;
    text-transform: uppercase;
    width: 50%; }
    .rewards-selection__smallScreenCTAs button:first-child:before,
    .rewards-selection__smallScreenCTAs div:first-child:before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      background: #eaeaea;
      width: 1px; }
  .rewards-selection__smallScreenCTAs select {
    text-transform: uppercase;
    box-shadow: none;
    border: none;
    text-align: center; }

.rewards-selection-menu-select {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  margin-bottom: 16px; }

.rewards-selection-title-select {
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 16px;
  display: block;
  padding-left: 16px;
  font-weight: 600;
  font-size: 13px; }

.rewards-selection-selected:hover {
  background: #00827d;
  color: white; }
  .rewards-selection-selected:hover .rewards-selection-selected-check {
    color: white; }

.rewards-selection-selected .rewards-selection-selected-check {
  color: #00827d;
  float: right; }
  .rewards-selection-selected .rewards-selection-selected-check:hover {
    color: white; }

.hidden {
  display: none; }

.rewards-selection-menu-amount {
  margin-bottom: 16px; }

.rewards-selection-title {
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 16px;
  display: block;
  margin-left: -16px;
  margin-right: -16px;
  padding-left: 16px;
  margin-bottom: 16px;
  font-weight: 600;
  font-size: 13px; }

.rewards-selection-symbol {
  text-align: center; }

.rewards-selection-rewards {
  float: right;
  width: calc(100% - 220px);
  box-sizing: border-box;
  padding-left: 32px; }

.rewards-container {
  position: relative;
  margin-top: 32px; }

.rewardDisplay {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  box-direction: normal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
  box-sizing: border-box; }

.rewardDisplay-reward {
  display: block;
  width: calc(25% - 16px);
  margin-right: 16px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 7px;
  height: 300px;
  overflow-x: hidden;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
  margin-bottom: 16px;
  text-align: center;
  transition-property: box-shadow, transform;
  transition-duration: 0.5s;
  position: relative; }
  .rewardDisplay-reward select {
    width: auto; }
  .rewardDisplay-reward.ng-animate {
    transition: 0s; }
  .rewardDisplay-reward:hover {
    box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1);
    border: 1px solid #d1d1d1;
    transform: translateY(-7px); }
  .rewardDisplay-reward .magazine .rewardDisplay-cost, .rewardDisplay-reward .magazine .rewardDisplay-sale {
    font-weight: normal; }
  .rewardDisplay-reward .magazine .rewardDisplay-logo {
    height: 120px; }

.rewardDisplay-terms {
  margin-top: 16px;
  font-size: 11px !important;
  margin-bottom: 16px; }

.rewardDisplay-outOfStock {
  background: #666;
  top: 0;
  left: 0;
  right: 0;
  line-height: 25px;
  color: #fff;
  position: absolute;
  text-transform: uppercase;
  font-size: 12px; }

.rewardDisplay-cost {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: #eee;
  line-height: 30px;
  font-weight: 600;
  left: 0;
  color: #666; }

.rewardDisplay-sale {
  position: absolute;
  top: 0;
  width: 100%;
  background: #ff8552;
  line-height: 30px;
  font-weight: 600;
  left: 0;
  color: #eee; }

.rewardDisplay-logo {
  height: 75px;
  padding-top: 32px;
  margin: auto;
  margin-bottom: 16px;
  display: block;
  padding-bottom: 16px;
  border-bottom: 1px solid #eaeaea; }

.rewardDisplay-title {
  padding: 0 8px 0 8px;
  font-size: 14px;
  line-height: 21px;
  display: block;
  color: #323232; }

.rewardDisplay-title-value {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 600; }

.rewardDetails-modal {
  text-align: center; }

.rewardDetails-modal-quantity {
  margin-top: 16px;
  text-align: left; }
  .rewardDetails-modal-quantity span,
  .rewardDetails-modal-quantity select {
    display: inline-block;
    width: auto; }
  .rewardDetails-modal-quantity select {
    width: 150px; }

.rewardDetails-modal-updatedCost {
  text-align: left;
  margin-top: 16px; }

.rewardDetails-modal-title {
  margin-top: 16px; }

.rewardDetails-modal-actions {
  padding-top: 16px; }
  .rewardDetails-modal-actions .button {
    display: block;
    margin-top: 8px; }

.rewardDetails-modal-description {
  text-align: left;
  margin-top: 32px;
  font-size: 14px;
  line-height: 1.5em; }

.rewardDetails-modal-terms {
  text-align: left;
  margin-top: 16px;
  font-size: 11px !important; }

.rewardDetails-modal-sale-slogan {
  padding: 0.5em;
  color: #eee;
  background: #ff8552; }

.rewardDetails-modal-oldPrice {
  color: #ff8552; }
  .rewardDetails-modal-oldPrice .rewardDetails-modal-cost {
    text-decoration: line-through; }

.rewardDetails-modal-strong {
  font-weight: bold; }

.rewards-checkout-local-paypal-failure {
  color: #d44950; }

@media only screen and (max-width: 950px) {
  .rewardDisplay-reward {
    width: calc(33% - 16px); } }

@media only screen and (max-width: 850px) {
  .rewardDisplay-reward {
    width: calc(50% - 16px); } }

@media only screen and (max-width: 450px) {
  .rewardDisplay-title {
    font-size: 16px; }
  .rewardDisplay-reward {
    width: 100%;
    margin-right: 0;
    height: auto;
    padding-bottom: 48px;
    max-height: 300px; }
    .rewardDisplay-reward:nth-child(3n + 0) {
      margin-right: 0; }
  .rewardDisplay-logo {
    padding-top: 32px;
    height: auto; } }

@media only screen and (max-width: 830px) {
  .rewards-selection__smallScreenCTAs {
    display: block; }
  .rewardsView .hero {
    margin-top: 45px; }
  .rewards, .rewards-checkout, .rewards-complete, .rewards-terms,
  .rewards-terms,
  .rewards-complete {
    margin-top: 60px; }
  .rewards-topMenu,
  .rewards-selection-menu {
    display: none; }
  .rewards-selection-menu {
    display: none;
    float: none; }
  .rewards-selection-rewards {
    float: none;
    width: 100%;
    padding-left: 0; }
  .rewards-topMenu-heading {
    display: none; }
  .rewards-topMenu-filters {
    border-right: 0;
    width: auto; }
  .rewards-topMenu-filtersButton {
    padding: 0px; } }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAicmV3YXJkcy5jc3MiLAoJInNvdXJjZXMiOiBbCgkJIi4uL3NyYy9ibHVlcHJpbnRzL25lY3RhckNhbnZhc3MyL3Nhc3MvYXV0aC9yZXdhcmRzLnNjc3MiLAoJCSIuLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL19jb25maWcuc2NzcyIsCgkJIi4uL3NyYy9zaGFyZWQvc2Fzcy9fY29uZmlnLnNjc3MiLAoJCSIuLi9zcmMvc2hhcmVkL3Nhc3MvbWl4aW5zL19oZWxwZXJzLnNjc3MiLAoJCSIuLi9zcmMvc2hhcmVkL3Nhc3MvbWl4aW5zL190cmFuc2l0aW9ucy5zY3NzIiwKCQkiLi4vc3JjL3NoYXJlZC9zYXNzL21peGlucy9fZW1haWxSZXNldC5zY3NzIiwKCQkiLi4vc3JjL3NoYXJlZC9zYXNzL21peGlucy9fYm91cmJvbi5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fcHJlZml4ZXIuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2Fzc2lnbi1pbnB1dHMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtbGlnaHQuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19zaGFkZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RyYW5zaXRpb24tcHJvcGVydHktbmFtZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jYWxjLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2NvbHVtbnMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZmlsdGVyLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZvbnQtZmFjZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faHlwaGVucy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2xpbmVhci1ncmFkaWVudC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19yYWRpYWwtZ3JhZGllbnQuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fc2VsZWN0aW9uLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL190cmFuc2Zvcm0uc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1jb2xvci5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItd2lkdGguc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19idXR0b25zLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19lbGxpcHNpcy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fbWFyZ2luLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcGFkZGluZy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19zaXplLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdGV4dC1pbnB1dHMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL193b3JkLXdyYXAuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwKCQkiLi4vc3JjL3NoYXJlZC9zYXNzL21peGlucy9faWNvbi5zY3NzIiwKCQkiLi4vc3JjL3NoYXJlZC9zYXNzL3BsYWNlaG9sZGVycy9fcG9pbnRlci5zY3NzIiwKCQkiLi4vc3JjL3NoYXJlZC9zYXNzL3BsYWNlaG9sZGVycy9fdmVydGljYWxseUNlbnRlci5zY3NzIiwKCQkiLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9fY29uZmlnLWJvb3RzdHJhcC5zY3NzIiwKCQkiLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9wbGFjZWhvbGRlcnMvX2JveC5zY3NzIiwKCQkiLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9wbGFjZWhvbGRlcnMvX2NvbnRhaW5lci5zY3NzIiwKCQkiLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9wbGFjZWhvbGRlcnMvX2hlcm9BbmRXaWRnZXRzLnNjc3MiLAoJCSIuLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2VsZW1lbnRzL19yenNsaWRlci5zY3NzIiwKCQkiLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9hdXRoL3Jld2FyZHMvX3Jld2FyZHMtY2hlY2tvdXQuc2NzcyIsCgkJIi4uL3NyYy9ibHVlcHJpbnRzL25lY3RhckNhbnZhc3MyL3Nhc3MvYXV0aC9yZXdhcmRzL19yZXdhcmRzLWNvbXBsZXRlLnNjc3MiLAoJCSIuLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2F1dGgvcmV3YXJkcy9fcmV3YXJkcy1tb2JpbGUtc3VibWVudS5zY3NzIiwKCQkiLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9hdXRoL3Jld2FyZHMvX3Jld2FyZHMtdGVybXMuc2NzcyIsCgkJIi4uL3NyYy9ibHVlcHJpbnRzL25lY3RhckNhbnZhc3MyL3Nhc3MvYXV0aC9mbGFncy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiJHB1YmxpY1BhdGg6ICcuLi8uLi8uLi8uLi8uLi8uLi9wdWJsaWMnO1xuJHRvcE1lbnUtaGVpZ2h0OiA2MHB4O1xuJHRvcE1lbnUtbWVudVNpemU6IDIyMHB4O1xuXG5AaW1wb3J0ICcuLi9jb25maWcnO1xuQGltcG9ydCAnLi4vZWxlbWVudHMvcnpzbGlkZXInO1xuQGltcG9ydCAncmV3YXJkcy9yZXdhcmRzLWNoZWNrb3V0JztcbkBpbXBvcnQgJ3Jld2FyZHMvcmV3YXJkcy1jb21wbGV0ZSc7XG5AaW1wb3J0ICdyZXdhcmRzL3Jld2FyZHMtbW9iaWxlLXN1Ym1lbnUnO1xuQGltcG9ydCAncmV3YXJkcy9yZXdhcmRzLXRlcm1zJztcbkBpbXBvcnQgJ2ZsYWdzJztcblxuLyohXG4gKiB1aS1zZWxlY3RcbiAqIGh0dHA6Ly9naXRodWIuY29tL2FuZ3VsYXItdWkvdWktc2VsZWN0XG4gKiBWZXJzaW9uOiAwLjExLjIgLSAyMDE1LTAzLTE3VDA0OjA4OjQ2LjQ3OFpcbiAqIExpY2Vuc2U6IE1JVFxuICovXG5cbi8qIFN0eWxlIHdoZW4gaGlnaGxpZ2h0aW5nIGEgc2VhcmNoLiAqL1xuLnVpLXNlbGVjdC1oaWdobGlnaHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnNlYXJjaC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VsZWN0Mi1yZXN1bHRzIC5zZWxlY3QyLXJlc3VsdC1sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNzhlZmU7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi51aS1zZWxlY3Qtb2Zmc2NyZWVuIHtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICB0b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4vKiBTZWxlY3QyIHRoZW1lICovXG5cbi8qIE1hcmsgaW52YWxpZCBTZWxlY3QyICovXG4ubmctZGlydHkubmctaW52YWxpZCA+IGEuc2VsZWN0Mi1jaG9pY2Uge1xuICBib3JkZXItY29sb3I6ICNkNDQ5NTA7XG59XG5cbi5zZWxlY3QyLXJlc3VsdC1zaW5nbGUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5zZWxlY3QyLWxvY2tlZCA+IC5zZWxlY3QyLXNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VsZWN0LWxvY2tlZCA+IC51aS1zZWxlY3QtbWF0Y2gtY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIge1xuICB3aWR0aDogMzMlO1xuXG4gIC5zZWxlY3QyLWNob2ljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGNvbG9yOiAjMzIzMjMyICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gIH1cbn1cblxuLnNlbGVjdDItZHJvcCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG59XG5cbi5zZWxlY3QyLWFycm93IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMiAhaW1wb3J0YW50O1xuICBib3JkZXItbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzIzMjMyICFpbXBvcnRhbnQ7XG59XG5cbi5zZWxlY3QyLWRyb3AtYWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbn1cblxuLnNlbGVjdDItcmVzdWx0cyB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG5cbiAgLnNlbGVjdDItcmVzdWx0LWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgY29sb3I6ICMzMjMyMzIgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cblxuYm9keSA+IC5zZWxlY3QyLWNvbnRhaW5lci5vcGVuIHtcbiAgei1pbmRleDogOTk5OTsgLyogVGhlIHotaW5kZXggU2VsZWN0MiBhcHBsaWVzIHRvIHRoZSBzZWxlY3QyLWRyb3AgKi9cbn1cblxuLyogU2VsZWN0aXplIHRoZW1lICovXG5cbi8qIEhlbHBlciBjbGFzcyB0byBzaG93IHN0eWxlcyB3aGVuIGZvY3VzICovXG4uc2VsZWN0aXplLWlucHV0LnNlbGVjdGl6ZS1mb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzAwN2ZiYiAhaW1wb3J0YW50O1xufVxuXG4vKiBGaXggaW5wdXQgd2lkdGggZm9yIFNlbGVjdGl6ZSB0aGVtZSAqL1xuLnNlbGVjdGl6ZS1jb250cm9sID4gLnNlbGVjdGl6ZS1pbnB1dCA+IGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEZpeCBkcm9wZG93biB3aWR0aCBmb3IgU2VsZWN0aXplIHRoZW1lICovXG4uc2VsZWN0aXplLWNvbnRyb2wgPiAuc2VsZWN0aXplLWRyb3Bkb3duIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIE1hcmsgaW52YWxpZCBTZWxlY3RpemUgKi9cbi5uZy1kaXJ0eS5uZy1pbnZhbGlkID4gZGl2LnNlbGVjdGl6ZS1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogI2Q0NDk1MDtcbn1cblxuLyogQm9vdHN0cmFwIHRoZW1lICovXG5cbi8qIEhlbHBlciBjbGFzcyB0byBzaG93IHN0eWxlcyB3aGVuIGZvY3VzICovXG4uYnRuLWRlZmF1bHQtZm9jdXMge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDhweCByZ2JhKDEwMiwgMTc1LCAyMzMsIDAuNik7XG59XG5cbi51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LXRvZ2dsZSA+IC5jYXJldCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8qIEZpeCBCb290c3RyYXAgZHJvcGRvd24gcG9zaXRpb24gd2hlbiBpbnNpZGUgYSBpbnB1dC1ncm91cCAqL1xuLmlucHV0LWdyb3VwID4gLnVpLXNlbGVjdC1ib290c3RyYXAuZHJvcGRvd24ge1xuICAvKiBJbnN0ZWFkIG9mIHJlbGF0aXZlICovXG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5pbnB1dC1ncm91cCA+IC51aS1zZWxlY3QtYm9vdHN0cmFwID4gaW5wdXQudWktc2VsZWN0LXNlYXJjaC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItcmFkaXVzOiA0cHg7IC8qIEZJWE1FIGhhcmRjb2RlZCB2YWx1ZSA6LS8gKi9cbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4udWktc2VsZWN0LWJvb3RzdHJhcCA+IC51aS1zZWxlY3QtbWF0Y2ggPiAuYnRuIHtcbiAgLyogSW5zdGVhZCBvZiBjZW50ZXIgYmVjYXVzZSBvZiAuYnRuICovXG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgPiAudWktc2VsZWN0LW1hdGNoID4gLmNhcmV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ1JTtcbiAgcmlnaHQ6IDE1cHg7XG59XG5cbi8qIFNlZSBTY3JvbGxhYmxlIE1lbnUgd2l0aCBCb290c3RyYXAgMyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE5MjI3NDk2ICovXG4udWktc2VsZWN0LWJvb3RzdHJhcCA+IC51aS1zZWxlY3QtY2hvaWNlcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbmJvZHkgPiAudWktc2VsZWN0LWJvb3RzdHJhcC5vcGVuIHtcbiAgei1pbmRleDogMTAwMDsgLyogU3RhbmRhcmQgQm9vdHN0cmFwIGRyb3Bkb3duIHotaW5kZXggKi9cbn1cblxuLnVpLXNlbGVjdC1tdWx0aXBsZS51aS1zZWxlY3QtYm9vdHN0cmFwIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAzcHggM3B4IDAgM3B4O1xufVxuXG4udWktc2VsZWN0LW11bHRpcGxlLnVpLXNlbGVjdC1ib290c3RyYXAgaW5wdXQudWktc2VsZWN0LXNlYXJjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8qIFRvIHByZXZlbnQgZG91YmxlIGJhY2tncm91bmQgd2hlbiBkaXNhYmxlZCAqL1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGhlaWdodDogMS42NjY2NjZlbTtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4udWktc2VsZWN0LW11bHRpcGxlLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1tYXRjaCAuY2xvc2Uge1xuICBmb250LXNpemU6IDEuNmVtO1xuICBsaW5lLWhlaWdodDogMC43NTtcbn1cblxuLnVpLXNlbGVjdC1tdWx0aXBsZS51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtbWF0Y2gtaXRlbSB7XG4gIG91dGxpbmU6IDA7XG4gIG1hcmdpbjogMCAzcHggM3B4IDA7XG59XG5cbi51aS1zZWxlY3QtbXVsdGlwbGUgLnVpLXNlbGVjdC1tYXRjaC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWktc2VsZWN0LW11bHRpcGxlIC51aS1zZWxlY3QtbWF0Y2gtaXRlbS5kcm9wcGluZy1iZWZvcmU6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI4YmNhO1xufVxuXG4udWktc2VsZWN0LW11bHRpcGxlIC51aS1zZWxlY3QtbWF0Y2gtaXRlbS5kcm9wcGluZy1hZnRlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI4YmNhO1xufVxuXG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LWNob2ljZXMtcm93ID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzMzMztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1jaG9pY2VzLXJvdyA+IGE6aG92ZXIsXG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LWNob2ljZXMtcm93ID4gYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMyNjI2MjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5cbi51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtY2hvaWNlcy1yb3cuYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjhiY2E7XG59XG5cbi51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtY2hvaWNlcy1yb3cuZGlzYWJsZWQgPiBhLFxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1jaG9pY2VzLXJvdy5hY3RpdmUuZGlzYWJsZWQgPiBhIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi8qIGZpeCBoaWRlL3Nob3cgYW5ndWxhciBhbmltYXRpb24gKi9cbi51aS1zZWxlY3QtbWF0Y2gubmctaGlkZS1hZGQsXG4udWktc2VsZWN0LXNlYXJjaC5uZy1oaWRlLWFkZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogTWFyayBpbnZhbGlkIEJvb3RzdHJhcCAqL1xuLnVpLXNlbGVjdC1ib290c3RyYXAubmctZGlydHkubmctaW52YWxpZCA+IGJ1dHRvbi5idG4udWktc2VsZWN0LW1hdGNoIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDQ0OTUwO1xufVxuXG50aC5jb3N0LFxudGQuY29zdCB7XG4gIG1pbi13aWR0aDogNzBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5yZXdhcmRzVmlldyB7XG4gIEBleHRlbmQgJWhlcm9BbmRXaWRkZ2V0cztcbiAgLmNvbnRhaW5lci5jb250YWluZXItd2lkZ2V0cyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA3cHggN3B4IDAgMDtcbiAgfVxufVxuXG4ucmV3YXJkcy10b3BNZW51IHtcbiAgQGV4dGVuZCAlYm94LXdoaXRlO1xuICBAZXh0ZW5kICVib3gtc2hhZG93O1xuICBAaW5jbHVkZSBoZWxwZXJzLWNsZWFyO1xuICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gIG1hcmdpbi10b3A6ICRwYWQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ucmV3YXJkcy10b3BNZW51LWZpbHRlcnMge1xuICBtYXJnaW46IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQvMjtcbiAgcGFkZGluZzogMCAkcGFkO1xuICB3aWR0aDogMjUycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNhbnZhc3MtbGlnaHRncmF5O1xuICBAaW5jbHVkZSBoZWxwZXJzLWNsZWFyO1xuICBzcGFuIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWQgLyAyO1xuICB9XG4gIHNlbGVjdCB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5yZXdhcmRzLXRvcE1lbnUtaGVhZGluZyB7XG4gIGhlaWdodDogJHRvcE1lbnUtaGVpZ2h0O1xuICBsaW5lLWhlaWdodDogJHRvcE1lbnUtaGVpZ2h0O1xuICBwYWRkaW5nOiAwICRwYWQ7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLWxlZnQ6ICRwYWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5yZXdhcmRzLXRvcE1lbnUtc29ydEJ5IHtcbiAgaGVpZ2h0OiAkdG9wTWVudS1oZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkdG9wTWVudS1oZWlnaHQ7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNhbnZhc3MtbGlnaHRncmF5O1xuICBwYWRkaW5nOiAwICRwYWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgY29sb3I6ICRjYW52YXNzLWRlZmF1bHQtdGV4dDtcbiAgc2VsZWN0IHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICB9XG4gIFtpY29uXSB7XG4gICAgQGluY2x1ZGUgaWNvbigxNXB4KTtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICB9XG59XG4ucmV3YXJkcy1zZWxlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAkcGFkICogMjtcbiAgQGluY2x1ZGUgaGVscGVycy1jbGVhcjtcbn1cbi5yZXdhcmRzLXNlbGVjdGlvbi1tZW51IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAkdG9wTWVudS1tZW51U2l6ZTtcbn1cbi5yZXdhcmRzLXNlbGVjdGlvbl9fc21hbGxTY3JlZW5DVEFzIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gSGlkZGVuIG9uIGxhcmdlIGRldmljZXMgYnkgZGVmYXVsdFxuICBib3gtc2hhZG93OiAwIDJweCAzcHggcmdiYSgjMDAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgZm9udC1zaXplOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgYnV0dG9uLFxuICBkaXYge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkY2FudmFzcy1saWdodGdyYXk7XG4gICAgICB3aWR0aDogMXB4O1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5yZXdhcmRzLXNlbGVjdGlvbi1tZW51LXNlbGVjdCB7XG4gIEBleHRlbmQgJWJveC13aGl0ZTtcbiAgQGV4dGVuZCAlYm94LXNoYWRvdztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbn1cbi5yZXdhcmRzLXNlbGVjdGlvbi10aXRsZS1zZWxlY3Qge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNhbnZhc3MtbGlnaHRncmF5O1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLnJld2FyZHMtc2VsZWN0aW9uLXNlbGVjdGVkIHtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNhbnZhc3MtcHVycGxlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAucmV3YXJkcy1zZWxlY3Rpb24tc2VsZWN0ZWQtY2hlY2sge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxuICAucmV3YXJkcy1zZWxlY3Rpb24tc2VsZWN0ZWQtY2hlY2sge1xuICAgIGNvbG9yOiAkY2FudmFzcy1wdXJwbGU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxufVxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZXdhcmRzLXNlbGVjdGlvbi1tZW51LWFtb3VudCB7XG4gIEBleHRlbmQgJWJveC13aGl0ZTtcbiAgQGV4dGVuZCAlYm94LXNoYWRvdztcbiAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbn1cbi5yZXdhcmRzLXNlbGVjdGlvbi10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGdyYXk7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IC0kcGFkO1xuICBtYXJnaW4tcmlnaHQ6IC0kcGFkO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIG1hcmdpbi1ib3R0b206ICRwYWQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5yZXdhcmRzLXNlbGVjdGlvbi1zeW1ib2wge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucmV3YXJkcy1zZWxlY3Rpb24tcmV3YXJkcyB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHRvcE1lbnUtbWVudVNpemV9KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkICogMjtcbn1cblxuLy8gUmV3YXJkcyBkaXNwbGF5XG4ucmV3YXJkcy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRwYWQgKiAyO1xufVxuXG4ucmV3YXJkRGlzcGxheSB7XG4gIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5yZXdhcmREaXNwbGF5LXJld2FyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogY2FsYygyNSUgLSAjeyRwYWR9KTtcbiAgbWFyZ2luLXJpZ2h0OiAkcGFkO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGdyYXk7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwIDJweCAzcHggcmdiYSgjMDAwLCAwLjEpO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3csIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBzZWxlY3Qge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gICYubmctYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbjogMHM7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwcHggNXB4IHJnYmEoIzAwMCwgMC4xKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGNhbnZhc3MtbGlnaHRncmF5LCAxMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03cHgpO1xuICB9XG4gIC5tYWdhemluZSB7XG4gICAgLnJld2FyZERpc3BsYXktY29zdCwgLnJld2FyZERpc3BsYXktc2FsZSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgICAucmV3YXJkRGlzcGxheS1sb2dvIHtcbiAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5yZXdhcmREaXNwbGF5LXRlcm1zIHtcbiAgbWFyZ2luLXRvcDogJHBhZDtcbiAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206ICRwYWQ7XG59XG4ucmV3YXJkRGlzcGxheS1vdXRPZlN0b2NrIHtcbiAgYmFja2dyb3VuZDogIzY2NjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5yZXdhcmREaXNwbGF5LWNvc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZWZ0OiAwO1xuICBjb2xvcjogIzY2Njtcbn1cbi5yZXdhcmREaXNwbGF5LXNhbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZjg1NTI7IC8vIG9yYW5nZVxuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6ICNlZWU7XG59XG5cbi5yZXdhcmREaXNwbGF5LWxvZ28ge1xuICBoZWlnaHQ6IDc1cHg7XG4gIHBhZGRpbmctdG9wOiAkcGFkICogMjtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGdyYXk7XG59XG5cbi5yZXdhcmREaXNwbGF5LXRpdGxlIHtcbiAgcGFkZGluZzogMCAkcGFkLzIgMCAkcGFkLzI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNhbnZhc3MtZGVmYXVsdC10ZXh0O1xufVxuLnJld2FyZERpc3BsYXktdGl0bGUtdmFsdWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJHBhZC8yO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5yZXdhcmREZXRhaWxzLW1vZGFsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnJld2FyZERldGFpbHMtbW9kYWwtcXVhbnRpdHkge1xuICBtYXJnaW4tdG9wOiAkcGFkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBzcGFuLFxuICBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgfVxufVxuLnJld2FyZERldGFpbHMtbW9kYWwtdXBkYXRlZENvc3Qge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAkcGFkO1xufVxuXG4ucmV3YXJkRGV0YWlscy1tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6ICRwYWQ7XG59XG4ucmV3YXJkRGV0YWlscy1tb2RhbC1hY3Rpb25zIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6ICRwYWQvMjtcbiAgfVxufVxuXG4ucmV3YXJkRGV0YWlscy1tb2RhbC1kZXNjcmlwdGlvbiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6ICRwYWQgKiAyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbn1cblxuLnJld2FyZERldGFpbHMtbW9kYWwtdGVybXMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAkcGFkO1xuICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbn1cblxuLnJld2FyZERldGFpbHMtbW9kYWwtc2FsZS1zbG9nYW4ge1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgY29sb3I6ICNlZWU7XG4gIGJhY2tncm91bmQ6ICNmZjg1NTI7IC8vIG9yYW5nZVxufVxuXG4ucmV3YXJkRGV0YWlscy1tb2RhbC1vbGRQcmljZSB7XG4gIGNvbG9yOiAjZmY4NTUyO1xuICAucmV3YXJkRGV0YWlscy1tb2RhbC1jb3N0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgfVxufVxuXG4ucmV3YXJkRGV0YWlscy1tb2RhbC1zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnJld2FyZHMtY2hlY2tvdXQtbG9jYWwtcGF5cGFsLWZhaWx1cmUge1xuICBjb2xvcjogI2Q0NDk1MDtcbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgOTUwcHgpIHtcbiAgLnJld2FyZERpc3BsYXktcmV3YXJkIHtcbiAgICB3aWR0aDogY2FsYygzMyUgLSAjeyRwYWR9KTtcbiAgfVxufVxuXG5AaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCA4NTBweCkge1xuICAucmV3YXJkRGlzcGxheS1yZXdhcmQge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JHBhZH0pO1xuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsIDQ1MHB4KSB7XG4gIC5yZXdhcmREaXNwbGF5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgLnJld2FyZERpc3BsYXktcmV3YXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkICogMztcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAmOm50aC1jaGlsZCgzbiArIDApIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgLnJld2FyZERpc3BsYXktbG9nbyB7XG4gICAgcGFkZGluZy10b3A6ICRwYWQgKiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCAkY2FudmFzcy10aHJlc2hvbGQtdGFibGV0KSB7XG4gIC5yZXdhcmRzLXNlbGVjdGlvbl9fc21hbGxTY3JlZW5DVEFzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucmV3YXJkc1ZpZXcge1xuICAgIC5oZXJvIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgfVxuICB9XG4gIC5yZXdhcmRzLFxuICAucmV3YXJkcy1jaGVja291dCxcbiAgLnJld2FyZHMtdGVybXMsXG4gIC5yZXdhcmRzLWNvbXBsZXRlIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG4gIC5yZXdhcmRzLXRvcE1lbnUsXG4gIC5yZXdhcmRzLXNlbGVjdGlvbi1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZXdhcmRzLXNlbGVjdGlvbi1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5yZXdhcmRzLXNlbGVjdGlvbi1yZXdhcmRzIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLnJld2FyZHMtdG9wTWVudS1oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZXdhcmRzLXRvcE1lbnUtZmlsdGVycyB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5yZXdhcmRzLXRvcE1lbnUtZmlsdGVyc0J1dHRvbiB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG59XG4iLAoJCSIvLyBJbXBvcnQgU2hhcmVkIENvbmZpZ1xuQGltcG9ydCBcIi4uLy4uLy4uL3NoYXJlZC9zYXNzL2NvbmZpZ1wiO1xuXG4vLyBTaGFyZWQgQ29sb3JzXG4kY2FudmFzcy1kZWZhdWx0LXRleHQ6ICM2NjYgIWRlZmF1bHQ7XG4kY2FudmFzcy1kYXJrYmx1ZTogIzcwMzI5NiAhZGVmYXVsdDtcbiRjYW52YXNzLWRhcmtncmF5OiAjN2U3ZTdmICFkZWZhdWx0O1xuJGNhbnZhc3MtZ3JheTogIzgyODE4MSAhZGVmYXVsdDtcbiRjYW52YXNzLXB1cnBsZTogIzAwODI3ZCAhZGVmYXVsdDtcbiRjYW52YXNzLWJsdWU6ICRjYW52YXNzLXB1cnBsZTtcbiRjYW52YXNzLWxpZ2h0Qmx1ZTogbGlnaHRlbigkY2FudmFzcy1wdXJwbGUsIDMwKSAhZGVmYXVsdDtcbiRjYW52YXNzLWxpZ2h0ZXJncmF5OiAjZjNmM2YzICFkZWZhdWx0O1xuJGNhbnZhc3MtbGlnaHRncmF5OiAjZWFlYWVhICFkZWZhdWx0O1xuJGNhbnZhc3MtbGltZWdyZWVuOiAjYzhkYTNmO1xuJGNhbnZhc3MtbWVkZ3JheTogI2Q0ZDVkMyAhZGVmYXVsdDtcbiRjYW52YXNzLXNlY29uZGFyeUJsdWU6ICM4Nzg1ZGQgIWRlZmF1bHQ7XG4kY2FudmFzcy1yZWQ6ICNDMzRDNEMgIWRlZmF1bHQ7XG4kY2FudmFzcy15ZWxsb3c6ICNGRENFNUQgIWRlZmF1bHQ7XG4kY2FudmFzcy1vcmFuZ2U6ICNlODc1NmIgIWRlZmF1bHQ7XG4kY2FudmFzcy1saWdodE9yYW5nZTogI0ZDQkI4MTtcblxuJGZhY2Vib29rU29jaWFsLWJhY2tncm91bmQ6ICMzYjU5OTg7XG4kc3VydmV5UmVuZGVyLXByb2dyZXNzLWNvbG9yOiAjODc4NWRkO1xuJHN1cnZleVJlbmRlci1xdWVzdGlvbkFuZEFuc3dlcldyYXA6ICNlZmVmZWY7XG5cbi8vIEVtYWlsIFNldHRpbmdzXG4kY2FudmFzcy1lbWFpbC1idXR0b24tdGV4dDogIzMzMzMzMztcblxuLy8gQmFzZSBTZXR0aW5nc1xuJHN2Zy1pY29uLWNvbHM6IDY7XG4kcHVibGljUGF0aDogXCIuLi8uLi8uLi8uLi8uLi9wdWJsaWNcIiAhZGVmYXVsdDtcbiRjYW52YXNzLWNvbnRhaW5lcjogMTAyNHB4O1xuJGNhbnZhc3MtZm9vdGVySGVpZ2h0OiA3MHB4O1xuJGNhbnZhc3MtYmFzZS1mb250U2l6ZTogMTVweDtcbiRjYW52YXNzLWRlZmF1bHQtdGV4dDogIzMyMzIzMjtcbiRjYW52YXNzLWJhY2tncm91bmQ6ICNGOEY4Rjg7XG4kY2FudmFzcy1kZWZhdWx0TWFya2V0aW5nQmFja2dyb3VuZDogIzYwQTA5QztcbiRjYW52YXNzLWxpbms6ICRjYW52YXNzLWJsdWU7XG4kY2FudmFzcy1saW5rLWFjdGl2ZTogZGFya2VuKCRjYW52YXNzLWxpbmssIDE1JSkgIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudHNcbiRjZy1idXN5LWJhY2tncm91bmQ6ICRjYW52YXNzLWRhcmtibHVlO1xuJGNnLWJ1c3ktY29sb3I6ICNmZmY7XG5cbi8vIFJlc3BvbnNpdmUgVmFyc1xuJGNhbnZhc3MtdGhyZXNob2xkLW1vYmlsZTogNjAwcHg7XG4kY2FudmFzcy10aHJlc2hvbGQtdGFibGV0OiA4MzBweDtcblxuLy8gRm9udCBBd2Vzb21lXG4kZmEtZm9udC1wYXRoOiBcIi4uLy4uLy4uLy4uL3NoYXJlZC92ZW5kb3IvZm9udC1hd2Vzb21lL2ZvbnRzXCI7XG5cbi8vIEdsb2JhbCBTZXR0aW5nc1xuJHBhZDogMTZweDtcbiRmb250LWZhbWlseS1iYXNlOiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogMTVweCAhZGVmYXVsdDtcbiRmb250LXNpemUtc21hbGw6IGNlaWwoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiBjZWlsKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMTogMzBweCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDI6IDI1cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgzOiAyMHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNDogY2VpbCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6IGNlaWwoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkgIWRlZmF1bHQ7XG5cbi8vIE90aGVyIENvbmZpZ3NcbkBpbXBvcnQgXCJjb25maWctYm9vdHN0cmFwXCI7XG5cbi8vIFBsYWNlaG9sZGVyc1xuQGltcG9ydCBcInBsYWNlaG9sZGVycy9ib3hcIjtcbkBpbXBvcnQgXCJwbGFjZWhvbGRlcnMvY29udGFpbmVyXCI7XG5AaW1wb3J0IFwicGxhY2Vob2xkZXJzL2hlcm9BbmRXaWRnZXRzXCI7IiwKCQkiLy8gUmVzZWFyY2hOb3cgQ29sb3JzXG4kcm4tZGFya2JsdWU6ICM2YjY5Yjc7XG4kcm4tZGFya2dyYXk6ICM3ZTdlN2Y7XG4kcm4tZ3JlZW46ICM1YWI0MTQ7XG4kcm4tbGlnaHRibHVlOiAjMmNiOWJhO1xuJHJuLWxpZ2h0ZXJncmF5OiAjZjNmM2YzO1xuJHJuLWxpZ2h0Z3JheTogI2VhZWFlYTtcbiRybi1saW1lZ3JlZW46ICNjOGRhM2Y7XG4kcm4tbWVkZ3JheTogI2Q0ZDVkMztcbiRybi1zZWNvbmRhcnlCbHVlOiAjODc4NWRkO1xuJHJuLXJlZDogI0Q2MzgwMjtcbiRybi15ZWxsb3c6ICNmZmNjMDI7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBJbXBvcnQgU2hhcmVkIE1peGluc1xuQGltcG9ydCBcIm1peGlucy9oZWxwZXJzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2VtYWlsUmVzZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm91cmJvblwiO1xuQGltcG9ydCBcIm1peGlucy9pY29uXCI7XG5cbi8vIEltcG9ydCBTaGFyZWQgUGxhY2Vob2xkZXJzXG5AaW1wb3J0IFwicGxhY2Vob2xkZXJzL3BvaW50ZXJcIjtcbkBpbXBvcnQgXCJwbGFjZWhvbGRlcnMvdmVydGljYWxseUNlbnRlclwiOyIsCgkJIiRzdmctaWNvbi1jb2xzOiA1ICFkZWZhdWx0OyAvLyBIb3cgbWFueSBjb2x1bW5zIGFyZSBpbiB0aGUgc3ByaXRlIHNoZWV0XG5cbkBtaXhpbiBoZWxwZXJzLW9wYWNpdHkoJHZhbHVlKSB7XG4gICRJRVZhbHVlOiAkdmFsdWUqMTAwO1xuICBvcGFjaXR5OiAkdmFsdWU7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9XCIrJElFVmFsdWUrXCIpXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kSUVWYWx1ZSk7XG59XG5cbkBtaXhpbiBoZWxwZXJzLXN0YWNrRmxleCB7XG4gIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbn1cblxuQG1peGluIGhlbHBlcnMtc3RhY2tGbGV4T3JkZXIoJG9yZGVyKSB7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ICRvcmRlcjtcbiAgLXdlYmtpdC1vcmRlcjogJG9yZGVyO1xuICBvcmRlcjogJG9yZGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIGhlbHBlcnMtY2xlYXIge1xuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5AbWl4aW4gaGVscGVycy12ZXJ0aWNhbC1hbGlnbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbkBtaXhpbiBoZWxwZXJzLWJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7ICAvKiBzdG9wcyBiZyBjb2xvciBmcm9tIGxlYWtpbmcgb3V0c2lkZSB0aGUgYm9yZGVyOiAqL1xufVxuXG5AbWl4aW4gaGVscGVycy10cmFuc3BhcmVudENsaWNrYWJsZSB7XG4gIGJhY2tncm91bmQ6IHVybChcIiN7JHB1YmxpY1BhdGh9L3NoYXJlZC9pbWFnZXMvdHJhbnNwYXJlbnQucG5nXCIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICBjdXJzb3I6IGhhbmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuQG1peGluIGhlbHBlcnMtYXJyb3coJGNvbG9yOiB3aGl0ZSwgJGJvcmRlckNvbG9yOiAjY2NjLCAkc2l6ZTogN3B4LCAkdG9wOiAtN3B4LCAkbGVmdDogYXV0bywgJHJpZ2h0OiA3cHgsICRib3R0b206IGF1dG8pIHtcbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICR0b3A7XG4gICAgbGVmdDogJGxlZnQ7XG4gICAgcmlnaHQ6ICRyaWdodDtcbiAgICBib3R0b206ICRib3R0b207XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGJvcmRlckNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkc2l6ZSBzb2xpZCAkYm9yZGVyQ29sb3I7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkdG9wICsgMXB4O1xuICAgIGxlZnQ6ICRsZWZ0ICsgMXB4O1xuICAgIHJpZ2h0OiAkcmlnaHQgKyAxcHg7XG4gICAgYm90dG9tOiAkYm90dG9tO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmlnaHQ6ICRzaXplIC0gMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRzaXplIC0gMXB4IHNvbGlkICRjb2xvcjtcbiAgICBib3JkZXItbGVmdDogJHNpemUgLSAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG5AbWl4aW4gcmVzcG9uZC1hdCgkbWluOiBmYWxzZSwgJG1heDogZmFsc2UpIHtcbiAgQGlmICRtaW4gPT0gZmFsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtYXggPT0gZmFsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIiRwcmVmaXgtY3VycmVudDogXCJcIjtcblxuLyogRXhwZXJpbWVudGFsIE1peGluIFN1cHBvcnQgKi9cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0IDogdHJ1ZTtcbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYTogdHJ1ZTtcbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmE6IHRydWU7XG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdDogdHJ1ZTtcbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWw6IGZhbHNlO1xuQG1peGluIGV4cGVyaW1lbnRhbCgkcHJvcGVydHksICR2YWx1ZSwgJG1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLCAkd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCwgJG86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsICRtczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsICRraHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCwgJG9mZmljaWFsOiB0cnVlKSB7XG4gIEBpZiAkd2Via2l0IGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCB7XG4gICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfVxuICBAaWYgJGtodG1sIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sIHtcbiAgICAta2h0bWwtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gIH1cbiAgQGlmICRtb3ogYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSB7XG4gICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfVxuICBAaWYgJG1zIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7XG4gICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICB9XG4gIEBpZiAkbyBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSB7XG4gICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gIH1cbiAgQGlmICRvZmZpY2lhbCB7XG4gICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIGFuaW1hdGUtcHJlZml4KCRwMSwgJHAyKSB7XG4gICRwMTogI3skcHJlZml4LWN1cnJlbnR9I3skcDF9O1xuICAjeyRwMX06ICN7JHAyfTtcbn1cblxuQG1peGluIGFuaW1hdGUoJG5hbWU6IGZhZGVJbiwgJGR1cmF0aW9uOiAxcywgJGRlbGF5OiAwcywgJGZ1bmN0aW9uOiBlYXNlLCAkbW9kZTogYm90aCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYW5pbWF0aW9uLCB1bnF1b3RlKCRuYW1lKSAkZHVyYXRpb24gJGRlbGF5ICRmdW5jdGlvbiAkbW9kZSk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24oJG5hbWUpIHtcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAkcHJlZml4LWN1cnJlbnQ6IFwiLXdlYmtpdC1cIjtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgJHByZWZpeC1jdXJyZW50OiBcIi1tb3otXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICBALW8ta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAkcHJlZml4LWN1cnJlbnQ6IFwiLW8tXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAkcHJlZml4LWN1cnJlbnQ6IFwiXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn0iLAoJCSJAbWl4aW4gZW1haWxSZXNldCB7XG5cbiAgaHRtbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICB9XG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgfVxuXG4gIC5pbWFnZUZpeCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0YWJsZSwgdGQge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtc28tdGFibGUtbHNwYWNlOiAwcHQ7XG4gICAgbXNvLXRhYmxlLXJzcGFjZTogMHB0O1xuICB9XG5cbiAgdGFibGUgdGQge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxufSIsCgkJIi8vID09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQm91cmJvbiBJbXBvcnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gU2V0dGluZ3NcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2JvdXJib25cIjsiLAoJCSIvLyBCb3VyYm9uIDQuMi43XG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XG5cbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduLWlucHV0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWlucy1mYWxzeVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1sZW5ndGhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGlnaHRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbnVtYmVyXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3NoYWRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1hbmdsZS1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtYXJnLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JlbmRlci1ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3N0ci10by1udW1cIjtcblxuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mZWF0dXJlLXNldHRpbmdzXCI7XG5AaW1wb3J0IFwiY3NzMy9oaWRwaS1tZWRpYS1xdWVyeVwiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xuQGltcG9ydCBcImNzczMvaW1hZ2UtcmVuZGVyaW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcbkBpbXBvcnQgXCJjc3MzL2xpbmVhci1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvcGVyc3BlY3RpdmVcIjtcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3NlbGVjdGlvblwiO1xuQGltcG9ydCBcImNzczMvdGV4dC1kZWNvcmF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XG5cbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLWNvbG9yXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXN0eWxlXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci13aWR0aFwiO1xuQGltcG9ydCBcImFkZG9ucy9idXR0b25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtc3RhY2tzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9tYXJnaW5cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcGFkZGluZ1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90ZXh0LWlucHV0c1wiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xuXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4iLAoJCSIkZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgZ2xvYmFsIHNldHRpbmcgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGAkYXNzZXQtcGlwZWxpbmVgIHZhcmlhYmxlIGZvciBhbGwgZnVuY3Rpb25zIHRoYXQgYWNjZXB0IGl0LlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuIiwKCQkiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgY29udGFpbnMgYSB2YWx1ZShzKS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWVzLi4uKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bGxcIiBhbmQgKHN0ci1zbGljZSgkdmFsdWUgKyBcIlwiLCAxLCA0KSA9PSBcImNhbGNcIlxuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmsuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuLy8vXG4vLy8gQHBhcmFtIHtDb2xvciAoSGV4KX0gJGNvbG9yXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGlzLWxpZ2h0KCRjb2xvcilcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWJsdWU6IGJsdWUocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gMC42O1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcblxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1zaXplKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpXG4gICAgICAgICAgb3IgY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XG59XG4iLAoJCSIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwKCQkiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIGJsYWNrIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoIzAwMCwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChXaXRoIFVuaXQpfSAkdmFsdWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdHMoMTBlbSk7XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwKCQkiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRuZXctcHJvcHM6ICgpO1xuXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRwcm9wO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvcnRoYW5kXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xuLy8vICAgfVxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cbiIsCgkJIi8vIFNjYWxpbmcgVmFyaWFibGVzXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG5cbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy8vXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHMsIDEpO1xuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XG4gICRkOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgaWYobGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpKSk7XG5cbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxuICBAaWYgJGIgPT0gMCB7ICRiOiAwOyB9XG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxuXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxuICBAZWxzZSBpZiAkYiA9PSAkZCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjOyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBPdXRwdXQgZGlyZWN0aW9uYWwgcHJvcGVydGllcywgZm9yIGluc3RhbmNlIGBtYXJnaW5gLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxuLy8vICAgUHJlZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmXG4vLy8gICBTdWZmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXNcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuIiwKCQkiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsCgkJIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwKCQkiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAxKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsCgkJIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsCgkJIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMSwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsCgkJIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZzEsICRnMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkZzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRnMiB7XG4gICAgICAgICAgICAkZzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9IFwiICBcIikge1xuICAgICRzcGVjOiBcIiN7JHNwZWN9LFwiO1xuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgc3RyLWluZGV4KCRpbWFnZSwgXCJjb3ZlclwiKSBvciBzdHItaW5kZXgoJGltYWdlLCBcImNvbnRhaW5cIikge1xuICAgIEB3YXJuIFwiUmFkaWFsLWdyYWRpZW50IG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gY29uZm9ybSB0byBsYXRlc3Qgc3BlYy5cIjtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogbnVsbCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLAoJCSIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6IFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gXCItXCIge1xuICAgICAgJG1pbnVzOiB0cnVlO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICRjaGFyYWN0ZXIgPT0gXCIuXCIge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwKCQkiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb25zLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJHZhbHVlcy4uLikge1xuICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb25zLi4uKSB7XG4gIC8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCRzdGF0ZXMuLi4pIHtcbiAgLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRtb2Rlcy4uLikge1xuICAvLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwKCQkiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwKCQkiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsCgkJIkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gICN7JHByb3BlcnR5fTogLXdlYmtpdC1jYWxjKCN7JHZhbHVlfSk7XG4gICN7JHByb3BlcnR5fTogY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwKCQkiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuICAvLyA8Y29sdW1uLWNvdW50PiB8fCA8Y29sdW1uLXdpZHRoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4gIC8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWZpbGwsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZSgkYXJnKSB7XG4gIC8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuICAvLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbiAgLy8gbm9uZSB8fCBhbGxcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXNwYW4sICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJGxlbmd0aDogYXV0bykge1xuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuIiwKCQkiLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG5cbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcbkBtaXhpbiBib3goJG9yaWVudDogaW5saW5lLWF4aXMsICRwYWNrOiBzdGFydCwgJGFsaWduOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xuICBAaW5jbHVkZSBib3gtcGFjaygkcGFjayk7XG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xufVxuXG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxuICBkaXNwbGF5OiBib3g7XG59XG5cbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XG4vLyBob3Jpem9udGFsfHZlcnRpY2FsfGlubGluZS1heGlzfGJsb2NrLWF4aXN8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xuLy8gc2luZ2xlfG11bHRpcGxlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGxpbmVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xuXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLAoJCSJAbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLAoJCSJAbWl4aW4gZm9udC1mZWF0dXJlLXNldHRpbmdzKCRzZXR0aW5ncy4uLikge1xuICBAaWYgbGVuZ3RoKCRzZXR0aW5ncykgPT0gMCB7ICRzZXR0aW5nczogbm9uZTsgfVxuICBAaW5jbHVkZSBwcmVmaXhlcihmb250LWZlYXR1cmUtc2V0dGluZ3MsICRzZXR0aW5ncywgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsCgkJIi8vIEhpRFBJIG1peGluLiBEZWZhdWx0IHZhbHVlIHNldCB0byAxLjMgdG8gdGFyZ2V0IEdvb2dsZSBOZXh1cyA3IChodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvLylcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogJHJhdGlvICogMWRwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwKCQkiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XG4gIC8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsCgkJIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0ICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLAoJCSJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRnMSwgJGcyOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkcG9zLXNwZWM6IG51bGw7XG4gICRwb3MtZGVncmVlOiBudWxsO1xuXG4gIC8vIElmICRwb3MgaXMgbWlzc2luZyBmcm9tIG1peGluLCByZWFzc2lnbiB2YXJzIGFuZCBhZGQgZGVmYXVsdCBwb3NpdGlvblxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XG4gICAgJGcxMDogJGc5OyAkZzk6ICRnODsgJGc4OiAkZzc7ICRnNzogJGc2OyAkZzY6ICRnNTtcbiAgICAkZzU6ICRnNDsgJGc0OiAkZzM7ICRnMzogJGcyOyAkZzI6ICRnMTsgJGcxOiAkcG9zO1xuICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsCgkJIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwKCQkiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBSZXF1aXJlcyBTYXNzIDMuMStcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJGcxLCAkZzIsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKTtcbiAgJGcxOiAgbnRoKCRkYXRhLCAxKTtcbiAgJGcyOiAgbnRoKCRkYXRhLCAyKTtcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcbiAgJHNoYXBlLXNpemU6IG50aCgkZGF0YSwgNCk7XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGZpcnN0LWNvbG9yLCAxKTtcblxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIC8vIEFkZCBDb21tYXMgYW5kIHNwYWNlc1xuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sIFwiLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpO1xuICAkcG9zLXNwZWM6ICAgaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSBcIiBcIikgYW5kICgkcG9zID09IG51bGwpLCBcIiN7JHNoYXBlLXNpemUtc3BlY30sIFwiLCBcIiN7JHNoYXBlLXNpemUtc3BlY30gXCIpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gT3V0cHV0cyB0aGUgc3BlYyBhbmQgcHJlZml4ZWQgdmVyc2lvbnMgb2YgdGhlIGA6OnNlbGVjdGlvbmAgcHNldWRvLWVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sfSAkY3VycmVudC1zZWxlY3RvciBbZmFsc2VdXHJcbi8vLyAgIElmIHNldCB0byBgdHJ1ZWAsIGl0IHRha2VzIHRoZSBjdXJyZW50IGVsZW1lbnQgaW50byBjb25zaWRlcmF0aW9uLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2VsZWN0aW9uKHRydWUpIHtcclxuLy8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudDo6LW1vei1zZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50OjpzZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBzZWxlY3Rpb24oJGN1cnJlbnQtc2VsZWN0b3I6IGZhbHNlKSB7XHJcbiAgQGlmICRjdXJyZW50LXNlbGVjdG9yIHtcclxuICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwKCQkiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLCAkdmFsdWUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tbGluZSgkbGluZTogbm9uZSkge1xuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XG4vLyBzb2xpZCB8fCBkb3VibGUgfHwgZG90dGVkIHx8IGRhc2hlZCB8fCB3YXZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWNvbG9yLCAkY29sb3IsIG1veik7XG59XG4iLAoJCSJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuICAvLyBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xuICAvLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuICAvLyB5LWF4aXMgLSB0b3AgIHwgY2VudGVyIHwgYm90dG9tIHwgbGVuZ3RoIHwgJVxuICAvLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLAoJCSIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XG4gICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJtb3pcIik7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwKCQkiQG1peGluIHVzZXItc2VsZWN0KCR2YWx1ZTogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih1c2VyLXNlbGVjdCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLWNvbG9yYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItY29sb3IoI2E2MGI1NSAjNzZjZDljIG51bGwgI2U4YWUxYSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZThhZTFhO1xuLy8vICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM3NmNkOWM7XG4vLy8gICAgIGJvcmRlci10b3AtY29sb3I6ICNhNjBiNTU7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItY29sb3JgXG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCBjb3JuZXJzIG9uIHRoZSBzaWRlIG9mIGEgYm94LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpaVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDNweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgfVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXJhZGl1c2BcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItc3R5bGVgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkYXNoZWQgbnVsbCBzb2xpZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkYXNoZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItc3R5bGVgXG5cbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHMuLi4pO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXdpZHRoYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIwcHg7XG4vLy8gICAgIGJvcmRlci10b3Atd2lkdGg6IDFlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci13aWR0aGBcblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgYnV0dG9ucy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtYnV0dG9uc31gLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAjeyRhbGwtYnV0dG9uc30ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1mb2N1c30sXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1ob3Zlcn0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1hY3RpdmV9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGJ1dHRvbixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4vLy8gICBidXR0b246aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGJ1dHRvbjphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy9cbi8vLyBAdG9kbyBSZW1vdmUgZG91YmxlIGFzc2lnbmVkIHZhcmlhYmxlcyAoTGluZXMgNTnigJM2MikgaW4gdjUuMC4wXG5cbiRidXR0b25zLWxpc3Q6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJidXR0b25cIl0nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJyZXNldFwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSc7XG5cbiRhbGwtYnV0dG9uczogICAgICAgIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCk7XG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLWJ1dHRvbnMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGZvY3VzKTtcbiRhbGwtYnV0dG9ucy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgaG92ZXIpO1xuXG4kYWxsLWJ1dHRvbi1pbnB1dHM6ICAgICAgICAkYWxsLWJ1dHRvbnM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlOiAkYWxsLWJ1dHRvbnMtYWN0aXZlO1xuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiAgJGFsbC1idXR0b25zLWZvY3VzO1xuJGFsbC1idXR0b24taW5wdXRzLWhvdmVyOiAgJGFsbC1idXR0b25zLWhvdmVyO1xuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRydW5jYXRlcyB0ZXh0IGFuZCBhZGRzIGFuIGVsbGlwc2lzIHRvIHJlcHJlc2VudCBvdmVyZmxvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzEwMCVdXG4vLy8gICBNYXgtd2lkdGggZm9yIHRoZSBzdHJpbmcgdG8gcmVzcGVjdCBiZWZvcmUgYmVpbmcgdHJ1bmNhdGVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgZWxsaXBzaXM7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgICAgd29yZC13cmFwOiBub3JtYWw7XG4vLy8gICB9XG5cbkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VvcmdpYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xuXG4vLy8gSGVsdmV0aWNhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBNb25vc3BhY2UgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xuXG4vLy8gVmVyZGFuYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XG4iLAoJCSIvLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgIH1cbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBoZWlnaHQgYXJndW1lbnQgaW4gdjUuMC4wXG5cbkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogbnVsbCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogMTAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgJGhlaWdodCB7XG4gICAgQHdhcm4gXCJUaGUgYGhpZGUtdGV4dGAgbWl4aW4gaGFzIGNoYW5nZWQgYW5kIG5vIGxvbmdlciByZXF1aXJlcyBhIGhlaWdodC4gVGhlIGhlaWdodCBhcmd1bWVudCB3aWxsIG5vIGxvbmdlciBiZSBhY2NlcHRlZCBpbiB2NS4wLjBcIjtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgbWFyZ2luYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAxMHB4IDNlbSAyMHZoKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuLy8vICAgICBtYXJnaW4tbGVmdDogMjB2aDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgbWFyZ2luYFxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYHBhZGRpbmdgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcoMTJ2aCBudWxsIDEwcHggNSUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbi8vLyAgICAgcGFkZGluZy1sZWZ0OiA1JTtcbi8vLyAgICAgcGFkZGluZy10b3A6IDEydmg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBwYWRkaW5nYFxuXG5AbWl4aW4gcGFkZGluZygkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb24uIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXG4vLy8gICBMaXN0IG9mIHZhbHVlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4IGZvciB0aGUgZWRnZXMgb2YgYSBib3hcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IHVucGFja1xuXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLAoJCSJAbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nLCAkcmV0aW5hLWZpbGVuYW1lOiBudWxsLCAkcmV0aW5hLXN1ZmZpeDogXzJ4LCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2l6ZVxuLy8vICAgQSBsaXN0IG9mIGF0IG1vc3QgMiBzaXplIHZhbHVlcy5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgJHNpemVgIGl0IGlzIHVzZWQgZm9yIGJvdGggd2lkdGggYW5kIGhlaWdodC4gQWxsIHVuaXRzIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiAyZW07XG4vLy8gICAgIGhlaWdodDogMmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogYXV0bztcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVmYWN0b3IgaW4gNS4wLjAgdG8gdXNlIGEgY29tbWEtc2VwYXJhdGVkIGFyZ3VtZW50XG5cbkBtaXhpbiBzaXplKCR2YWx1ZSkge1xuICAkd2lkdGg6IG50aCgkdmFsdWUsIDEpO1xuICAkaGVpZ2h0OiAkd2lkdGg7XG5cbiAgQGlmIGxlbmd0aCgkdmFsdWUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkaGVpZ2h0KSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgdGV4dC1iYXNlZCBpbnB1dHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLXRleHQtaW5wdXRzfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0c30ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9LFxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1hY3RpdmV9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbi8vLyAgIHRleHRhcmVhIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuLy8vICAgdGV4dGFyZWE6Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06aG92ZXIsXG4vLy8gICB0ZXh0YXJlYTpob3ZlciB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06YWN0aXZlLFxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJHRleHQtaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiY29sb3JcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJlbWFpbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic2VhcmNoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRpbWVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIndlZWtcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dDpub3QoW3R5cGVdKScsXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcblxuJGFsbC10ZXh0LWlucHV0czogICAgICAgIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QpO1xuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8vXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuLy8vXG4vLy8gQHR5cGUgY3ViaWMtYmV6aWVyXG5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLAoJCSJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNoYW5nZSB0aGUgYHdvcmQtd3JhcGAgcHJvcGVydHkuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdyYXAgW2JyZWFrLXdvcmRdXG4vLy8gICBWYWx1ZSBmb3IgdGhlIGB3b3JkLWJyZWFrYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vLyAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8vICAgfVxuXG5AbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLAoJCSIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gU2hpbnkgQnV0dG9uXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcbiAgICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wLWhvdmVyKTtcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTEsICRncmVlbjogLTExNiwgJGJsdWU6IC0xMjIpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFBpbGwgQnV0dG9uXG5AbWl4aW4gcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzOiAtNC41JSk7XG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xuICAgICRib3JkZXItc2lkZXM6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIlLCAgICAkbGlnaHRuZXNzOiAtMjclKTtcbiAgICAkYm9yZGVyLXRvcDogICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xNyUsICAgJGxpZ2h0bmVzczogLTIxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtNCUsICAgICRsaWdodG5lc3M6IC0xNS41JSk7XG4gICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtNSUsICAgICRsaWdodG5lc3M6IC0yMiUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICAgJGJvcmRlci1zaWRlczogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAgICRib3JkZXItdG9wOiAgICAgICAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cblxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XG59XG4iLAoJCSJAbWl4aW4gaWNvbigkc2l6ZSkge1xuICBoZWlnaHQ6ICRzaXplO1xuICB3aWR0aDogJHNpemU7XG59IiwKCQkiJXBvaW50ZXIge1xuICBjdXJzb3I6IGhhbmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn0iLAoJCSJAbWl4aW4gdmVydGljYWxseUNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0b3A6IDUwJTtcbn1cblxuQG1peGluIHJlbW92ZVZlcnRpY2FsbHlDZW50ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xufVxuXG4ldmVydGljYWxseUNlbnRlciB7XG4gIEBpbmNsdWRlIHZlcnRpY2FsbHlDZW50ZXI7XG59XG5cbiVyZW1vdmVWZXJ0aWNhbGx5Q2VudGVyIHtcbiAgQGluY2x1ZGUgcmVtb3ZlVmVydGljYWxseUNlbnRlcjtcbn0iLAoJCSIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJvb3RzdHJhcCB2YXJpYWJsZXNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBhIGZsYWcgdG8gdG9nZ2xlIGFzc2V0IHBpcGVsaW5lIC8gY29tcGFzcyBpbnRlZ3JhdGlvblxuLy8gZGVmYXVsdHMgdG8gdHJ1ZSBpZiB0d2JzLWZvbnQtcGF0aCBmdW5jdGlvbiBpcyBwcmVzZW50IChubyBmdW5jdGlvbiA9PiB0d2JzLWZvbnQtcGF0aCgnJykgcGFyc2VkIGFzIHN0cmluZyA9PSByaWdodCBzaWRlKVxuLy8gaW4gU2FzcyAzLjMgdGhpcyBjYW4gYmUgaW1wcm92ZWQgd2l0aDogZnVuY3Rpb24tZXhpc3RzKHR3YnMtZm9udC1wYXRoKVxuJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogdHdicy1mb250LXBhdGgoXCJcIikgIT0gdW5xdW90ZSgndHdicy1mb250LXBhdGgoXCJcIiknKSAhZGVmYXVsdDtcblxuLy89PSBDb2xvcnNcbiR0ZXh0LWNvbG9yOiAkY2FudmFzcy1kZWZhdWx0LXRleHQgIWRlZmF1bHQ7XG5cbiRicmFuZC1kYW5nZXI6ICRjYW52YXNzLXJlZDtcbiRicmFuZC1wcmltYXJ5OiAkY2FudmFzcy1wdXJwbGUgIWRlZmF1bHQ7XG4kYnJhbmQtc3VjY2VzczogJGNhbnZhc3MtcHVycGxlICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICRjYW52YXNzLWxpZ2h0Qmx1ZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAkY2FudmFzcy15ZWxsb3cgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAkY2FudmFzcy15ZWxsb3cgIWRlZmF1bHQ7XG5cbiRncmF5LWRhcmtlcjogbGlnaHRlbihibGFjaywgMTMuNSUpICFkZWZhdWx0O1xuJGdyYXktZGFyazogbGlnaHRlbihibGFjaywgMjAlKSAhZGVmYXVsdDtcbiRncmF5OiBsaWdodGVuKGJsYWNrLCAzMy41JSkgIWRlZmF1bHQ7XG4kZ3JheS1saWdodDogbGlnaHRlbihibGFjaywgNDYuNyUpICFkZWZhdWx0O1xuJGdyYXktbGlnaHQyOiBsaWdodGVuKGJsYWNrLCA2NiUpICFkZWZhdWx0O1xuJGdyYXktbGlnaHRlcjogbGlnaHRlbihibGFjaywgOTMuNSUpICFkZWZhdWx0O1xuXG4vLz09IFNjYWZmb2xkaW5nXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjQyODU3ICFkZWZhdWx0O1xuXG4vLyAyMC8xNFxuLy8qIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiBmbG9vcigkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkgIWRlZmF1bHQ7XG5cbi8vIH4yMHB4XG5cbi8vKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy89PSBJY29ub2dyYXBoeVxuLy9cbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cblxuLy8qIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cbiRpY29uLWZvbnQtcGF0aDogXCJib290c3RyYXAvXCIgIWRlZmF1bHQ7XG5cbi8vKiBGaWxlIG5hbWUgZm9yIGFsbCBmb250IGZpbGVzLlxuJGljb24tZm9udC1uYW1lOiBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIiAhZGVmYXVsdDtcblxuLy8qIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogXCJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIiAhZGVmYXVsdDtcblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6IDZweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAxNnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6IDFweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6IDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAxLjMzICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtYWxsOiAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6IDJweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiA0cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogMXB4ICFkZWZhdWx0O1xuXG4vLyogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8qIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0b3IgZHJvcGRvd25zLlxuJGNhcmV0LXdpZHRoLWJhc2U6IDRweCAhZGVmYXVsdDtcblxuLy8qIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogNXB4ICFkZWZhdWx0O1xuXG4vLz09IFRhYmxlc1xuLy9cbi8vIyMgQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6IDhweCAhZGVmYXVsdDtcblxuLy8qIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG5cbi8vKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtc3RyaXBlZGAuXG4kdGFibGUtYmctYWNjZW50OiAjZjlmOWY5ICFkZWZhdWx0O1xuXG4vLyogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3Zlcjogd2hpdGVzbW9rZSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuLy8qIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICNkZGRkZGQgIWRlZmF1bHQ7XG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYmc6IHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogI2NjY2NjYyAhZGVmYXVsdDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4taW5mby1ib3JkZXI6IGRhcmtlbigkYnRuLWluZm8tYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBGb3Jtc1xuLy9cbi8vIyNcblxuLy8qIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyogYDxpbnB1dCBkaXNhYmxlZD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZy1kaXNhYmxlZDogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogJGdyYXkgIWRlZmF1bHQ7XG5cbi8vKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAjY2NjY2NjICFkZWZhdWx0O1xuXG4vLyogYDxpbnB1dD5gIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICRsaW5lLWhlaWdodC1jb21wdXRlZCArICRwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAyICsgMiAhZGVmYXVsdDtcblxuLy8qIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6IGNlaWwoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSkgKyAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIgKyAyICFkZWZhdWx0O1xuXG4vLyogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogZmxvb3IoJGZvbnQtc2l6ZS1zbWFsbCAqICRsaW5lLWhlaWdodC1zbWFsbCkgKyAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIgKyAyICFkZWZhdWx0O1xuXG4kbGVnZW5kLWNvbG9yOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGxlZ2VuZC1ib3JkZXItY29sb3I6ICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuJGRyb3Bkb3duLWJnOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8qIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiByZ2JhKDAsIDAsIDAsIDAuMTUpICFkZWZhdWx0O1xuXG4vLyogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICNjY2NjY2MgIWRlZmF1bHQ7XG5cbi8vKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi12b3A0LWxpbmstYWN0aXZlOiBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuXG4vLyogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogd2hpdGVzbW9rZSAhZGVmYXVsdDtcblxuLy8qIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbi8vKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogRGVwcmVjYXRlZCBgJGRyb3Bkb3duLWNhcmV0LWNvbG9yYCBhcyBvZiB2My4xLjBcbiRkcm9wZG93bi1jYXJldC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246IDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6IDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6IDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6IDEwNTAgIWRlZmF1bHQ7XG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4teHM6IDQ4MHB4ICFkZWZhdWx0O1xuXG4vLyogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICRzY3JlZW4teHMgIWRlZmF1bHQ7XG5cbi8vKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206IDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1taW46ICRzY3JlZW4tc20gIWRlZmF1bHQ7XG5cbi8vKiBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXRhYmxldDogJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAkc2NyZWVuLW1kICFkZWZhdWx0O1xuXG4vLyogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG5cbi8vKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogJHNjcmVlbi1zbS1taW4gLSAxICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICRzY3JlZW4tbWQtbWluIC0gMSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAkc2NyZWVuLWxnLW1pbiAtIDEgIWRlZmF1bHQ7XG5cbi8vPT0gR3JpZCBzeXN0ZW1cbi8vXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXG5cbi8vKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuXG4vLyogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDMwcHggIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuXG4vLyogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSAhZGVmYXVsdDtcblxuLy89PSBDb250YWluZXIgc2l6ZXNcbi8vXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuJGNvbnRhaW5lci10YWJsZXQ6IDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLyogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6IDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLyogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogJGNvbnRhaW5lci1kZXNrdG9wICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiRjb250YWluZXItbGFyZ2UtZGVza3RvcDogMTE0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLyogRm9yIGAkc2NyZWVuLWxnLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1sZzogJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG4vLz09IE5hdmJhclxuLy9cbi8vIyNcblxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXG4kbmF2YmFyLWhlaWdodDogNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6IGZsb29yKCRncmlkLWd1dHRlci13aWR0aCAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMiAhZGVmYXVsdDtcbiRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDogMzQwcHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogIzc3Nzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1iZzogI2Y4ZjhmOCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6IGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAjNzc3Nzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXZvcDQtbGluay1hY3RpdmU6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICM1NTU1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6IGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I6ICNjY2NjY2MgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciB0b2dnbGVcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc6ICNkZGRkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAjODg4ODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICNkZGRkZGQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1iZzogIzIyMjIyMiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1ib3JkZXI6IGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXZvcDQtbGluay1hY3RpdmU6IHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAkbmF2YmFyLWludmVyc2Utdm9wNC1saW5rLWFjdGl2ZSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAjNDQ0NDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogIzMzMzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6IHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7XG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLXZvcDQtbGluay1hY3RpdmU6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kbmF2LW9wZW4tdm9wNC1saW5rLWFjdGl2ZTogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogI2RkZGRkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICRjYW52YXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLXZvcDQtbGluay1hY3RpdmU6ICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogI2RkZGRkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogI2RkZGRkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAkY2FudmFzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLXZvcDQtbGluay1hY3RpdmU6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAkY2FudmFzcy1saW5rICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6IHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAjZGRkZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogJGNhbnZhc3MtbGluay1hY3RpdmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogI2RkZGRkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6IHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAjZGRkZGRkICFkZWZhdWx0O1xuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG4kcGFnZXItYmc6ICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6IDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1mb250LXNpemU6IGNlaWwoJGZvbnQtc2l6ZS1iYXNlICogMS41KSAhZGVmYXVsdDtcblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6IGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogI2ZjZjhlMyAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAjYTk0NDQyICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1iZzogI2YyZGVkZSAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8qIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAwLjkgIWRlZmF1bHQ7XG5cbi8vKiBUb29sdGlwIGFycm93IHdpZHRoXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogNXB4ICFkZWZhdWx0O1xuXG4vLyogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLWJnOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8qIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAyNzZweCAhZGVmYXVsdDtcblxuLy8qIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSAhZGVmYXVsdDtcblxuLy8qIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICNjY2NjY2MgIWRlZmF1bHQ7XG5cbi8vKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuXG4vLyogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoICsgMSAhZGVmYXVsdDtcblxuLy8qIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG5cbi8vKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG5cbi8vKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcblxuLy8qIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuXG4vLyogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC12b3A0LWxpbmstYWN0aXZlOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuXG4vLyogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCB0aXRsZVxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6IDE1cHggIWRlZmF1bHQ7XG5cbi8vKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXG4kbW9kYWwtY29udGVudC1iZzogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMikgIWRlZmF1bHQ7XG5cbi8vKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvciAqKmZvciBJRTgqKlxuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAjOTk5OTk5ICFkZWZhdWx0O1xuXG4vLyogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiBibGFjayAhZGVmYXVsdDtcblxuLy8qIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAwLjUgIWRlZmF1bHQ7XG5cbi8vKiBNb2RhbCBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206IDMwMHB4ICFkZWZhdWx0O1xuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogd2hpdGVzbW9rZSAhZGVmYXVsdDtcblxuLy8qIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8qIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWJnOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuXG4vLyogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG5cbi8vKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG4vLz09IExpc3QgZ3JvdXBcbi8vXG4vLyMjXG5cbi8vKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxuJGxpc3QtZ3JvdXAtYm9yZGVyOiAjZGRkZGRkICFkZWZhdWx0O1xuXG4vLyogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6IHdoaXRlc21va2UgIWRlZmF1bHQ7XG5cbi8vKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4vLyogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuLy8qIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qIFRleHQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAjNTU1NTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtdm9wNC1saW5rLWFjdGl2ZTogJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMzMzMyAhZGVmYXVsdDtcblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogd2hpdGUgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogMTBweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAkcGFuZWwtaGVhZGluZy1wYWRkaW5nICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcbiRwYW5lbC1pbm5lci1ib3JkZXI6ICNkZGRkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiB3aGl0ZXNtb2tlICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAjZGRkZGRkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogd2hpdGVzbW9rZSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogd2hpdGUgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtaW5mby10ZXh0OiAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXdhcm5pbmctdGV4dDogJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG4kdGh1bWJuYWlsLXBhZGRpbmc6IDRweCAhZGVmYXVsdDtcblxuLy8qIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG4kdGh1bWJuYWlsLWJnOiAkY2FudmFzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLyogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuJHRodW1ibmFpbC1ib3JkZXI6ICNkZGRkZGQgIWRlZmF1bHQ7XG5cbi8vKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcblxuLy8qIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6IDlweCAhZGVmYXVsdDtcblxuLy89PSBXZWxsc1xuLy9cbi8vIyNcblxuJHdlbGwtYmc6IHdoaXRlc21va2UgIWRlZmF1bHQ7XG4kd2VsbC1ib3JkZXI6IGRhcmtlbigkd2VsbC1iZywgNyUpICFkZWZhdWx0O1xuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuJGJhZGdlLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8qIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2Utdm9wNC1saW5rLWFjdGl2ZTogd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtYmc6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICRjYW52YXNzLWxpbmsgIWRlZmF1bHQ7XG5cbi8vKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAxMHB4ICFkZWZhdWx0O1xuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiA4cHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG5cbi8vKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiB3aGl0ZXNtb2tlICFkZWZhdWx0O1xuXG4vLyogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogI2NjY2NjYyAhZGVmYXVsdDtcblxuLy8qIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiBcIi9cIiAhZGVmYXVsdDtcblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogMC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy89PSBDbG9zZVxuLy9cbi8vIyNcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogMCAxcHggMCB3aGl0ZSAhZGVmYXVsdDtcblxuLy89PSBDb2RlXG4vL1xuLy8jI1xuXG4kY29kZS1jb2xvcjogI2M3MjU0ZSAhZGVmYXVsdDtcbiRjb2RlLWJnOiAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICMzMzMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6IHdoaXRlc21va2UgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICNjY2NjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogMzQwcHggIWRlZmF1bHQ7XG5cbi8vPT0gVHlwZVxuLy9cbi8vIyNcblxuLy8qIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcblxuLy8qIFRleHQgbXV0ZWQgY29sb3JcbiR0ZXh0LW11dGVkOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuLy8qIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbi8vKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbi8vKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbi8vKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwKCQkiJWJveCB7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgcGFkZGluZzogJHBhZDtcbn1cblxuJWJveC1zaGFkb3cge1xuICBib3gtc2hhZG93OiAwIDJweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuXG4lYm94LXdoaXRlIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgQGV4dGVuZCAlYm94O1xufSIsCgkJIiVjb250YWluZXIge1xuICBtYXgtd2lkdGg6ICRjYW52YXNzLWNvbnRhaW5lcjtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwICRwYWQ7XG4gIEBpbmNsdWRlIGhlbHBlcnMtY2xlYXI7XG59IiwKCQkiJWhlcm9BbmRXaWRkZ2V0cyB7XG4gIC5oZXJvIHtcbiAgICBtaW4taGVpZ2h0OiAzNDBweDtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC41cztcbiAgICAuaGVyby1kZXNjIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zNXB4O1xuICAgIH1cbiAgICAmLm5vdGlmeSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNmU2ZTZlIHVybCgjeyRwdWJsaWNQYXRofS9ibHVlcHJpbnRzL3ZvcDQvaW1hZ2VzL2hlcm8vbm90aWZ5LnBuZykgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmNvbnRhaW5lci13aWRnZXRzIHtcbiAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCAkY2FudmFzcy10aHJlc2hvbGQtdGFibGV0KSB7XG4gICAgLmhlcm8ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE3NXB4O1xuICAgIH1cbiAgICAuY29udGFpbmVyLXdpZGdldHMge1xuICAgICAgbWFyZ2luLXRvcDogLTE3NXB4O1xuICAgIH1cbiAgfVxufSIsCgkJIi8qISBhbmd1bGFyanMtc2xpZGVyIC0gdjQuMC4yIC1cbiAoYykgUmFmYWwgWmFqYWMgPHJ6YWphY0BnbWFpbC5jb20+LCBWYWxlbnRpbiBIZXJ2aWV1IDx2YWxlbnRpbkBoZXJ2aWV1Lm1lPiwgSnVzc2kgU2Fhcml2aXJ0YSA8anVzYXNpQGdtYWlsLmNvbT4sIEFuZ2VsaW4gU2lyYnUgPGFuZ2VsaW4uc2lyYnVAZ21haWwuY29tPiAtXG4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXItc2xpZGVyL2FuZ3VsYXJqcy1zbGlkZXIgLVxuIDIwMTYtMDYtMDcgKi9cblxuIC8vIEluY29taW5nIGhlYXZpbHkgbW9kaWZpZWQgc3R5bGVzIDgpXG5cbi5yenNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi10b3A6ICRwYWQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5yenNsaWRlci53aXRoLWxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5yenNsaWRlcltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucnpzbGlkZXJbZGlzYWJsZWRdIC5yei1wb2ludGVyIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn1cblxuLnJ6c2xpZGVyIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJ6c2xpZGVyIC5yei1iYXNlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJ6c2xpZGVyIC5yei1iYXItd3JhcHBlciB7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnJ6c2xpZGVyIC5yei1iYXItd3JhcHBlci5yei1kcmFnZ2FibGUge1xuICBjdXJzb3I6IG1vdmU7XG59XG5cbi5yenNsaWRlciAucnotYmFyIHtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogI2Q4ZTBmMztcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLnJ6c2xpZGVyIC5yei1iYXIucnotc2VsZWN0aW9uIHtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogJGNhbnZhc3MtcHVycGxlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ucnpzbGlkZXIgLnJ6LXBvaW50ZXIge1xuICB0b3A6IC01cHg7XG4gIHotaW5kZXg6IDM7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhbnZhc3MtcHVycGxlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xufVxuXG4ucnpzbGlkZXIgLnJ6LXBvaW50ZXIucnotYWN0aXZlIHtcbiAgei1pbmRleDogNDtcbn1cblxuLnJ6c2xpZGVyIC5yei1idWJibGUge1xuICB0b3A6IDIwcHg7XG4gIHBhZGRpbmc6IDFweCAzcHg7XG4gIGNvbG9yOiAjNTU2MzdkO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5yenNsaWRlciAucnotYnViYmxlLnJ6LXNlbGVjdGlvbiB7XG4gIHRvcDogMTZweDtcbn1cblxuLnJ6c2xpZGVyIC5yei1idWJibGUucnotbGltaXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucnpzbGlkZXIgLnJ6LXRpY2tzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zcHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMCAxMXB4O1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5yenNsaWRlciAucnotdGlja3MgLnJ6LXRpY2sge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogI2Q4ZTBmMztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ucnpzbGlkZXIgLnJ6LXRpY2tzIC5yei10aWNrLnJ6LXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogIzBkYjlmMDtcbn1cblxuLnJ6c2xpZGVyIC5yei10aWNrcyAucnotdGljayAucnotdGljay12YWx1ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG59XG5cbi5yenNsaWRlciAucnotdGlja3MgLnJ6LXRpY2sgLnJ6LXRpY2stbGVnZW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI0cHg7XG4gIG1heC13aWR0aDogNTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG59XG5cbi5yenNsaWRlciAucnotdGlja3MucnotdGlja3MtdmFsdWVzLXVuZGVyIC5yei10aWNrLXZhbHVlIHtcbiAgdG9wOiBpbml0aWFsO1xuICBib3R0b206IC00MHB4O1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLnJ6c2xpZGVyLnJ6LXZlcnRpY2FsIC5yei1iYXNlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJ6c2xpZGVyLnJ6LXZlcnRpY2FsIC5yei1iYXItd3JhcHBlciB7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCAwIDAgMTZweDtcbiAgbWFyZ2luOiAwIDAgMCAtMTZweDtcbn1cblxuLnJ6c2xpZGVyLnJ6LXZlcnRpY2FsIC5yei1iYXIge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJ6c2xpZGVyLnJ6LXZlcnRpY2FsIC5yei1wb2ludGVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IC0xNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotYnViYmxlIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotYnViYmxlLnJ6LXNlbGVjdGlvbiB7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LXRpY2tzIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtM3B4O1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxMXB4IDA7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbi1yZXZlcnNlKTtcbn1cblxuLnJ6c2xpZGVyLnJ6LXZlcnRpY2FsIC5yei10aWNrcyAucnotdGljayB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotdGlja3MgLnJ6LXRpY2sgLnJ6LXRpY2stdmFsdWUge1xuICB0b3A6IGluaXRpYWw7XG4gIGxlZnQ6IDIycHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yOCUpO1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LXRpY2tzIC5yei10aWNrIC5yei10aWNrLWxlZ2VuZCB7XG4gIHRvcDogaW5pdGlhbDtcbiAgcmlnaHQ6IDI0cHg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI4JSk7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotdGlja3MucnotdGlja3MtdmFsdWVzLXVuZGVyIC5yei10aWNrLXZhbHVlIHtcbiAgcmlnaHQ6IDEycHg7XG4gIGJvdHRvbTogaW5pdGlhbDtcbiAgbGVmdDogaW5pdGlhbDtcbn0iLAoJCSIucmV3YXJkcy1jaGVja291dCB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogJHBhZCoyO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICAuZm9ybS1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbiAgfVxufVxuLnJld2FyZHMtY2hlY2tvdXQtY29udGFpbmVyIHtcbiAgQGV4dGVuZCAlYm94LXdoaXRlO1xuICBAZXh0ZW5kICVib3gtc2hhZG93O1xuICBAaW5jbHVkZSBoZWxwZXJzLWNsZWFyO1xuICBtYXJnaW4tdG9wOiAkcGFkKjI7XG4gIG1hcmdpbi1ib3R0b206ICRwYWQqMjtcbiAgcGFkZGluZy10b3A6ICRwYWQqMjtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQqMjtcbn1cbi5yZXdhcmRzLWNoZWNrb3V0IFtmb3JtLWVsZW1lbnRzXSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnJld2FyZHMtY2hlY2tvdXQgW2ZsYXJlLWZvcm1zXSAuZm9ybS10eXBlMS1yb3cge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxufVxuLnJld2FyZHMtY2hlY2tvdXQtdG90YWwge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkLzI7XG4gIH1cbn1cbi5yZXdhcmRzLWNoZWNrb3V0LWFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAkcGFkKjI7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICAuYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIG1hcmdpbi1sZWZ0OiAkcGFkO1xuICAgICYucHJpbWFyeSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4ucmV3YXJkcy1jaGVja291dC10ZXJtcyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnJld2FyZHMtY2hlY2tvdXQtbW9kYWwtdGVybSB7XG4gIEBleHRlbmQgJWJveC13aGl0ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZC8yO1xuICBmb250LXNpemU6IDEycHg7XG59XG5AaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCAkY2FudmFzcy10aHJlc2hvbGQtbW9iaWxlKSB7XG4gIC5yZXdhcmRzLWNoZWNrb3V0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogJHBhZC8yO1xuICAgIHBhZGRpbmctdG9wOiAkcGFkO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkO1xuICB9XG4gIC5yZXdhcmRzLWNoZWNrb3V0LXRlcm1zIHtcbiAgICBtYXJnaW4tdG9wOiAkcGFkKjI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5yZXdhcmRzLWNoZWNrb3V0IGZvcm0gLmZvcm0tdHlwZTEtcm93IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC5yZXdhcmRzLWNoZWNrb3V0LWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYWQ7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cbn0iLAoJCSIucmV3YXJkcy1jb21wbGV0ZSB7XG4gIEBleHRlbmQgLnJld2FyZHMtY2hlY2tvdXQ7XG59XG4ucmV3YXJkcy1jb21wbGV0ZS1jb250YWluZXIge1xuICBAZXh0ZW5kICVib3gtd2hpdGU7XG4gIEBleHRlbmQgJWJveC1zaGFkb3c7XG4gIEBpbmNsdWRlIGhlbHBlcnMtY2xlYXI7XG4gIG1hcmdpbi10b3A6ICRwYWQqMjtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZCoyO1xuICBwYWRkaW5nLXRvcDogJHBhZCoyO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZCoyO1xufVxuLnJld2FyZHMtY29tcGxldGUtdG90YWwge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNhbnZhc3MtbWVkZ3JheTtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWQvMjtcbiAgfVxufVxuLnJld2FyZHMtY29tcGxldGUtYWN0aW9ucyB7XG4gIEBpbmNsdWRlIGhlbHBlcnMtY2xlYXI7XG59XG4ucmV3YXJkcy1jb21wbGV0ZS1hY3Rpb25zLXRlcm1zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAzN3B4O1xufVxuLnJld2FyZHMtY29tcGxldGUtYWN0aW9ucy1idXR0b25zIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgJGNhbnZhc3MtdGhyZXNob2xkLW1vYmlsZSkge1xuICAucmV3YXJkcy1jb21wbGV0ZS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6ICRwYWQvMjtcbiAgICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbiAgfVxuICAucmV3YXJkcy1jb21wbGV0ZS1hY3Rpb25zLXRlcm1zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLnJld2FyZHMtY29tcGxldGUtYWN0aW9ucy1idXR0b25zIHtcbiAgICBtYXJnaW4tdG9wOiAkcGFkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYWQ7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cbn0iLAoJCSIlaGVhZGVyLW1vYmlsZS1kcm9wZG93bk1lbnUge1xuICBAZXh0ZW5kICVib3gtd2hpdGU7XG4gIEBleHRlbmQgJWJveC1zaGFkb3c7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcbiAgcGFkZGluZzogMDtcbiAgdG9wOiAtNTAwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGdyYXk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cblxuLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTFweDtcbiAgei1pbmRleDogNTAwO1xuICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNhbnZhc3MtcHVycGxlLCAxMCk7XG4gIHdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5yZXdhcmRzLW1vYmlsZS1zdWJtZW51LWJhbGFuY2Uge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5yZXdhcmRzLW1vYmlsZS1zdWJtZW51LXRpdGxlIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQvMjtcbn1cbi5yZXdhcmRzLW1vYmlsZS1zdWJtZW51LWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBtaW4td2lkdGg6IDUwcHg7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLm5vdGlmaWNhdGlvbi1idWJibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgJi52aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG4gID4gYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDQ2cHg7XG4gIH1cbiAgW2ljb25dIHtcbiAgICBAaW5jbHVkZSBpY29uKDIwcHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIGZpbGw6IHdoaXRlO1xuICB9XG4gICYub3BlbiB7XG4gICAgLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydC1tZW51IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICByaWdodDogN3B4O1xuICAgICAgdG9wOiA2NXB4O1xuICAgIH1cbiAgfVxufVxuLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydC1tZW51IHtcbiAgQGV4dGVuZCAlaGVhZGVyLW1vYmlsZS1kcm9wZG93bk1lbnU7XG4gIHdpZHRoOiAzMDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogJHBhZDtcbiAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gIEBpbmNsdWRlIGhlbHBlcnMtYXJyb3coJGNvbG9yOiB3aGl0ZSwgJGJvcmRlckNvbG9yOiAkY2FudmFzcy1saWdodGdyYXksICRzaXplOiAxOHB4LCAkdG9wOiAtMThweCwgJGxlZnQ6IGF1dG8sICRyaWdodDogMTVweCwgJGJvdHRvbTogYXV0byk7XG59XG4ucmV3YXJkcy1tb2JpbGUtc3VibWVudS1jYXJ0LW1lbnUtdGl0bGUge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGdyYXk7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkLzI7XG4gIG1hcmdpbi1ib3R0b206ICRwYWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZDtcbiAgbWFyZ2luLXJpZ2h0OiAtJHBhZDtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydC1tZW51LXF1YW50aXR5IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbn1cbi5yZXdhcmRzLW1vYmlsZS1zdWJtZW51LWNhcnQtbWVudS10b3RhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZzogJHBhZCAwO1xufVxuLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydC1tZW51LXRvdGFsIC50b3RhbCB7XG4gIG1hcmdpbi1ib3R0b206ICRwYWQvMjtcbn1cbi5yZXdhcmRzLW1vYmlsZS1zdWJtZW51LWNhcnQtbWVudS1jaGVja291dCwgLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydC1tZW51LWNsb3NlIHtcbiAgbWFyZ2luLXRvcDogJHBhZC8yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5yZXdhcmRzLW1vYmlsZS1zdWJtZW51LWNhcnQtbWVudS1pdGVtcyB7XG4gIEBpbmNsdWRlIGhlbHBlcnMtY2xlYXI7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkLzI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2FudmFzcy1ncmF5O1xuICBtYXJnaW4tYm90dG9tOiAkcGFkLzI7XG59XG4ucmV3YXJkcy1tb2JpbGUtc3VibWVudS1jYXJ0LW1lbnUtaXRlbXMtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206ICRwYWQvMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBoZWxwZXJzLWNsZWFyO1xufVxuLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydC1tZW51LWl0ZW1zLWl0ZW0gc2VsZWN0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MHB4O1xufVxuLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydC1tZW51LWl0ZW1zLWl0ZW0tZGV0YWlscyB7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4ICsgJHBhZDtcbiAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xufVxuLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydC1tZW51LWl0ZW1zLWl0ZW0tZGV0YWlscyBbaWNvbl0ge1xuICBAaW5jbHVkZSBpY29uKDE2cHgpO1xufVxuLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUtY2FydC1tZW51LWl0ZW1zLWl0ZW0tZGV0YWlscyAubmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEzcHg7XG59XG4ucmV3YXJkcy1tb2JpbGUtc3VibWVudS1jYXJ0LW1lbnUtaXRlbXMtaXRlbS1kZXRhaWxzIC5jb3N0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5yZXdhcmRzLW1vYmlsZS1zdWJtZW51LWNhcnQtbWVudS1pdGVtcy1pdGVtLWRldGFpbHMgLnJlbW92ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICRwYWQ7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBbaWNvbl0ge1xuICAgIGZpbGw6ICRjYW52YXNzLWRlZmF1bHQtdGV4dDtcbiAgfVxufVxuLnJld2FyZHMtbW9iaWxlLWJhbGFuY2Uge1xuICBwYWRkaW5nOiAwICRwYWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1pbi13aWR0aDogNTBweDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogJGNhbnZhc3MtbGlnaHRncmF5O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLSRwYWQvMjtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogLSRwYWQvMiArIDFweDtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0kcGFkLzI7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAtJHBhZC8yICsgMXB4O1xuICB9XG59XG5cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgJGNhbnZhc3MtdGhyZXNob2xkLXRhYmxldCkge1xuICAucmV3YXJkcy1tb2JpbGUtc3VibWVudSB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgfVxufSIsCgkJIi5yZXdhcmRzLXRlcm1zIHtcbiAgQGV4dGVuZCAucmV3YXJkcy1jaGVja291dDtcbn1cblxuLnJld2FyZHMtdGVybXMtdGVybSB7XG4gIEBleHRlbmQgJWJveC13aGl0ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5yZXdhcmRzLXRlcm1zLWFjdGlvbnMge1xuICBAZXh0ZW5kIC5yZXdhcmRzLWNoZWNrb3V0LWFjdGlvbnM7XG59XG5cblxuLnZlcmlmZlN1Y2Nlc3MtbW9kYWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi52ZXJpZmZTdWNjZXNzLW1vZGFsLXRpdGxle1xuICBtYXJnaW4tdG9wOiAkcGFkO1xufVxuXG4udmVyaWZmU3VjY2Vzcy1tb2RhbC10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAkcGFkKjI7XG4gIG1hcmdpbi1ib3R0b206ICRwYWQqMjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG4iLAoJCSIvKiFcbiAqIEdlbmVyYXRlZCB3aXRoIENTUyBGbGFnIFNwcml0ZSBnZW5lcmF0b3IgKGh0dHBzOi8vd3d3LmZsYWctc3ByaXRlcy5jb20vKVxuICovXG5cbiAuZmxhZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTFweDtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvaW1hZ2VzL2ZsYWdzLnBuZycpIG5vLXJlcGVhdDtcbn1cblxuXG4uZmxhZy5mbGFnLWxzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI1NnB4IC03N3B4O1xufVxuXG4uZmxhZy5mbGFnLWh0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC01NXB4O1xufVxuXG4uZmxhZy5mbGFnLXNlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMjFweDtcbn1cblxuLmZsYWcuZmxhZy1jayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMjJweDtcbn1cblxuLmZsYWcuZmxhZy1odSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNTVweDtcbn1cblxuLmZsYWcuZmxhZy10aiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNDNweDtcbn1cblxuLmZsYWcuZmxhZy12dSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTU0cHg7XG59XG5cbi5mbGFnLmZsYWctam0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTY2cHg7XG59XG5cbi5mbGFnLmZsYWctamUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTY2cHg7XG59XG5cbi5mbGFnLmZsYWctem0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTY1cHg7XG59XG5cbi5mbGFnLmZsYWctam8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTY2cHg7XG59XG5cbi5mbGFnLmZsYWctZ2gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ0cHg7XG59XG5cbi5mbGFnLmZsYWctbXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTlweDtcbn1cblxuLmZsYWcuZmxhZy1wcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTEwcHg7XG59XG5cbi5mbGFnLmZsYWctYmoge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExcHg7XG59XG5cbi5mbGFnLmZsYWctbXoge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTk5cHg7XG59XG5cbi5mbGFnLmZsYWcta3cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTc3cHg7XG59XG5cbi5mbGFnLmZsYWctc2Qge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyMXB4O1xufVxuXG4uZmxhZy5mbGFnLXZpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNTRweDtcbn1cblxuLmZsYWcuZmxhZy1sdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTg4cHg7XG59XG5cbi5mbGFnLmZsYWctcnUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTIxcHg7XG59XG5cbi5mbGFnLmZsYWctbmcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk5cHg7XG59XG5cbi5mbGFnLmZsYWctc29tYWxpbGFuZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMzJweDtcbn1cblxuLmZsYWcuZmxhZy10aWJldCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNDNweDtcbn1cblxuLmZsYWcuZmxhZy1ldSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTZweCAtMzNweDtcbn1cblxuLmZsYWcuZmxhZy1iZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMXB4O1xufVxuXG4uZmxhZy5mbGFnLWtwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTc3cHg7XG59XG5cbi5mbGFnLmZsYWctY24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTIycHg7XG59XG5cbi5mbGFnLmZsYWctcGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEwcHg7XG59XG5cbi5mbGFnLmZsYWcta24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNzdweDtcbn1cblxuLmZsYWcuZmxhZy1zaSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTZweCAtMTIxcHg7XG59XG5cbi5mbGFnLmZsYWctZmkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00NHB4O1xufVxuXG4uZmxhZy5mbGFnLXdmIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xNTRweDtcbn1cblxuLmZsYWcuZmxhZy1ybyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjFweDtcbn1cblxuLmZsYWcuZmxhZy1hbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAwO1xufVxuXG4uZmxhZy5mbGFnLXZjIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE1NHB4O1xufVxuXG4uZmxhZy5mbGFnLWdkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00NHB4O1xufVxuXG4uZmxhZy5mbGFnLWJnIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExcHg7XG59XG5cbi5mbGFnLmZsYWctYXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggMDtcbn1cblxuLmZsYWcuZmxhZy14ayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTU0cHg7XG59XG5cbi5mbGFnLmZsYWctZ3cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTU1cHg7XG59XG5cbi5mbGFnLmZsYWctY2Yge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjJweDtcbn1cblxuLmZsYWcuZmxhZy1zYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTIxcHg7XG59XG5cbi5mbGFnLmZsYWctcG0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTExMHB4O1xufVxuXG4uZmxhZy5mbGFnLWFsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDtcbn1cblxuLmZsYWcuZmxhZy10ZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0M3B4O1xufVxuXG4uZmxhZy5mbGFnLXJ3IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMjFweDtcbn1cblxuLmZsYWcuZmxhZy1mciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00NHB4O1xufVxuXG4uZmxhZy5mbGFnLXR3IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xNDNweDtcbn1cblxuLmZsYWcuZmxhZy1ycyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMjFweDtcbn1cblxuLmZsYWcuZmxhZy1taCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtODhweDtcbn1cblxuLmZsYWcuZmxhZy12ZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNTRweDtcbn1cblxuLmZsYWcuZmxhZy1jeiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zM3B4O1xufVxuXG4uZmxhZy5mbGFnLXNjIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjFweDtcbn1cblxuLmZsYWcuZmxhZy1ieiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIycHg7XG59XG5cbi5mbGFnLmZsYWctc2Ige1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyMXB4O1xufVxuXG4uZmxhZy5mbGFnLWFmIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDtcbn1cblxuLmZsYWcuZmxhZy1uYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtOTlweDtcbn1cblxuLmZsYWcuZmxhZy1rbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03N3B4O1xufVxuXG4uZmxhZy5mbGFnLWdhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTQ0cHg7XG59XG5cbi5mbGFnLmZsYWctaW8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjZweDtcbn1cblxuLmZsYWcuZmxhZy1nbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU1cHg7XG59XG5cbi5mbGFnLmZsYWctc20ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTMycHg7XG59XG5cbi5mbGFnLmZsYWctcWEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTIxcHg7XG59XG5cbi5mbGFnLmZsYWctbW8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTg4cHg7XG59XG5cbi5mbGFnLmZsYWctZHoge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTMzcHg7XG59XG5cbi5mbGFnLmZsYWctaWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU2cHggLTU1cHg7XG59XG5cbi5mbGFnLmZsYWctZWMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTMzcHg7XG59XG5cbi5mbGFnLmZsYWctbWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTg4cHg7XG59XG5cbi5mbGFnLmZsYWctbmYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTk5cHg7XG59XG5cbi5mbGFnLmZsYWctaW0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNjZweDtcbn1cblxuLmZsYWcuZmxhZy1hZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuLmZsYWcuZmxhZy1wbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTEwcHg7XG59XG5cbi5mbGFnLmZsYWctYXUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggMDtcbn1cblxuLmZsYWcuZmxhZy1iYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTZweCAwO1xufVxuXG4uZmxhZy5mbGFnLXphbnppYmFyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTY1cHg7XG59XG5cbi5mbGFnLmZsYWctbXEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU2cHggLTg4cHg7XG59XG5cbi5mbGFnLmZsYWctbnUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEwcHg7XG59XG5cbi5mbGFnLmZsYWctc3oge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTEzMnB4O1xufVxuXG4uZmxhZy5mbGFnLWF4IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IDA7XG59XG5cbi5mbGFnLmZsYWctY3kge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zM3B4O1xufVxuXG4uZmxhZy5mbGFnLW10IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTk5cHg7XG59XG5cbi5mbGFnLmZsYWctbXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05OXB4O1xufVxuXG4uZmxhZy5mbGFnLWxhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC03N3B4O1xufVxuXG4uZmxhZy5mbGFnLWd1IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTU1cHg7XG59XG5cbi5mbGFnLmZsYWctY2Ege1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjJweDtcbn1cblxuLmZsYWcuZmxhZy1seSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04OHB4O1xufVxuXG4uZmxhZy5mbGFnLW9tIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMHB4O1xufVxuXG4uZmxhZy5mbGFnLWxrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC03N3B4O1xufVxuXG4uZmxhZy5mbGFnLXp3IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2NXB4O1xufVxuXG4uZmxhZy5mbGFnLW15IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05OXB4O1xufVxuXG4uZmxhZy5mbGFnLWxyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC03N3B4O1xufVxuXG4uZmxhZy5mbGFnLWxjIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC03N3B4O1xufVxuXG4uZmxhZy5mbGFnLWlyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC02NnB4O1xufVxuXG4uZmxhZy5mbGFnLXZlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE1NHB4O1xufVxuXG4uZmxhZy5mbGFnLXNsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEzMnB4O1xufVxuXG4uZmxhZy5mbGFnLXBoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTBweDtcbn1cblxuLmZsYWcuZmxhZy1ociB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtNTVweDtcbn1cblxuLmZsYWcuZmxhZy1idyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTFweDtcbn1cblxuLmZsYWcuZmxhZy1haSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IDA7XG59XG5cbi5mbGFnLmZsYWctdGgge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTQzcHg7XG59XG5cbi5mbGFnLmZsYWctaWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NnB4O1xufVxuXG4uZmxhZy5mbGFnLWdxIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTU1cHg7XG59XG5cbi5mbGFnLmZsYWctbnoge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEwcHg7XG59XG5cbi5mbGFnLmZsYWctcHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU2cHggLTExMHB4O1xufVxuXG4uZmxhZy5mbGFnLXNoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjFweDtcbn1cblxuLmZsYWcuZmxhZy1uaSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtOTlweDtcbn1cblxuLmZsYWcuZmxhZy1jZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMnB4O1xufVxuXG4uZmxhZy5mbGFnLXNuIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTEzMnB4O1xufVxuXG4uZmxhZy5mbGFnLWVlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0zM3B4O1xufVxuXG4uZmxhZy5mbGFnLXRuIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDNweDtcbn1cblxuLmZsYWcuZmxhZy10byB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTQzcHg7XG59XG5cbi5mbGFnLmZsYWctY2F0YWxvbmlhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIycHg7XG59XG5cbi5mbGFnLmZsYWctZGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzNweDtcbn1cblxuLmZsYWcuZmxhZy1hbyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAwO1xufVxuXG4uZmxhZy5mbGFnLWdlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC00NHB4O1xufVxuXG4uZmxhZy5mbGFnLWhtIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC01NXB4O1xufVxuXG4uZmxhZy5mbGFnLXVtIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI1NnB4IC0xNDNweDtcbn1cblxuLmZsYWcuZmxhZy1idCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTFweDtcbn1cblxuLmZsYWcuZmxhZy1ncyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC01NXB4O1xufVxuXG4uZmxhZy5mbGFnLXB3IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIxcHg7XG59XG5cbi5mbGFnLmZsYWctd2FsZXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTE1NHB4O1xufVxuXG4uZmxhZy5mbGFnLW5wIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEwcHg7XG59XG5cbi5mbGFnLmZsYWctc3Mge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTEzMnB4O1xufVxuXG4uZmxhZy5mbGFnLWd0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTU1cHg7XG59XG5cbi5mbGFnLmZsYWctbnIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTEwcHg7XG59XG5cbi5mbGFnLmZsYWctaGsge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTU1cHg7XG59XG5cbi5mbGFnLmZsYWctbXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTg4cHg7XG59XG5cbi5mbGFnLmZsYWctbmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk5cHg7XG59XG5cbi5mbGFnLmZsYWctcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTIxcHg7XG59XG5cbi5mbGFnLmZsYWctYmYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTFweDtcbn1cblxuLmZsYWcuZmxhZy12YSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNTRweDtcbn1cblxuLmZsYWcuZmxhZy1raCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTc3cHg7XG59XG5cbi5mbGFnLmZsYWctbW0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTg4cHg7XG59XG5cbi5mbGFnLmZsYWcteWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTE1NHB4O1xufVxuXG4uZmxhZy5mbGFnLXN5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMzJweDtcbn1cblxuLmZsYWcuZmxhZy1tbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtODhweDtcbn1cblxuLmZsYWcuZmxhZy10ciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQzcHg7XG59XG5cbi5mbGFnLmZsYWctY3Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTIycHg7XG59XG5cbi5mbGFnLmZsYWctc2cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTEyMXB4O1xufVxuXG4uZmxhZy5mbGFnLWdmIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC00NHB4O1xufVxuXG4uZmxhZy5mbGFnLWF6IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IDA7XG59XG5cbi5mbGFnLmZsYWcta2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTY2cHg7XG59XG5cbi5mbGFnLmZsYWctZ3Ige1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNTVweDtcbn1cblxuLmZsYWcuZmxhZy1jbyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMjJweDtcbn1cblxuLmZsYWcuZmxhZy1sdSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04OHB4O1xufVxuXG4uZmxhZy5mbGFnLWdiIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00NHB4O1xufVxuXG4uZmxhZy5mbGFnLWhuIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC01NXB4O1xufVxuXG4uZmxhZy5mbGFnLWV0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0zM3B4O1xufVxuXG4uZmxhZy5mbGFnLXNrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTEzMnB4O1xufVxuXG4uZmxhZy5mbGFnLWx2IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTg4cHg7XG59XG5cbi5mbGFnLmZsYWctY3cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU2cHggLTIycHg7XG59XG5cbi5mbGFnLmZsYWctZ3Age1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNTVweDtcbn1cblxuLmZsYWcuZmxhZy1lcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMzNweDtcbn1cblxuLmZsYWcuZmxhZy1zdiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTMycHg7XG59XG5cbi5mbGFnLmZsYWctZGoge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzNweDtcbn1cblxuLmZsYWcuZmxhZy11YSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTQzcHg7XG59XG5cbi5mbGFnLmZsYWctYnMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTExcHg7XG59XG5cbi5mbGFnLmZsYWctaXEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNjZweDtcbn1cblxuLmZsYWcuZmxhZy1mayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC00NHB4O1xufVxuXG4uZmxhZy5mbGFnLWt6IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC03N3B4O1xufVxuXG4uZmxhZy5mbGFnLXByIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMTBweDtcbn1cblxuLmZsYWcuZmxhZy1tayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtODhweDtcbn1cblxuLmZsYWcuZmxhZy1ieSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTZweCAtMTFweDtcbn1cblxuLmZsYWcuZmxhZy1mbyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00NHB4O1xufVxuXG4uZmxhZy5mbGFnLWdtIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI1NnB4IC00NHB4O1xufVxuXG4uZmxhZy5mbGFnLWZtIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTQ0cHg7XG59XG5cbi5mbGFnLmZsYWctYm4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTExcHg7XG59XG5cbi5mbGFnLmZsYWctZ2kge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTQ0cHg7XG59XG5cbi5mbGFnLmZsYWcta3Ige1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNzdweDtcbn1cblxuLmZsYWcuZmxhZy12biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTU0cHg7XG59XG5cbi5mbGFnLmZsYWctYmkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTFweDtcbn1cblxuLmZsYWcuZmxhZy1tdSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05OXB4O1xufVxuXG4uZmxhZy5mbGFnLXBmIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMTBweDtcbn1cblxuLmZsYWcuZmxhZy1jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMjJweDtcbn1cblxuLmZsYWcuZmxhZy1hdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAwO1xufVxuXG4uZmxhZy5mbGFnLWJtIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMXB4O1xufVxuXG4uZmxhZy5mbGFnLWVuZ2xhbmQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTMzcHg7XG59XG5cbi5mbGFnLmZsYWctcG4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMHB4O1xufVxuXG4uZmxhZy5mbGFnLWJ2IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMXB4O1xufVxuXG4uZmxhZy5mbGFnLWtnIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI1NnB4IC02NnB4O1xufVxuXG4uZmxhZy5mbGFnLWNpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0yMnB4O1xufVxuXG4uZmxhZy5mbGFnLWFnIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDtcbn1cblxuLmZsYWcuZmxhZy1ibyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTFweDtcbn1cblxuLmZsYWcuZmxhZy1iYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExcHg7XG59XG5cbi5mbGFnLmZsYWctZ2cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTQ0cHg7XG59XG5cbi5mbGFnLmZsYWctZWcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMzcHg7XG59XG5cbi5mbGFnLmZsYWctcHkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTIxcHg7XG59XG5cbi5mbGFnLmZsYWctYXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDtcbn1cblxuLmZsYWcuZmxhZy10ZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTMycHg7XG59XG5cbi5mbGFnLmZsYWctaXQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTY2cHg7XG59XG5cbi5mbGFnLmZsYWctaWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNjZweDtcbn1cblxuLmZsYWcuZmxhZy1tYyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC04OHB4O1xufVxuXG4uZmxhZy5mbGFnLWJkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExcHg7XG59XG5cbi5mbGFnLmZsYWctcGsge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMHB4O1xufVxuXG4uZmxhZy5mbGFnLWRrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTMzcHg7XG59XG5cbi5mbGFnLmZsYWctYnIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTExcHg7XG59XG5cbi5mbGFnLmZsYWcta3VyZGlzdGFuIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTc3cHg7XG59XG5cbi5mbGFnLmZsYWctZ3kge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTU1cHg7XG59XG5cbi5mbGFnLmZsYWctYWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwO1xufVxuXG4uZmxhZy5mbGFnLW1hIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTg4cHg7XG59XG5cbi5mbGFnLmZsYWctZWgge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMzcHg7XG59XG5cbi5mbGFnLmZsYWctbXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTlweDtcbn1cblxuLmZsYWcuZmxhZy1jZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMnB4O1xufVxuXG4uZmxhZy5mbGFnLWZqIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ0cHg7XG59XG5cbi5mbGFnLmZsYWctc28ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTMycHg7XG59XG5cbi5mbGFnLmZsYWctanAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTY2cHg7XG59XG5cbi5mbGFnLmZsYWctY20ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTIycHg7XG59XG5cbi5mbGFnLmZsYWctcGcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMHB4O1xufVxuXG4uZmxhZy5mbGFnLXN0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMzJweDtcbn1cblxuLmZsYWcuZmxhZy1kbyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zM3B4O1xufVxuXG4uZmxhZy5mbGFnLWVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zM3B4O1xufVxuXG4uZmxhZy5mbGFnLWFtIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDtcbn1cblxuLmZsYWcuZmxhZy1pYyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtNTVweDtcbn1cblxuLmZsYWcuZmxhZy1zeCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTMycHg7XG59XG5cbi5mbGFnLmZsYWctc2oge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMzJweDtcbn1cblxuLmZsYWcuZmxhZy10eiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTQzcHg7XG59XG5cbi5mbGFnLmZsYWctdGsge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTQzcHg7XG59XG5cbi5mbGFnLmZsYWctemEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU2cHggLTE1NHB4O1xufVxuXG4uZmxhZy5mbGFnLXNjb3RsYW5kIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMjFweDtcbn1cblxuLmZsYWcuZmxhZy1jciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMjJweDtcbn1cblxuLmZsYWcuZmxhZy1ubyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTZweCAtOTlweDtcbn1cblxuLmZsYWcuZmxhZy1wYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMTBweDtcbn1cblxuLmZsYWcuZmxhZy1nbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtNDRweDtcbn1cblxuLmZsYWcuZmxhZy10YyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTMycHg7XG59XG5cbi5mbGFnLmZsYWctd3Mge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE1NHB4O1xufVxuXG4uZmxhZy5mbGFnLW12IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk5cHg7XG59XG5cbi5mbGFnLmZsYWcta3kge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTc3cHg7XG59XG5cbi5mbGFnLmZsYWctdWcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTE0M3B4O1xufVxuXG4uZmxhZy5mbGFnLXNyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMzJweDtcbn1cblxuLmZsYWcuZmxhZy1raSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC03N3B4O1xufVxuXG4uZmxhZy5mbGFnLXVzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTU0cHg7XG59XG5cbi5mbGFnLmZsYWctdXoge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTU0cHg7XG59XG5cbi5mbGFnLmZsYWctbmMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTk5cHg7XG59XG5cbi5mbGFnLmZsYWcteXQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTE1NHB4O1xufVxuXG4uZmxhZy5mbGFnLWNoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTIycHg7XG59XG5cbi5mbGFnLmZsYWctbmwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk5cHg7XG59XG5cbi5mbGFnLmZsYWctdHYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTE0M3B4O1xufVxuXG4uZmxhZy5mbGFnLWluIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY2cHg7XG59XG5cbi5mbGFnLmZsYWctbXgge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtOTlweDtcbn1cblxuLmZsYWcuZmxhZy11eSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNTRweDtcbn1cblxuLmZsYWcuZmxhZy1kbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zM3B4O1xufVxuXG4uZmxhZy5mbGFnLWlzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC02NnB4O1xufVxuXG4uZmxhZy5mbGFnLWN2IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0yMnB4O1xufVxuXG4uZmxhZy5mbGFnLXRsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0M3B4O1xufVxuXG4uZmxhZy5mbGFnLWFzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IDA7XG59XG5cbi5mbGFnLmZsYWctbWcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTg4cHg7XG59XG5cbi5mbGFnLmZsYWctYmgge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTFweDtcbn1cblxuLmZsYWcuZmxhZy10bSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDNweDtcbn1cblxuLmZsYWcuZmxhZy1saSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtNzdweDtcbn1cblxuLmZsYWcuZmxhZy10dCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTQzcHg7XG59XG5cbi5mbGFnLmZsYWctbWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTg4cHg7XG59XG5cbi5mbGFnLmZsYWctbWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtODhweDtcbn1cblxuLmZsYWcuZmxhZy10ZiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTZweCAtMTMycHg7XG59XG5cbi5mbGFnLmZsYWctbGIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTc3cHg7XG59XG4iCgldLAoJIm5hbWVzIjogW10sCgkibWFwcGluZ3MiOiAiQUlFQSxnQ0FBZ0M7QW9GRmhDLDBDQUEwQztBQUMxQzswQ0FDMEM7QUtNMUMsQUpSQSwyQklRMkIsRUF3QzNCLDRCQUE0QixFQzdDNUIsMkJBQTJCLEVDa0YzQixpQ0FBaUMsRUNqRmpDLG1C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 */