/*!
Theme Name: MaxFeedback
Theme URI: http://www.company119.com
Description:
Author: Company 119
Author URI: http://www.company119.com
Version: 1.0
Template: co119-boilerplate
*/
/* Responsive Breakpoints */
/* Variables */
/* Fonts */
/* Colors */
/* Max Feedback */
/* Gradients */
/* RPM */
/*$liteblue: $red;
$green: $darkgray;
$liteblue-hover: darken($red,10);
$gradient-red-dark: $red;
$gradient-red-light: $red;
$gradient-blue-dark: $gradient-red-dark;
$gradient-blue-light: $gradient-red-light;
$gradient-green-dark: $gradient-red-dark;
$gradient-green-light: $gradient-red-light;*/
/* ANIMATION */
/* Mixins */
/* Base Styles */
@import 'https://fonts.googleapis.com/css?family=Montserrat:400,700|Roboto:400,700';
html,
body {
  height: 100%;
}

html *,
body * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

html h1,
html h2,
html h3,
html h4,
html h5,
body h1,
body h2,
body h3,
body h4,
body h5 {
  line-height: 1em;
}

html ul.plain,
body ul.plain {
  margin: 0;
  padding: 0;
  list-style: none;
}

html img.alignleft,
body img.alignleft {
  float: left;
  margin-right: 20px;
}

html img.alignright,
body img.alignright {
  float: right;
  margin-left: 20px;
}

html img.alignleft, html img.alignright,
body img.alignleft,
body img.alignright {
  margin-bottom: 20px;
}

html .wrap,
body .wrap {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  height: 92%;
  width: 90%;
}

html .full,
body .full {
  width: 100%;
}

html .group,
html .wrap,
body .group,
body .wrap {
  zoom: 1;
}

html .group:before, html .group:after,
html .wrap:before,
html .wrap:after,
body .group:before,
body .group:after,
body .wrap:before,
body .wrap:after {
  display: table;
  content: "";
}

html .group:after,
html .wrap:after,
body .group:after,
body .wrap:after {
  clear: both;
}

/* Body */
body {
  padding: 0;
  margin: 0;
  /* Float */
  /* Tooltip text */
  /* Show the tooltip text when you mouse over the tooltip container */
}

body img,
body iframe {
  max-width: 100%;
  max-height: 100%;
}

body p,
body ul,
body ol {
  color: #7f889c;
  font-family: "Montserrat", sans-serif;
  font-size: 0.89em;
}

body a {
  cursor: pointer;
}

body h1,
body h2,
body h3,
body h4,
body h5 {
  text-transform: uppercase;
  color: #516166;
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  letter-spacing: 1px;
}

body.back-end #page-wrap {
  margin-left: 300px;
}

@media screen and (max-width: 1170px), (max-device-width: 1170px) {
  body.back-end #page-wrap {
    margin-left: 0;
  }
}

body.back-end h2 {
  font-weight: bold;
  font-size: 1.5em;
}

body.back-end h3 {
  color: #2f3a3e;
  font-size: 1em;
}

body.back-end h4 {
  margin: 0;
  font-size: 0.95em;
  letter-spacing: 1px;
}

body.back-end h4.lighten {
  color: #7f889c;
}

body.back-end h5 {
  margin: 0.25em 0;
  font-size: 0.95em;
  font-weight: normal;
  color: #c0c3d1;
  text-transform: initial;
}

body h1 {
  font-size: 3.2em;
  margin: 0;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  body h1 {
    font-size: 2.1em;
  }
}

body h1.blue-gradient {
  background: -webkit-linear-gradient(right, rgba(24, 206, 251, 0.96), rgba(4, 146, 228, 0.96));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body h1.green-gradient {
  background: -webkit-linear-gradient(right, #0ceb93, #02cfaf);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body h2 {
  margin: 0.25em 0;
  font-size: 2.3em;
  letter-spacing: 2px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  body h2 {
    font-size: 1.9em;
  }
}

body h3 {
  margin: 0.2em 0;
  font-size: 1.6em;
}

body hgroup {
  text-align: center;
}

body .hidden {
  display: none !important;
}

body .white-container {
  background-color: #fff;
  border-radius: 2px;
  border: 2px solid #ecedf1;
  padding: 50px 10%;
  /*box-shadow: 5px 3px 10px #ecedf1;*/
}

body .star-rating svg path {
  fill: #ffd04e;
}

body .star-rating.medium svg {
  height: 30px;
  width: 30px;
}

body .star-rating.small svg {
  height: 20px;
  width: 20px;
}

body .featherlight {
  z-index: 10000;
}

body .featherlight .featherlight-close-icon {
  font-weight: bold;
  font-size: 1.3em;
  margin-top: 6px;
  margin-right: 6px;
  line-height: 35px !important;
  width: 35px !important;
  color: #99a0b0 !important;
}

body .featherlight .featherlight-content,
body .featherlight .sweet-alert {
  padding: 50px 80px !important;
  border-radius: 2px;
  border-bottom: 0 !important;
  font-family: "Montserrat", sans-serif;
  color: #7f889c;
  max-width: 100%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  body .featherlight .featherlight-content,
  body .featherlight .sweet-alert {
    padding: 20px 30px !important;
  }
}

body .featherlight .featherlight-content form,
body .featherlight .sweet-alert form {
  width: 450px;
  max-width: 95%;
  min-width: 100%;
}

body .featherlight .featherlight-content h1,
body .featherlight .sweet-alert h1 {
  text-align: center;
  margin: 0;
  margin-bottom: 20px;
  background: -webkit-linear-gradient(right, rgba(24, 206, 251, 0.96), rgba(4, 146, 228, 0.96));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body .featherlight .featherlight-content h3,
body .featherlight .sweet-alert h3 {
  text-align: center;
  color: #99a0b0;
  opacity: 0.7;
}

body .featherlight .featherlight-content .row,
body .featherlight .sweet-alert .row {
  text-align: center;
  margin: 10px 0;
  overflow: initial;
}

body .featherlight .featherlight-content .row .field-row,
body .featherlight .sweet-alert .row .field-row {
  display: inline-block;
  width: 100%;
}

body .featherlight .featherlight-content .row .field-row.two-col .field,
body .featherlight .sweet-alert .row .field-row.two-col .field {
  display: inline-block;
}

body .featherlight .featherlight-content .row .field-row.two-col .field:first-child,
body .featherlight .sweet-alert .row .field-row.two-col .field:first-child {
  padding-right: 15px;
}

body .featherlight .featherlight-content .row a,
body .featherlight .sweet-alert .row a {
  color: #99a0b0;
}

body .featherlight .featherlight-content .row .btn,
body .featherlight .sweet-alert .row .btn {
  margin-top: 10px;
}

body .featherlight .featherlight-content .row .btn.full,
body .featherlight .sweet-alert .row .btn.full {
  width: 92%;
}

body .featherlight .featherlight-content p,
body .featherlight .sweet-alert p {
  color: #7f889c;
  line-height: 1.5;
}

body .featherlight .featherlight-content iframe,
body .featherlight .sweet-alert iframe {
  height: 400px;
  width: 600px;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  body .featherlight .featherlight-content iframe,
  body .featherlight .sweet-alert iframe {
    height: 250px;
  }
}

body .modal .modal-content {
  padding: 50px 80px !important;
  border-radius: 2px;
  border-bottom: 0 !important;
  font-family: "Montserrat", sans-serif;
  color: #7f889c;
  max-width: 100%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  body .modal .modal-content {
    padding: 20px 30px !important;
  }
}

body .modal button.close {
  border: none;
  background-color: #fff;
  position: absolute;
  right: 4px;
  top: 4px;
  font-size: 1.7em;
  color: #99a0b0;
}

body .modal .modal-header {
  border-bottom: none;
  padding: 0;
}

body .modal .modal-header h1 {
  text-align: center;
  margin: 0;
  margin-bottom: 20px;
  background: -webkit-linear-gradient(right, rgba(24, 206, 251, 0.96), rgba(4, 146, 228, 0.96));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body .modal .modal-body {
  padding: 0;
}

body .modal .btn.full {
  max-width: 100%;
}

body.back-end .sidebar-menu .close-icon {
  display: none;
}

@media screen and (max-width: 1170px), (max-device-width: 1170px) {
  body.back-end .sidebar-menu .close-icon {
    display: block;
  }
}

body .hvr-float {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

body .hvr-float:hover,
body .hvr-float:focus,
body .hvr-float:active {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

body .checkbox {
  display: table;
  margin: 35px auto;
}

body .checkbox .roundedOne {
  display: table-cell;
  width: 35px;
  height: 35px;
  position: relative;
  margin: 20px auto;
  background: #fff;
  border-radius: 50px;
}

body .checkbox .roundedOne label {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 4px;
  left: 4px;
  cursor: pointer;
  background-color: #fff;
  border-radius: 50px;
  border: 3px solid #ced0d3;
}

body .checkbox .roundedOne label:after {
  content: "";
  width: 12px;
  height: 6px;
  position: absolute;
  top: 6px;
  left: 5px;
  border: 3px solid #ced0d3;
  border-top: none;
  border-right: none;
  background: transparent;
  opacity: 0;
  transform: rotate(-45deg);
}

body .checkbox .roundedOne label:hover::after {
  opacity: 0.3;
}

body .checkbox .roundedOne input[type="checkbox"] {
  visibility: hidden;
}

body .checkbox .roundedOne input[type="checkbox"]:checked + label:after {
  opacity: 1;
}

body .checkbox p {
  display: table-cell;
  vertical-align: middle;
  letter-spacing: 1px;
  font-weight: normal;
  font-family: "Roboto", serif;
  font-size: 1.1em;
  padding-left: 20px;
}

body .typed-cursor {
  opacity: 1;
  color: #fff;
  font-size: 4em;
  -webkit-animation: blink 0.7s infinite;
  -moz-animation: blink 0.7s infinite;
  animation: blink 0.7s infinite;
}

@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

body .blue-to-white-gradient {
  background: rgba(4, 146, 228, 0.96);
  background: -moz-linear-gradient(left, rgba(4, 146, 228, 0.96) 0%, rgba(24, 206, 251, 0.96) 50%, rgba(252, 249, 249, 0.96) 50%, #fff 100%);
  background: -webkit-gradient(left top, right top, color-stop(0%, rgba(4, 146, 228, 0.96)), color-stop(50%, rgba(24, 206, 251, 0.96)), color-stop(50%, #fff), color-stop(100%, #fff));
  background: -webkit-linear-gradient(left, rgba(4, 146, 228, 0.96) 0%, rgba(24, 206, 251, 0.96) 50%, #fff 50%, #fff 100%);
  background: -o-linear-gradient(left, rgba(4, 146, 228, 0.96) 0%, rgba(24, 206, 251, 0.96) 50%, #fff 50%, #fff 100%);
  background: -ms-linear-gradient(left, rgba(4, 146, 228, 0.96) 0%, rgba(24, 206, 251, 0.96) 50%, #fff 50%, #fff 100%);
  background: linear-gradient(to right, rgba(4, 146, 228, 0.96) 0%, rgba(24, 206, 251, 0.96) 50%, #fff 50%, #fff 100%);
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  body .blue-to-white-gradient {
    background: none;
  }
  body .blue-to-white-gradient .column:first-child {
    background: rgba(4, 146, 228, 0.96);
  }
}

body .blue-gradient {
  background: rgba(4, 146, 228, 0.96);
  background: -webkit-linear-gradient(right, rgba(24, 206, 251, 0.96), rgba(4, 146, 228, 0.96));
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(right, rgba(24, 206, 251, 0.96), rgba(4, 146, 228, 0.96));
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(right, rgba(24, 206, 251, 0.96), rgba(4, 146, 228, 0.96));
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(right, rgba(24, 206, 251, 0.96), rgba(4, 146, 228, 0.96));
  /* Standard syntax */
}

body .green-gradient {
  background: #07dda1;
  background: -webkit-linear-gradient(right, #0ceb93, #02cfaf);
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(right, #0ceb93, #02cfaf);
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(right, #0ceb93, #02cfaf);
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(right, #0ceb93, #02cfaf);
  /* Standard syntax */
}

body .tooltiptext {
  visibility: hidden;
  width: 100%;
  background-color: #99a0b0;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;
  position: absolute;
  z-index: 1;
  margin-top: 5px;
}

body .tooltiptext p {
  color: #fff !important;
}

body .tooltiptext:before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #99a0b0 transparent;
}

body .tooltip:hover + .tooltiptext {
  visibility: visible;
}

/* Header */
header.main {
  font-family: "Montserrat", sans-serif;
  padding: 15px 0;
  z-index: 1000;
}

header.main.back-end {
  text-align: center;
  color: #99a0b0;
  border-bottom: 2px solid #ecedf1;
  box-shadow: 5px 3px 10px #ecedf1;
  width: 100%;
}

@media screen and (max-width: 1170px), (max-device-width: 1170px) {
  header.main.back-end .menu-toggle-button {
    display: table;
  }
}

header.main.back-end .logo {
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  height: 40px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  header.main.back-end {
    width: initial;
    float: initial;
  }
}

header.main.back-end .user-profile {
  display: inline-block;
  float: right;
  padding-left: 15px;
  margin-top: 7px;
  position: relative;
  z-index: 10;
}

header.main.back-end .user-profile .log {
  color: #99a0b0;
}

header.main.back-end .user-profile .log .team-icon {
  border: 2px solid #e4e4e4;
  opacity: .6;
}

header.main.back-end .user-profile .log .team-icon svg {
  fill: #c2c4c6;
}

header.main.back-end .user-profile .log .text {
  color: #c2c4c6;
}

header.main.back-end .user-profile .log:hover .team-icon {
  border-color: #3d3a42;
}

header.main.back-end .user-profile .log:hover .team-icon svg {
  fill: #3d3a42;
}

header.main.front-end {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 75px;
  padding: 35px 0;
  transition: .5s ease all;
  font-size: .9em;
}

header.main.front-end.fixed {
  background-color: #fff;
  padding: 15px 0;
  position: fixed;
}

header.main.front-end.fixed ul.menu li a {
  color: #86d7f7 !important;
}

header.main.front-end.fixed ul.menu li.current-menu-item a {
  color: #26b7f1 !important;
}

header.main.front-end.fixed ul.menu li:hover a {
  color: #0596e5 !important;
}

header.main.front-end.fixed .user-profile .log {
  color: #86d7f7 !important;
}

header.main.front-end.fixed .user-profile .log .team-icon {
  border: 2px solid #86d7f7 !important;
}

header.main.front-end.fixed .user-profile .log .team-icon svg {
  fill: #86d7f7 !important;
}

header.main.front-end.fixed .user-profile .log .team-icon i {
  color: #86d7f7 !important;
}

header.main.front-end.fixed .user-profile .log .text {
  color: #86d7f7 !important;
}

header.main.front-end.fixed .user-profile:hover {
  color: #0596e5 !important;
}

header.main.front-end.fixed .user-profile:hover .team-icon {
  border: 2px solid #0596e5 !important;
}

header.main.front-end.fixed .user-profile:hover .team-icon svg path {
  fill: #0596e5 !important;
}

header.main.front-end.fixed .user-profile:hover .team-icon svg i {
  color: #0596e5 !important;
}

header.main.front-end.fixed .user-profile:hover .text {
  color: #0596e5 !important;
}

header.main.front-end .logo {
  height: 40px;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  header.main.front-end .menu-toggle-button {
    display: table;
    color: #26b7f1;
    position: absolute;
    right: 0;
    top: 0;
  }
}

header.main.front-end ul.menu {
  position: absolute;
  left: 60%;
  right: 0;
  margin: 0;
  top: 14px;
  letter-spacing: .5px;
  display: block;
  font-size: .9em;
  text-transform: uppercase;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  header.main.front-end ul.menu {
    display: none;
    background-color: #fff;
    right: -5%;
    top: 100%;
    padding: 5%;
    font-size: 1.2em;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  header.main.front-end ul.menu {
    left: 50%;
  }
}

header.main.front-end ul.menu li {
  float: left;
  margin: 0;
  position: relative;
  padding-right: 25px;
}

header.main.front-end ul.menu li:last-child {
  padding-right: 0;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  header.main.front-end ul.menu li {
    display: list-item;
    float: none;
    text-align: right;
    padding-right: 0;
  }
}

header.main.front-end ul.menu li a {
  color: #86d7f7;
  text-decoration: none;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  header.main.front-end ul.menu li a {
    padding: 10px 0;
    display: block;
  }
}

header.main.front-end ul.menu li.current-menu-item a {
  color: #26b7f1;
}

header.main.front-end ul.menu li:hover a {
  color: #0596e5;
}

header.main.front-end ul.menu li.user-profile {
  position: absolute;
  right: 0;
  top: -3px;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  header.main.front-end ul.menu li.user-profile {
    position: relative;
  }
}

header.main.front-end ul.menu li.user-profile .log {
  color: #86d7f7;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  header.main.front-end ul.menu li.user-profile .log {
    padding-left: 0;
  }
}

header.main.front-end ul.menu li.user-profile .log .team-icon {
  border: 2px solid #86d7f7;
}

header.main.front-end ul.menu li.user-profile .log .team-icon svg {
  fill: #86d7f7;
}

header.main.front-end ul.menu li.user-profile .log .team-icon i {
  color: #86d7f7;
}

header.main.front-end ul.menu li.user-profile .log .text {
  color: #86d7f7;
}

header.main.front-end ul.menu li.user-profile:hover {
  color: #0596e5;
}

header.main.front-end ul.menu li.user-profile:hover .team-icon {
  border: 2px solid #0596e5;
}

header.main.front-end ul.menu li.user-profile:hover .team-icon svg {
  fill: #0596e5;
}

header.main.front-end ul.menu li.user-profile:hover .team-icon i {
  color: #0596e5;
}

header.main.front-end ul.menu li.user-profile:hover .text {
  color: #0596e5;
}

header.main.front-end.sub-page ul.menu li a {
  color: rgba(255, 255, 255, 0.7);
}

header.main.front-end.sub-page ul.menu li.current-menu-item a {
  color: #fff;
}

header.main.front-end.sub-page ul.menu li:hover a {
  color: #fff;
}

header.main.front-end.sub-page .user-profile .log {
  color: rgba(255, 255, 255, 0.7);
}

header.main.front-end.sub-page .user-profile .log .team-icon {
  border: 2px solid rgba(255, 255, 255, 0.7);
}

header.main.front-end.sub-page .user-profile .log .team-icon svg {
  fill: rgba(255, 255, 255, 0.7);
}

header.main.front-end.sub-page .user-profile .log .text {
  color: rgba(255, 255, 255, 0.7);
}

header.main.front-end.sub-page .user-profile:hover {
  color: #fff;
}

header.main.front-end.sub-page .user-profile:hover .team-icon {
  border: 2px solid #FFF !important;
  opacity: 1;
}

header.main.front-end.sub-page .user-profile:hover .team-icon svg path {
  fill: #FFF !important;
}

header.main.front-end.sub-page .user-profile:hover .text {
  color: #FFF !important;
}

header.main .menu-toggle-button {
  float: left;
  display: none;
  text-transform: uppercase;
  cursor: pointer;
  font-size: 1em;
  margin-top: 9px;
  position: relative;
  color: #26b7f1;
  z-index: 10;
}

header.main .menu-toggle-button .fa {
  font-size: 1.5em;
  margin-right: 10px;
}

header.main .menu-toggle-button span {
  vertical-align: middle;
  display: table-cell;
}

header.main .user-profile .log {
  text-decoration: none;
  padding-left: 15px;
  cursor: pointer;
}

header.main .user-profile .log .team-icon {
  text-align: center;
  display: inline-block;
  width: 1.7em;
  height: 1.7em;
  border-radius: 100%;
}

header.main .user-profile .log .team-icon svg {
  width: .8em;
  height: .8em;
  margin-top: 4px;
}

header.main .user-profile .log .text {
  margin-left: 5px;
  text-transform: uppercase;
}

.sidebar-menu {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 100%;
  text-align: center;
  z-index: 1000;
  width: 0;
  min-width: 0;
  visibility: hidden;
  color: #fff;
  width: 300px;
  visibility: visible;
}

@media screen and (max-width: 1170px), (max-device-width: 1170px) {
  .sidebar-menu {
    width: 0;
    visibility: hidden;
  }
  .sidebar-menu .menu {
    display: none;
  }
  .sidebar-menu .company-logo {
    display: none;
  }
}

.sidebar-menu.active {
  width: 300px;
  visibility: visible;
}

.sidebar-menu.active .menu {
  display: block;
}

.sidebar-menu.active .company-logo {
  display: table;
}

.sidebar-menu .close-icon {
  position: absolute;
  right: 30px;
  top: 20px;
  cursor: pointer;
}

.sidebar-menu .close-icon path {
  fill: #fff;
}

.sidebar-menu .company-logo {
  display: table;
  margin-top: 80px;
}

.sidebar-menu h2 {
  color: #fff;
  margin-bottom: 10px;
  margin-top: 20px;
}

.sidebar-menu h4 {
  margin-top: 10px;
  color: #fff;
}

.sidebar-menu .menu {
  padding: 0;
  text-align: left;
  margin-top: 74px;
  transition: .1s ease all;
  display: block;
}

.sidebar-menu .menu li {
  margin: 15px 0;
  width: 100%;
  white-space: nowrap;
  border-left: 4px solid transparent;
  transition: .2s ease all;
  cursor: pointer;
}

.sidebar-menu .menu li:hover div {
  color: #fff;
}

.sidebar-menu .menu li:hover div path {
  fill: #fff;
}

.sidebar-menu .menu li.active div {
  color: #fff;
  transition: .2s ease all;
}

.sidebar-menu .menu li.active div path {
  fill: #fff;
  transition: .2s ease all;
}

.sidebar-menu .menu li a {
  padding: 8px 15%;
  display: block;
}

.sidebar-menu .menu li a div {
  color: rgba(255, 255, 255, 0.6);
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
}

.sidebar-menu .menu li a div path {
  fill: rgba(255, 255, 255, 0.6);
}

.sidebar-menu .menu li a div.location-icon, .sidebar-menu .menu li a div.profile-icon, .sidebar-menu .menu li a div.question-icon {
  height: 30px;
  width: 30px;
  border: 3px solid;
  border-radius: 100%;
}

.sidebar-menu .menu li a div.location-icon svg, .sidebar-menu .menu li a div.profile-icon svg, .sidebar-menu .menu li a div.question-icon svg {
  margin: 0 auto;
  margin-top: 4px;
  display: block;
  transition: 2s ease all;
}

.sidebar-menu .menu li a div.location-icon svg.profile-svg, .sidebar-menu .menu li a div.profile-icon svg.profile-svg, .sidebar-menu .menu li a div.question-icon svg.profile-svg {
  width: 12px;
  margin-top: 0px;
}

.sidebar-menu .menu li a div.star-icon {
  height: 30px;
  width: 30px;
  border: 3px solid;
  border-radius: 100%;
}

.sidebar-menu .menu li a div.star-icon svg {
  margin: 0 auto;
  margin-top: 4px;
  display: block;
  transition: 2s ease all;
  height: 15px;
  width: 15px;
}

.sidebar-menu .menu li a span {
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1.1em;
  vertical-align: middle;
  display: inline-block;
}

.background-mask.active {
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 100;
}

/* Hero.scss */
.hero {
  position: relative;
  z-index: 1;
  color: #fff;
}

.hero.home {
  width: 100%;
  overflow: hidden;
}

.hero.home .hero-content {
  position: relative;
  height: 100%;
}

.hero.home .hero-content .slides {
  position: relative;
  z-index: 9;
  height: 700px;
}

.hero.home .hero-content .slides .slide {
  height: 100%;
  display: block;
  background-size: cover;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .hero.home .hero-content .slides .slide {
    background-attachment: initial;
    background-position: center;
  }
}

.hero.home .hero-content .slides .slide .caption {
  text-align: center;
  position: absolute;
  top: 25%;
  left: 20%;
  right: 20%;
}

.hero.home .hero-content .slides .slide .caption h1 {
  font-size: 4.5em;
  text-transform: uppercase;
  letter-spacing: 5px;
  margin: 0;
  text-shadow: 5px 9px 70px #516166;
  color: #fff;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .hero.home .hero-content .slides .slide .caption h1 {
    font-size: 3.5em;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .hero.home .hero-content .slides .slide .caption h1 {
    font-size: 2.5em;
  }
}

.hero.home .hero-content .slides .slide .caption p {
  color: #fff;
  width: 60%;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .hero.home .hero-content .slides .slide .caption {
    top: 20%;
    left: 5%;
    right: 5%;
    bottom: 0;
  }
}

.hero.page {
  background-size: cover;
  padding-top: 75px;
}

.hero.page hgroup {
  padding: 75px 0;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .hero.page hgroup {
    padding: 50px 0;
  }
}

.hero.page hgroup h1 {
  font-size: 4.2em;
  text-transform: uppercase;
  letter-spacing: 5px;
  margin: 0;
  color: #fff;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .hero.page hgroup h1 {
    font-size: 3.5em;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .hero.page hgroup h1 {
    font-size: 2.5em;
  }
}

/* Content */
.content {
  font-family: "Montserrat", sans-serif;
  float: inherit;
  padding: 50px 0;
  overflow: auto;
}

.content.callout {
  text-transform: uppercase;
  text-align: center;
  background-color: #ecedf1;
  color: #99a0b0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: auto;
  padding: 15px 0;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.callout {
    position: relative;
    bottom: initial;
    left: initial;
    right: initial;
  }
}

.content.callout a {
  color: #26b7f1;
}

.content.callout span {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 1px;
  margin-right: 30px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.callout span {
    margin-right: 0;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.content.callout ul {
  display: inline-block;
  vertical-align: middle;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.callout ul {
    margin-top: 10px;
  }
}

.content.callout ul li {
  display: table-cell;
  vertical-align: middle;
  padding-right: 30px;
  position: relative;
}

@media screen and (max-width: 500px), (max-device-width: 500px) {
  .content.callout ul li {
    display: block;
    padding: 5px 0;
  }
}

.content.callout ul li.bbb {
  width: 75px;
}

.content.callout ul li.google {
  top: 3px;
}

.content.callout ul li svg {
  display: block;
}

.content.callout ul li svg path {
  fill: #99a0b0 !important;
}

.content.callout ul li:last-child {
  padding-right: 0;
}

.content.callout.bbb ul {
  margin-top: 5px;
}

.content.centered-content {
  padding: 100px 0;
  text-align: center;
  width: 100%;
  background-color: #fff;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.centered-content {
    padding: 50px 0;
  }
}

.content.centered-content h1 {
  font-size: 4em;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .content.centered-content h1 {
    font-size: 3.4em;
  }
}

.content.centered-content h2 {
  color: #b0b5bf;
  opacity: 0.7;
  margin-top: 7px;
  margin-bottom: 30px;
}

.content.centered-content.text-white h1 {
  color: #fff;
}

.content.centered-content.text-white .icons .group .icon svg path {
  fill: #fff;
}

.content.centered-content.text-gray h1 {
  color: #516166;
}

.content.centered-content.text-gray .icons .group .icon svg path {
  fill: #516166;
}

.content.centered-content.text-blue .icons .group .icon svg path {
  fill: #26b7f1;
}

.content.centered-content.text-green .icons .group .icon svg path {
  fill: url(#green-gradient-svg);
}

.content.centered-content .icons {
  padding: 1.5em 0;
  display: flex;
  overflow: hidden;
  justify-content: space-around;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.centered-content .icons {
    display: block;
  }
}

.content.centered-content .icons .group {
  vertical-align: top;
  padding: 0 5%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.centered-content .icons .group {
    width: 100%;
    display: block;
    margin: 30px auto;
  }
}

.content.centered-content .icons .group:hover svg {
  -webkit-transform: scale(1.15);
  -moz-transform: scale(1.15);
  -o-transform: scale(1.15);
  transform: scale(1.15);
}

.content.centered-content .icons .group .icon {
  margin: 0 auto;
  margin-bottom: 1.25em;
  position: relative;
  background-position: center;
  background-size: cover;
}

.content.centered-content .icons .group .icon svg {
  vertical-align: middle;
  transition: ease 0.3s all;
  height: 8vh;
  width: 8vh;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.centered-content .icons .group .icon svg {
    height: 80px;
    width: 80px;
  }
}

.content.centered-content .icons .group .icon svg path {
  fill: #fff;
}

.content.centered-content .icons .group .icon:before {
  content: " ";
  position: absolute;
  z-index: 10;
  border-radius: 15px;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  border: 2px solid transparent;
  transition: 0.5s ease all;
}

.content.centered-content .icons .group .heading {
  margin: 0 auto;
  padding: 5px 10px;
  text-decoration: none;
  text-transform: uppercase;
  color: red;
  letter-spacing: 2px;
  border-radius: 4px;
  transition: 0.5s ease all;
  border: 2px solid transparent;
}

.content.centered-content .icons .group p {
  margin: 15px auto;
  font-size: 0.89em;
  letter-spacing: 0.5px;
  font-family: "Montserrat", sans-serif;
  color: #7f889c;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.centered-content .icons .group p {
    width: 60%;
  }
}

.content.centered-content img {
  height: 40vh;
  display: block;
  margin: 1.5em auto;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.centered-content img {
    height: auto;
  }
}

.content.half_content_image {
  padding: 0;
  position: relative;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.half_content_image {
    padding: 50px 0;
  }
}

.content.half_content_image h1 {
  font-size: 4em;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .content.half_content_image h1 {
    font-size: 3.4em;
  }
}

.content.half_content_image h3 {
  margin-top: 30px;
  margin-bottom: 15px;
}

.content.half_content_image.text-white h1 {
  color: #fff;
}

.content.half_content_image.text-white h3 {
  color: rgba(255, 255, 255, 0.5);
}

.content.half_content_image.text-white .paragraph {
  color: #fff;
}

.content.half_content_image.white-gradient .paragraph {
  color: #7f889c;
}

.content.half_content_image.position-right .wrap .text {
  right: 0;
  left: initial;
  padding-left: 2.5%;
}

.content.half_content_image.position-right .image {
  left: 0;
  right: initial;
}

.content.half_content_image.position-right .image img {
  left: 0;
  right: initial;
}

.content.half_content_image .wrap {
  height: 100%;
}

.content.half_content_image .wrap .text {
  float: left;
  width: 47.5%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.half_content_image .wrap .text {
    width: 100%;
    float: none;
    position: relative;
    top: 0;
    transform: none;
  }
}

.content.half_content_image .wrap .text .paragraph {
  font-family: "Montserrat", sans-serif;
  line-height: 1.5;
}

.content.half_content_image .wrap .text a {
  margin: 1.5em auto;
}

.content.half_content_image .image {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 47.5%;
  margin: auto;
  height: 120%;
  overflow: hidden;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.half_content_image .image {
    position: relative;
    width: 100%;
    margin-top: 20px;
  }
}

.content.half_content_image .image img {
  position: absolute;
  margin: auto;
  display: table;
  right: 0;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.half_content_image .image img {
    position: relative;
  }
}

.content.half_content_image .image img.bottom {
  bottom: 0;
  position: absolute;
}

.content.half_content_image .image img.top {
  top: 0;
  position: absolute;
}

.content.half_content_image .image img.center {
  bottom: 0;
  top: 0;
}

.content.narrow {
  max-width: 600px;
  margin: auto;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.home .wrap .text {
    margin-top: 0;
  }
}

.content.page h1 {
  font-size: 4em;
  line-height: 1.15;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .content.page h1 {
    font-size: 3.4em;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .content.page h1 {
    font-size: 2.3em;
  }
}

.content.page.half_content_image {
  padding: 100px 0;
  position: relative;
}

.content.page.half_content_image .wrap {
  height: 100%;
}

.content.page.half_content_image .wrap .text {
  position: relative;
  left: initial;
  top: initial;
  transform: initial;
}

.content.page.half_content_image .image {
  display: block;
  padding: 100px 0;
}

.content.page.half_content_image .image img {
  position: initial;
  display: block;
  margin: initial;
  float: right;
}

.content.page.half_content_image .image.bottom {
  height: 85%;
  margin: initial;
  top: initial;
}

.content.page.half_content_image .image.bottom img {
  position: absolute;
}

.content.page.half_content_image .image.top {
  height: 85%;
  margin: initial;
  bottom: initial;
}

.content.page.half_content_image .image.top img {
  position: absolute;
}

.content.devices {
  height: 100vh;
}

.content.devices .column .logo {
  position: absolute;
  top: -10vh;
}

.content.devices .column:first-child h1 {
  color: #fff;
}

.content.devices .column:last-child h1 {
  color: #26b7f1;
}

.content.devices .column .btn {
  margin-top: 20px;
}

.content.devices .register-device {
  margin-top: 25%;
  text-align: center;
}

.content.devices .register-device .mdl-textfield {
  max-width: 400px;
  margin: auto;
  display: block;
  text-align: center;
}

main {
  position: relative;
}

main.back-end {
  background-color: #fbfbfc;
  padding-bottom: 100px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.back-end {
    width: initial;
    float: initial;
  }
}

main.manage-location .content {
  overflow: initial;
  margin: auto;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.manage-location .content {
    width: 90%;
  }
}

main.manage-location .location {
  display: inline-block;
  margin-top: 25px;
  margin-bottom: 25px;
  position: relative;
  border: 4px solid #ecedf1;
  border-radius: 5px;
  text-decoration: none;
}

main.manage-location .location:nth-child(odd) {
  margin-left: 0;
  clear: both;
}

main.manage-location .location .google-map {
  width: 100%;
}

main.manage-location .location .company-logo {
  position: absolute;
  top: -30px;
  left: -30px;
}

main.manage-location .location .location-footer {
  padding: 25px 20px;
  display: block;
}

main.manage-location .location .location-footer h3 {
  margin: 0;
  display: inline-block;
  color: #516166;
}

main.manage-location .location .location-footer .star-rating {
  float: right;
  display: inline-block;
}

main.manage-location .location.new-location .google-map,
main.manage-location .location.new-location .location-footer {
  opacity: 0.2;
}

main.manage-location .location.new-location .add-location-icon {
  position: absolute;
  z-index: 10;
  top: 20%;
  left: 30%;
}

main.location .location-header {
  text-align: center;
}

main.location .location-header .background-image {
  height: 225px;
  background-position: center;
  background-size: cover;
}

main.location .location-header .group {
  margin-top: -125px;
}

main.location .location-header .group h1 {
  margin-bottom: 0;
  font-size: 2.2em;
}

main.location .location-header .group .star-rating {
  margin: 10px auto;
}

main.location .col-1-2 {
  background-color: #fff;
  border: 2px solid #ecedf1;
  padding: 50px 5%;
}

main.location .edit-location {
  content: "";
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.location .edit-location {
    border-right: none;
    padding-right: 0;
  }
}

main.location .edit-location .btn {
  cursor: pointer;
  margin-bottom: 40px;
}

main.location .manage-reviews a {
  cursor: pointer;
  margin-bottom: 40px;
}

main.location .manage-reviews .recent-reviews .recent-review {
  padding-bottom: 20px;
  margin-bottom: 40px;
  border-bottom: 1px solid #ecedf1;
}

main.location .manage-reviews .recent-reviews .recent-review:last-child {
  border-bottom: none;
}

main.location .manage-reviews .recent-reviews .recent-review .name {
  display: inline-block;
}

main.location .manage-reviews .recent-reviews .recent-review .star-rating {
  float: right;
}

main.dashboard hgroup {
  margin-top: 50px;
}

main.dashboard hgroup h2 {
  margin-bottom: 15px;
}

main.dashboard hgroup h4 {
  margin-top: 15px;
}

main.dashboard .summary {
  overflow: hidden;
  margin-top: 50px;
  padding: 50px 5%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.dashboard .summary {
    text-align: center;
  }
}

main.dashboard .summary .latest-feedback {
  float: left;
  text-align: center;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.dashboard .summary .latest-feedback {
    float: none;
  }
}

main.dashboard .summary .latest-feedback h4 {
  font-size: 1rem;
  margin-top: 15px;
}

main.dashboard .summary .total-reviews {
  float: right;
  display: inline-block;
  text-align: center;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.dashboard .summary .total-reviews {
    float: none;
    margin-top: 25px;
  }
}

main.dashboard .summary .total-reviews h1 {
  font-family: "Montserrat", sans-serif;
  color: #07dda2;
  font-size: 65px;
  margin: 0;
}

main.dashboard .summary .total-reviews h1,
main.dashboard .summary .total-reviews h1 * {
  line-height: 1;
}

main.dashboard .summary .total-reviews h1:not(.odometer) {
  padding: 4px 0;
}

main.dashboard .summary .total-reviews h4 {
  margin-top: 5px;
}

main.dashboard .request-callout {
  overflow: hidden;
  padding: 50px 0;
  text-align: center;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.dashboard .request-callout {
    text-align: center;
  }
}

main.dashboard .request-callout h4 {
  display: block;
  margin: 0 0 10px 0;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.dashboard .request-callout h4 {
    display: block;
  }
}

main.dashboard .request-callout a {
  margin-left: 25px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.dashboard .request-callout a {
    margin-top: 10px;
    margin-left: 0;
	margin-bottom: 10px;
  }
}

main.dashboard .request-callout .bulk{
	margin: 0;
	padding: 16px 0;
}

main.dashboard .reviews {
  padding: 50px 5%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  main.dashboard .reviews:last-child {
    margin-top: 20px;
  }
}

main.dashboard .reviews h2 {
  margin: 0;
  margin-bottom: 50px;
  text-align: center;
}

main.dashboard .reviews .recent-review {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #ecedf1;
}

main.dashboard .reviews .recent-review:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

main.dashboard .reviews .recent-review h2 {
  text-align: center;
}

main.dashboard .reviews .recent-review .name {
  display: inline-block;
}

main.dashboard .reviews .recent-review .logo {
  float: right;
  margin-left: 15px;
}

main.dashboard .reviews .recent-review .star-rating {
  float: right;
}

main.dashboard .reviews .recent-review .location-info {
  margin-top: 20px;
  text-transform: uppercase;
  font-size: 0.95em;
  color: #516166;
  font-family: "Montserrat", sans-serif;
}

main.dashboard .reviews .recent-review .location-info .date:before {
  content: "";
}

main.dashboard .reviews .recent-review .location-info .divider {
  color: #ecedf1;
  opacity: 0.7;
  margin: 0 5px;
}

main.dashboard .reviews .recent-review p {
  margin: 13px auto;
}

main.add-location .column {
  display: block;
  margin-top: 100px;
}

main.add-location .column.narrow {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

main.profile {
  text-align: center;
}

main.profile .tabbed-section {
  display: none;
}

main.profile .tabbed-section.active {
  display: block;
}

main.profile .tabbed-section .billing-locations {
  text-align: left;
}

main.profile .tabbed-section .billing-locations .billing-location {
  margin-bottom: 50px;
}

main.profile .tabbed-section .billing-locations .billing-cycle {
  margin-bottom: 10px;
}

main.profile .tabbed-section form[name="manage_profile_form"] {
  text-align: left;
}

main.profile .tabbed-selection {
  padding: 1em 0;
  margin-bottom: 1em;
  display: inline-block;
  border-bottom: 2px solid #ecedf1;
}

main.profile .tabbed-selection li {
  display: inherit;
}

main.profile .tabbed-selection li a {
  display: block;
  padding: 8px 25px;
  text-decoration: none;
  text-transform: uppercase;
  color: #99a0b0;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 2px;
}

main.profile .tabbed-selection li.active a {
  color: #07dda2;
}

main.profile img {
  max-width: 100%;
  max-height: 200px;
}

main.customers h2 {
  text-align: center;
}

main.customers .dataTables_wrapper {
  font-family: "Montserrat", sans-serif;
  color: #7f889c;
  padding: 25px 0;
}

main.customers .dataTables_wrapper table,
main.customers .dataTables_wrapper th {
  border-bottom: 2px solid #26b7f1;
}

main.customers .dataTables_wrapper th,
main.customers .dataTables_wrapper .dataTables_info {
  color: #516166 !important;
  text-transform: uppercase;
}

main.customers .dataTables_wrapper .dataTables_length {
  display: none;
}

main.customers .dataTables_wrapper .paginate_button {
  background: -webkit-linear-gradient(right, rgba(24, 206, 251, 0.96), rgba(4, 146, 228, 0.96)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

main.customers .dataTables_wrapper .paginate_button:hover, main.customers .dataTables_wrapper .paginate_button:active, main.customers .dataTables_wrapper .paginate_button:focus {
  box-shadow: initial !important;
  border: initial !important;
}

main.customers .dataTables_wrapper .paginate_button.current {
  border: 2px solid #26b7f1 !important;
}

main.customers .dataTables_wrapper .ellipsis {
  color: #26b7f1;
}

#request-review #email_or_phone_error{
	color: red;
	text-align: left;
  display: block;
  margin-left: 4%;
}

.lightbox-content {
  display: none;
}

.company-logo {
  padding: 4px;
  border: 4px solid #ecedf1;
  height: 150px;
  width: 150px;
  background-color: #fff;
  z-index: 10;
  border-radius: 100%;
  text-align: center;
  margin: auto;
  display: table;
  position: relative;
}

.company-logo .logo {
  display: table-cell;
  vertical-align: middle;
  background-size: 90% auto;
  border-radius: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
}

.company-logo .upload {
  position: absolute;
  top: -4px;
  left: -4px;
  height: 150px;
  width: 150px;
  border-radius: 100%;
  border: 4px solid #ecedf1;
  display: none;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.company-logo .upload i {
  display: table-cell;
  vertical-align: middle;
}

.company-logo:hover .upload {
  display: table;
  background: rgba(0, 0, 0, 0.6);
}

.breadcrumbs {
  background-color: #ecedf1;
  text-transform: uppercase;
  font-weight: normal;
  padding: 25px 0;
  letter-spacing: 0.5px;
  font-family: "Montserrat", sans-serif;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .breadcrumbs {
    display: none;
  }
}

.breadcrumbs a.breadcrumb-link {
  text-decoration: none;
  color: #516166;
  opacity: 0.5;
}

.breadcrumbs .current {
  color: #516166;
}

.breadcrumbs .divider {
  margin: 0 20px;
}

#in-store-form {
  padding-bottom: 500px;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  #in-store-form {
    margin-top: -30px;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  #in-store-form {
    padding-bottom: 0px;
    margin-top: 0px;
  }
}

#in-store-form .in-store-header hgroup {
  margin: 40px 0;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  #in-store-form .in-store-header hgroup {
    margin-top: 10px;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  #in-store-form .in-store-header hgroup {
    margin-top: 40px;
  }
}

#in-store-form .in-store-header hgroup h1 {
  font-size: 5em;
  margin: 0;
  margin-bottom: 15px;
  letter-spacing: 2px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  #in-store-form .in-store-header hgroup h1 {
    font-size: 3em;
  }
}

#in-store-form .in-store-header hgroup h3 {
  font-size: 2.3em;
  letter-spacing: 2px;
  margin: 0;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  #in-store-form .in-store-header hgroup h3 {
    font-size: 1.6em;
  }
}

#in-store-form .in-store-form .step-2 {
  display: none;
}

#in-store-form .in-store-form .step-2 .field {
  text-align: center;
  margin: 60px 0;
}

#in-store-form .in-store-form .step-2 .field .select-star-rating svg {
  height: 100px;
  width: 100px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  #in-store-form .in-store-form .step-2 .field .select-star-rating svg {
    height: 60px;
    width: 60px;
  }
}

#in-store-form .in-store-form .step-3 {
  display: none;
  text-align: center;
}

#in-store-form .in-store-form .step-3 svg {
  cursor: pointer;
}

#in-store-form .in-store-form .step-3 svg path {
  fill: #516166;
}

#login-form .login-remember,
#login-form .login-forgot {
  font-family: "Montserrat", sans-serif;
  color: #99a0b0;
  font-weight: normal;
  font-size: 0.75em;
  float: left;
  text-align: left;
  display: inline-block;
}

#login-form .login-forgot {
  margin-right: 10px;
}

#login-form .forgot-password {
  position: relative;
  top: -20px;
  margin-right: 10px;
  padding-left: 4%;
  overflow: auto;
}

#rpm-video {
  position: relative;
}

#rpm-video .background-logo {
  background-image: url("https://www.maxfeedback.com/wp-content/uploads/2016/12/radair_logo_video_overlay.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-color: rgba(47, 58, 62, 0.65);
  z-index: 10;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-size: contain;
}

#rpm-video video {
  position: fixed;
  height: 100%;
  z-index: -1;
}

#login-page .icon {
  display: none;
}

#gform_8 ul {
  marign: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 10px;
}

#gform_8 ul #field_8_1,
#gform_8 ul #field_8_2 {
  display: none;
}

.activate h2 {
  background: -webkit-linear-gradient(left, #02cfaf, #0ceb93);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.activate .video-screen {
  width: 100%;
  height: 100vh;
  text-align: center;
  padding-top: 10vh;
  transition: 0.5s ease all;
  width: 100%;
  overflow: auto;
}

.activate .video-screen.hide {
  height: 0;
  padding-top: 0;
}

.activate .video-screen h1 {
  color: #fff;
  margin: 0.75em 0;
}

.activate .video-screen .video-section {
  display: block;
  margin: auto;
  width: 80%;
  max-width: 640px;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .activate .video-screen .video-section iframe {
    max-height: 30vh;
  }
}

.activate .video-screen .video-section .btn-group {
  display: block;
  text-align: right;
  margin-top: 15px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .activate .video-screen .video-section .btn-group {
    text-align: center;
  }
}

.activate .video-screen .video-section .btn-group span {
  margin-right: 10px;
  font-size: 0.75em;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  position: relative;
  top: 16px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .activate .video-screen .video-section .btn-group span {
    display: block;
    top: 0;
    margin-bottom: 10px;
    margin-right: 0;
  }
}

.activate .video-screen .video-section .btn-group span a {
  color: #fff;
  text-decoration: underline;
}

.activate .column {
  display: none;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .activate .column {
    height: 70vh !important;
    width: 112% !important;
    left: -6%;
  }
}

.activate .column.active {
  display: block;
}

.activate .column:first-child .logo {
  position: absolute;
  top: -12.5vh;
  height: 6vh;
  left: 0;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .activate .column:first-child .logo {
    position: relative;
    top: 0;
    margin-bottom: 3vh;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .activate .column:first-child .typing-section {
    top: 12vh;
  }
}

.activate .column:first-child .progress-bar {
  position: absolute;
  top: 50vh;
  left: 0;
  right: 20%;
  height: 2px;
  font-family: "Montserrat", sans-serif;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .activate .column:first-child .progress-bar {
    top: 350px;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .activate .column:first-child .progress-bar {
    top: 50vh;
    right: 5%;
    left: 5%;
  }
}

.activate .column:first-child .progress-bar .progress-text,
.activate .column:first-child .progress-bar .phone-number {
  text-align: center;
  display: block;
  margin-top: 2.5vh;
  font-weight: bold;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.activate .column:first-child .progress-bar .phone-number {
  text-transform: initial;
  font-size: 0.9em;
}

.activate .column:first-child .progress-bar ul {
  height: 2px;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  display: flex;
  justify-content: space-between;
  transition: all 0.3s ease;
}

.activate .column:first-child .progress-bar ul li {
  width: 6px;
  height: 6px;
  background-color: #fff;
  border-radius: 50%;
  margin-top: -2px;
}

.activate .column:first-child .progress-bar ul:before, .activate .column:first-child .progress-bar ul:after {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #fff;
  border-radius: 50%;
  margin-top: -2px;
}

.activate .column:first-child .progress-bar:after {
  content: "";
  background-color: #fff;
  width: 0%;
  height: 2px;
  position: absolute;
  left: 0;
  top: 0;
}

.activate .column:first-child .progress-bar.step-2:after {
  width: 20%;
}

.activate .column:first-child .progress-bar.step-3:after {
  width: 40%;
}

.activate .column:first-child .progress-bar.step-4:after {
  width: 60%;
}

.activate .column:first-child .progress-bar.step-5:after {
  width: 80%;
}

.activate .column:first-child .progress-bar.step-6:after {
  width: 100%;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .activate .column:last-child #fullpage .section {
    display: none;
    margin: auto;
    width: 95%;
  }
  .activate .column:last-child #fullpage .section.active {
    display: block;
  }
}

.activate .column:last-child #fullpage .section #select_number_of_locations {
  text-align: center;
}

.activate .column:last-child #fullpage .section #select_number_of_locations .number_of_locations {
  display: block;
  border: none;
  padding: 10px;
  font-family: "Montserrat", sans-serif;
  width: 50%;
  transition: 0.2s ease all;
  background: 0 0;
  color: inherit;
  font-size: 6em;
  text-align: center;
  margin: auto;
  font-weight: bold;
  background: -webkit-linear-gradient(right, #02cfaf, #0ceb93);
  background: -o-linear-gradient(right, #02cfaf, #0ceb93);
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(right, #02cfaf, #0ceb93);
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(right, #02cfaf, #0ceb93);
  /* Standard syntax */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.activate .column:last-child #fullpage .section #select_number_of_locations input[name="number_of_locations"] {
  display: none;
}

.activate .column:last-child #fullpage .section #select_number_of_locations svg {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -khtml-user-select: none;
  /* Konqueror HTML */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
}

.activate .column:last-child #fullpage .section #select_number_of_locations svg path {
  fill: #99a0b0;
}

.activate .column:last-child #fullpage .section #incorrect-info {
  clear: both;
  float: right;
  margin-top: 20px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .activate .column:last-child #fullpage .section #incorrect-info {
    float: none;
  }
}

.activate .column:last-child #fullpage .section .btn-group {
  float: right;
  margin-top: 40px;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .activate .column:last-child #fullpage .section .btn-group {
    float: none;
  }
}

.activate .column:last-child #fullpage .section .previous-step {
  color: #99a0b0;
  opacity: 0.7;
  text-decoration: underline;
  margin-right: 20px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.5px;
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -khtml-user-select: none;
  /* Konqueror HTML */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
}



@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .activate .column:last-child #fullpage .section .previous-step {
    margin-bottom: 10px;
    display: block;
  }
}

.activate .column:last-child #fullpage .section h3 {
  color: #26b7f1;
  font-size: 0.95em;
}

.activate .column:last-child #fullpage .section h3 span {
  color: #99a0b0;
  text-transform: uppercase;
  font-size: 0.9em;
  opacity: 0.7;
  letter-spacing: normal;
  font-weight: normal;
}

.activate .column:last-child #fullpage .section h3#upload_logo_header {
  margin-top: 1.5em;
  margin-bottom: 2em;
}

.activate .column:last-child #fullpage .section #upload_logo {
  display: block;
  text-transform: none;
  font-weight: normal;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .activate .column:last-child #fullpage .section #upload_logo {
    display: inline-block;
  }
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row {
  width: 100%;
  height: 45px;
  position: relative;
  margin: 20px auto;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .logo {
  width: 33%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  text-align: center;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .logo.logo-google svg path {
  fill: #3269e8 !important;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .logo.logo-facebook svg path {
  fill: #4267b1 !important;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .logo.logo-yelp svg path {
  fill: #d32323 !important;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .card {
  position: absolute;
  left: 40%;
  top: 0;
  bottom: 0;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn {
  position: absolute;
  left: 75%;
  top: 0;
  bottom: 0;
  min-width: 0;
  transition: ease all 0.3s;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.btn-google {
  background-color: #3269e8;
  border: 2px solid #3269e8;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.btn-google.link-off {
  background-color: #fff;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.btn-google.link-off svg path {
  fill: #3269e8;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.btn-facebook {
  background-color: #4267b1;
  border: 2px solid #4267b1;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.btn-facebook.link-off {
  background-color: #fff;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.btn-facebook.link-off svg path {
  fill: #4267b1 !important;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.btn-yelp {
  background-color: #d32323;
  border: 2px solid #d32323;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.btn-yelp.link-off {
  background-color: #fff;
  color: #d32323;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.btn-yelp.link-off svg path {
  fill: #d32323 !important;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row .btn.toggle {
  display: none;
}

.activate .column:last-child #fullpage .section .review-service-buttons .button-row input[type="url"] {
  display: none;
}

.activate .column:last-child #fullpage .section .pricing-area:first-child {
  padding-bottom: 1.5em;
  margin-bottom: 1.5em;
  border-bottom: 2px solid #ecedf0;
}

.activate .column:last-child #fullpage .section .pricing-area .left {
  width: 35%;
  margin-right: 4%;
  display: inline-block;
  text-align: center;
}

.activate .column:last-child #fullpage .section .pricing-area .left img {
  display: block;
  margin: auto;
}

.activate .column:last-child #fullpage .section .pricing-area .left h3 {
  display: inline-block;
  font-size: 0.9em;
  margin: 1em 0;
}

.activate .column:last-child #fullpage .section .pricing-area .left h3 span {
  display: block;
  margin-top: 0.5em;
  font-weight: normal;
  color: #26b7f1;
  letter-spacing: 0.5px;
}

.activate .column:last-child #fullpage .section .pricing-area .right {
  width: 55%;
  margin-left: 4%;
  display: inline-block;
  vertical-align: top;
}

.activate .column:last-child #fullpage .section .pricing-area .right h2 {
  display: inline-block;
  font-size: 1.1em;
  margin-top: 0;
  margin-bottom: 15px;
}

.activate .column:last-child #fullpage .section .pricing-area .right ul {
  font-family: "Montserrat", sans-serif;
  font-size: 0.9em;
}

.activate .column:last-child #fullpage .section .pricing-area .right ul li {
  position: relative;
  line-height: 1;
  margin-left: 8%;
  color: #abb1bd;
}

.activate .column:last-child #fullpage .section .pricing-area .right ul li.check:before {
  content: "\f00c";
  font-family: FontAwesome;
  font-size: 1em;
  position: absolute;
  top: 0;
  left: -10%;
  margin: auto;
  display: table;
  transition: all 0.6s ease;
  background: -webkit-linear-gradient(right, #02cfaf, #0ceb93);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.activate .column:last-child #fullpage .section .pricing-area .right ul li.plus:before {
  content: "\f067";
  font-family: FontAwesome;
  font-size: 1em;
  position: absolute;
  top: 0;
  left: -10%;
  margin: auto;
  display: table;
  transition: all 0.6s ease;
  background: -webkit-linear-gradient(right, #02cfaf, #0ceb93);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.activate .column:last-child #fullpage .section .pricing-area .right a {
  float: left;
  margin-top: 20px;
}

.activate .column:last-child #fullpage .section .specials {
  text-align: center;
}

.activate .column:last-child #fullpage .section .specials hgroup {
  margin: 2.5em 0;
}

.activate .column:last-child #fullpage .section .specials hgroup h1 {
  margin-top: 0;
}

.activate .column:last-child #fullpage .section .specials hgroup h3 {
  margin-bottom: 0.5em;
}

.activate .column:last-child #fullpage .section .specials a {
  display: inline-block;
  margin-top: 0;
}

@media screen and (max-width: 1170px), (max-device-width: 1170px) {
  .activate .column:last-child #fullpage .section .specials a:last-child {
    margin-top: 10px;
  }
}

@media screen and (max-height: 650px), (max-device-height: 650px) {
  .activate .column:last-child #fullpage .section #submit_credit_card .card-display {
    display: none;
  }
}

.activate .column:last-child #fullpage .section #submit_credit_card .credit-card-caption {
  text-align: center;
  color: #999;
  font-size: 0.8em;
  text-decoration: underline;
  font-weight: bold;
}

.activate .column:last-child #fullpage .section #submit_credit_card .fine-print {
  text-align: right;
  font-size: 0.8em;
  text-decoration: none;
  clear: both;
  line-height: 1.5;
}

.activate .column:last-child #fullpage .section #submit_credit_card .fine-print a {
  color: #d2d6dd;
}

.activate .column:last-child #fullpage .section #submit_credit_card .btn {
  margin: 20px 0;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .split-bg {
    height: 100vh;
    overflow: auto;
  }
}

.split-bg .column {
  margin-top: 20vh;
  float: left;
  width: 50%;
  height: 100vh;
  position: relative;
}

@media screen and (max-height: 600px), (max-device-height: 600px) {
  .split-bg .column {
    margin-top: 15vh;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .split-bg .column {
    width: 100%;
    float: initial;
    margin-top: 0;
    text-align: center;
    padding: 5vh 0;
  }
}

.split-bg .column .fp-section {
  height: auto !important;
  min-height: 100%;
}

.split-bg .column .static {
  position: absolute;
  top: 39vh;
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .split-bg .column .static {
    top: 29vh;
    position: relative;
  }
}

.split-bg .column:first-child {
  padding-right: 10%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .split-bg .column:first-child {
    padding-right: 0;
  }
}

.split-bg .column:first-child .typing-section {
  right: 20%;
  left: 0;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .split-bg .column:first-child .typing-section {
    right: 0;
  }
}

.split-bg .column:nth-child(2) {
  padding-left: 10%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .split-bg .column:nth-child(2) {
    padding-left: 0;
  }
}

.split-bg .column.white .typing-section {
  background: -webkit-linear-gradient(right, rgba(24, 206, 251, 0.96), rgba(4, 146, 228, 0.96));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.split-bg .column .typing-section {
  position: absolute;
  top: 0;
  height: 37vh;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .split-bg .column .typing-section {
    height: 200px;
    padding: 0 5%;
    top: 5vh;
  }
}

.split-bg .column .typing-section .type-here {
  color: #fff;
  font-size: 4em;
  font-weight: bold;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 1px;
  line-height: 1.15;
}

@media screen and (max-height: 600px), (max-device-height: 600px) {
  .split-bg .column .typing-section .type-here {
    font-size: 3.5em;
  }
}

@media screen and (max-width: 1170px), (max-device-width: 1170px) {
  .split-bg .column .typing-section .type-here {
    font-size: 3.5em;
  }
}

@media screen and (max-width: 1024px), (max-device-width: 1024px) {
  .split-bg .column .typing-section .type-here {
    font-size: 2.7em;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .front-page .section:first-child {
    margin-top: 75px;
    padding-top: 0 !important;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .front-page .section:first-child .wrap {
    max-width: none;
    width: 100%;
  }
}

.front-page .section .column {
  height: 68vh;
  margin-top: 5vh;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .front-page .section .column {
    height: 350px;
    margin-top: 0;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .front-page .section .column:first-child {
    height: auto;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .front-page .section .column:first-child .typing-section {
    position: relative;
    height: auto;
    top: 0;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .front-page .section .column:first-child .static {
    top: 0;
  }
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .front-page .section .column:nth-child(2) .static {
    top: 175px;
  }
}

@media screen and (max-width: 500px), (max-device-width: 500px) {
  .front-page .section .column:nth-child(2) .static {
    top: 210px;
  }
}

.front-page .section .column.white .typing-section {
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: #26b7f1;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .front-page .section .column.white .typing-section {
    left: 0;
    right: 0;
  }
}

.front-page .section .column.white .typing-section .type-here {
  color: #26b7f1;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .devices .column {
    height: 50vh !important;
    width: 112% !important;
    left: -6%;
    padding-top: 10vh;
  }
}

.devices .column h1 {
  margin-bottom: 30px;
}

#verify-yelp-link,
#verify-facebook-link {
  padding: 30px;
}

#verify-yelp-link .button-row,
#verify-facebook-link .button-row {
  text-align: center;
}

#lostpasswordform {
  width: 92%;
}

/* Footer */
footer.main {
  background-color: #363a42;
  text-align: center;
  color: #56595f;
  text-transform: uppercase;
  font-weight: bold;
  clear: both;
}

footer.main.back-end {
  width: 80%;
  float: right;
}

footer.main.back-end .content-bar {
  display: none;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  footer.main.back-end {
    width: initial;
    float: initial;
  }
}

footer.main .content-bar {
  padding: 30px 0;
}

footer.main .content-bar div {
  display: inline-block;
  width: 19.5%;
}

footer.main .content-bar div a {
  color: #56595f;
  text-decoration: none;
}

footer.main .copyright {
  padding: 10px 0;
  background-color: #4a4e55;
  font-size: .75em;
  color: #707277;
}

/* Modules */
[class*='col-'] {
  float: left;
}

[class*='col-'] + [class*='col-'] {
  margin-left: 5%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  [class*='col-'] {
    float: none !important;
    margin-left: 0 !important;
    width: 100% !important;
  }
}

.col-3-4 {
  width: 73.75%;
}

.col-2-3 {
  width: 65%;
}

.col-1-2 {
  width: 47.5%;
}

.col-1-3 {
  width: 30%;
}

.col-1-4 {
  width: 21.25%;
}

.row {
  clear: both;
  overflow: hidden;
}

input[type="submit"],
.btn,
.confirm,
.cancel,
.paginate_button {
  padding: 14px 20px;
  min-width: 225px;
  text-align: center;
  color: #fff;
  background-color: #07dda2;
  display: inline-block;
  text-decoration: none;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 1;
  transition: all 0.3s ease;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: bold;
  letter-spacing: 1px;
  border: none;
  position: relative;
  transition: all 0.3s ease;
  border-radius: 5px;
  transform: translateZ(0);
}

input[type="submit"]:focus,
.btn:focus,
.confirm:focus,
.cancel:focus,
.paginate_button:focus {
  text-transform: uppercase;
}

input[type="submit"].green-gradient, input[type="submit"].blue-gradient,
.btn.green-gradient,
.btn.blue-gradient,
.confirm.green-gradient,
.confirm.blue-gradient,
.cancel.green-gradient,
.cancel.blue-gradient,
.paginate_button.green-gradient,
.paginate_button.blue-gradient {
  padding: 16px 22px;
}

input[type="submit"]:after,
.btn:after,
.confirm:after,
.cancel:after,
.paginate_button:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0%;
  background-color: rgba(153, 160, 176, 0.2);
  overflow: hidden;
  margin-right: -1px;
  z-index: -1;
  transition: all 0.4s ease;
  border-radius: 5px;
}

input[type="submit"]:hover:after,
.btn:hover:after,
.confirm:hover:after,
.cancel:hover:after,
.paginate_button:hover:after {
  width: 100%;
}

input[type="submit"].green-inverse,
.btn.green-inverse,
.confirm.green-inverse,
.cancel.green-inverse,
.paginate_button.green-inverse {
  background-color: #fff;
  border: 2px solid #07dda2;
  color: #07dda2;
}

input[type="submit"].white,
.btn.white,
.confirm.white,
.cancel.white,
.paginate_button.white {
  background-color: #fff;
  border: 2px solid #fff;
  color: #26b7f1;
}

input[type="submit"].white:after,
.btn.white:after,
.confirm.white:after,
.cancel.white:after,
.paginate_button.white:after {
  background-color: #ecedf1;
}

input[type="submit"].transparent,
.btn.transparent,
.confirm.transparent,
.cancel.transparent,
.paginate_button.transparent {
  background-color: transparent;
  border: 2px solid rgba(255, 255, 255, 0.6);
  color: #fff;
}

input[type="submit"].transparent:hover,
.btn.transparent:hover,
.confirm.transparent:hover,
.cancel.transparent:hover,
.paginate_button.transparent:hover {
  border: 2px solid #fff;
  color: #fff;
}

input[type="submit"].transparent:after,
.btn.transparent:after,
.confirm.transparent:after,
.cancel.transparent:after,
.paginate_button.transparent:after {
  background-color: rgba(236, 237, 241, 0.15);
}

input[type="submit"].blue,
.btn.blue,
.confirm.blue,
.cancel.blue,
.paginate_button.blue {
  background: #2f3a3e;
  color: #fff;
}

input[type="submit"].blue:after,
.btn.blue:after,
.confirm.blue:after,
.cancel.blue:after,
.paginate_button.blue:after {
  background-color: #191f21;
}

input[type="submit"].blue-inverse,
.btn.blue-inverse,
.confirm.blue-inverse,
.cancel.blue-inverse,
.paginate_button.blue-inverse {
  background: #fff;
  color: #2f3a3e;
}

input[type="submit"].blue-inverse:after,
.btn.blue-inverse:after,
.confirm.blue-inverse:after,
.cancel.blue-inverse:after,
.paginate_button.blue-inverse:after {
  background-color: rgba(47, 58, 62, 0.15);
}

input[type="submit"].purple,
.btn.purple,
.confirm.purple,
.cancel.purple,
.paginate_button.purple {
  background: #8866cd;
  color: #fff;
}

input[type="submit"].purple:after,
.btn.purple:after,
.confirm.purple:after,
.cancel.purple:after,
.paginate_button.purple:after {
  background-color: #6a40c0;
}

input[type="submit"].purple-inverse,
.btn.purple-inverse,
.confirm.purple-inverse,
.cancel.purple-inverse,
.paginate_button.purple-inverse {
  background: #fff;
  color: #8866cd;
}

input[type="submit"].purple-inverse:after,
.btn.purple-inverse:after,
.confirm.purple-inverse:after,
.cancel.purple-inverse:after,
.paginate_button.purple-inverse:after {
  background-color: rgba(136, 102, 205, 0.15);
}

input[type="submit"].navy,
.btn.navy,
.confirm.navy,
.cancel.navy,
.paginate_button.navy {
  background-color: #516166;
  border: 2px solid #516166;
}

input[type="submit"].navy:hover,
.btn.navy:hover,
.confirm.navy:hover,
.cancel.navy:hover,
.paginate_button.navy:hover {
  background-color: #2f383b;
}

input[type="submit"].liteblue,
.btn.liteblue,
.confirm.liteblue,
.cancel.liteblue,
.paginate_button.liteblue {
  background-color: #26b7f1;
  border: 2px solid #26b7f1;
}

input[type="submit"].liteblue:after,
.btn.liteblue:after,
.confirm.liteblue:after,
.cancel.liteblue:after,
.paginate_button.liteblue:after {
  background-color: rgba(236, 237, 241, 0.15);
}

input[type="submit"].gray,
.btn.gray,
.confirm.gray,
.cancel.gray,
.paginate_button.gray {
  background-color: #c0c3d1;
  border: 2px solid #c0c3d1;
}

input[type="submit"].gray:hover,
.btn.gray:hover,
.confirm.gray:hover,
.cancel.gray:hover,
.paginate_button.gray:hover {
  background-color: #a3a7bb;
}

input[type="submit"].gray-inverse,
.btn.gray-inverse,
.confirm.gray-inverse,
.cancel.gray-inverse,
.paginate_button.gray-inverse {
  background: #fff;
  color: #99a0b0;
  border: 2px solid #99a0b0;
}

input[type="submit"].gray-inverse:after,
.btn.gray-inverse:after,
.confirm.gray-inverse:after,
.cancel.gray-inverse:after,
.paginate_button.gray-inverse:after {
  background-color: rgba(236, 237, 241, 0.5);
}

input[type="submit"].red,
.btn.red,
.confirm.red,
.cancel.red,
.paginate_button.red {
  background: #DF403D;
  color: #fff;
  border: 2px solid #DF403D;
}

input[type="submit"].red:after,
.btn.red:after,
.confirm.red:after,
.cancel.red:after,
.paginate_button.red:after {
  background-color: rgba(236, 237, 241, 0.5);
}

input[type="submit"].red-inverse,
.btn.red-inverse,
.confirm.red-inverse,
.cancel.red-inverse,
.paginate_button.red-inverse {
  background: #fff;
  color: #DF403D;
  border: 2px solid #DF403D;
}

input[type="submit"].red-inverse:after,
.btn.red-inverse:after,
.confirm.red-inverse:after,
.cancel.red-inverse:after,
.paginate_button.red-inverse:after {
  background-color: rgba(236, 237, 241, 0.5);
}

input[type="submit"].full,
.btn.full,
.confirm.full,
.cancel.full,
.paginate_button.full {
  width: 100%;
  max-width: 92%;
}

input[type="submit"].half,
.btn.half,
.confirm.half,
.cancel.half,
.paginate_button.half {
  width: 48%;
  padding: 16px 5px;
  min-width: initial;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  input[type="submit"].half,
  .btn.half,
  .confirm.half,
  .cancel.half,
  .paginate_button.half {
    width: 100%;
  }
}

input[type="submit"].half + .half,
.btn.half + .half,
.confirm.half + .half,
.cancel.half + .half,
.paginate_button.half + .half {
  float: right;
}

input[type="submit"].large,
.btn.large,
.confirm.large,
.cancel.large,
.paginate_button.large {
  padding: 16px 65px;
}

input[type="submit"].small,
.btn.small,
.confirm.small,
.cancel.small,
.paginate_button.small {
  padding: 10px 16px;
  font-size: 12px;
}

input[type="submit"].loading,
.btn.loading,
.confirm.loading,
.cancel.loading,
.paginate_button.loading {
  color: transparent;
  cursor: not-allowed;
}

input[type="submit"].loading:after,
.btn.loading:after,
.confirm.loading:after,
.cancel.loading:after,
.paginate_button.loading:after {
  content: "";
  border: 8px solid #f3f3f3;
  /* Light grey */
  border-top: 8px solid #26b7f1;
  /* Blue */
  border-radius: 50%;
  width: 16px;
  height: 16px;
  animation: spin 2s linear infinite;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

input[type="submit"] .spinner,
.btn .spinner,
.confirm .spinner,
.cancel .spinner,
.paginate_button .spinner {
  display: inline-block;
  opacity: 0;
  width: 0;
  -webkit-transition: opacity 0.25s, width 0.25s;
  -moz-transition: opacity 0.25s, width 0.25s;
  -o-transition: opacity 0.25s, width 0.25s;
  transition: opacity 0.25s, width 0.25s;
}

input[type="submit"].active,
.btn.active,
.confirm.active,
.cancel.active,
.paginate_button.active {
  cursor: progress;
}

input[type="submit"].active .spinner,
.btn.active .spinner,
.confirm.active .spinner,
.cancel.active .spinner,
.paginate_button.active .spinner {
  opacity: 1;
  width: auto;
}

input[type="submit"].active .spinner,
.btn.active .spinner,
.confirm.active .spinner,
.cancel.active .spinner,
.paginate_button.active .spinner {
  min-width: 20px;
}

input[type="submit"].toggle-off,
.btn.toggle-off,
.confirm.toggle-off,
.cancel.toggle-off,
.paginate_button.toggle-off {
  background: #fff;
  color: #ecedf1;
  border: 2px solid #ecedf1;
}

input[type="submit"].toggle-off:after,
.btn.toggle-off:after,
.confirm.toggle-off:after,
.cancel.toggle-off:after,
.paginate_button.toggle-off:after {
  background-color: rgba(236, 237, 241, 0.15);
}

.cancel {
  background-color: #fff;
  border: 2px solid #07dda2;
  color: #07dda2;
}

.cancel,
.confirm {
  padding: 16px 22px;
}

.confirm {
  background: #07dda1;
  background: -webkit-linear-gradient(right, #0ceb93, #02cfaf);
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(right, #0ceb93, #02cfaf);
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(right, #0ceb93, #02cfaf);
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(right, #0ceb93, #02cfaf);
  /* Standard syntax */
}

.btn-settings {
  float: right;
  color: #dddfe6;
  font-size: 25px;
  padding: 10px;
  text-align: center;
}

.field {
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 20px;
  position: relative;
}

.field a.external-link {
  color: #cfd1db;
  position: absolute;
  right: 15px;
  top: 50%;
}

input[type="checkbox"] {
  display: inline-block;
  width: auto;
}

input[type="url"] {
  padding-right: 40px;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.radios li {
  clear: both;
}

.radios li label.radio {
  display: inline-block;
  float: left;
}

.radios li label.radio input {
  display: inline-block;
  width: auto;
  margin-right: 5px;
}

.field-row.two-col .mdl-textfield {
  width: 42.5%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .field-row.two-col .mdl-textfield {
    width: 92%;
  }
}

.field-row.two-col .mdl-textfield:first-child {
  margin-right: 7%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .field-row.two-col .mdl-textfield:first-child {
    margin-right: 0;
  }
}

.field-row.two-col .mdl-textfield:after {
  right: -14%;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .field-row.two-col .mdl-textfield:after {
    right: -5%;
  }
}

form .btn {
  border: none;
}

.select-star-rating input {
  display: none;
}

.select-star-rating label {
  display: inline-block;
}

.select-star-rating label svg {
  height: 30px;
  width: 30px;
}

.select-star-rating label svg path {
  fill: #fff;
  stroke: #99a0b0;
}

.select-star-rating label.active svg path {
  fill: #ffd04e;
  stroke: #ffd04e;
}

.select-star-rating label:hover svg path {
  fill: #ffd04e;
  stroke: #ffd04e;
}

.select-star-rating input[type="checkbox"]:checked + label svg path {
  fill: #ffd04e;
}

.mdl-textfield {
  position: relative;
  font-size: 16px;
  display: inline-block;
  box-sizing: border-box;
  width: 92%;
  max-width: 92%;
  margin: 0;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 1px;
  padding: 20px 0;
  transition: all 0.3s ease;
}

.mdl-textfield .mdl-button {
  position: absolute;
  bottom: 20px;
}

.mdl-textfield.white input,
.mdl-textfield.white textarea {
  color: #fff !important;
  border-bottom: 2px solid #fff;
}

.mdl-textfield.white select {
  color: #516166;
  border-bottom: 2px solid #fff;
}

.mdl-textfield.white label {
  color: #fff !important;
}

.mdl-textfield.white label:after {
  background-color: #fff !important;
}

.mdl-textfield:after {
  content: "\f00c";
  font-family: FontAwesome;
  font-size: 1.25em;
  position: absolute;
  bottom: 30px;
  right: -8%;
  opacity: 0;
  transition: all 0.6s ease;
  background: -webkit-linear-gradient(right, #02cfaf, #0ceb93);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 720px), (max-device-width: 720px) {
  .mdl-textfield:after {
    right: -5%;
  }
}

.mdl-textfield.is-valid:after {
  opacity: 1;
}

.mdl-textfield.is-valid.is-invalid:after {
  opacity: 0;
}

.mdl-textfield--align-right {
  text-align: right;
}

.mdl-textfield--full-width {
  width: 100%;
}

.mdl-textfield--expandable {
  min-width: 6px;
  width: auto;
  min-height: 6px;
}

.mdl-textfield--expandable .mdl-button--icon {
  top: 16px;
}

.mdl-textfield__input {
  border: none;
  border-bottom: 2px solid #99a0b0;
  display: inline-block;
  font-size: 16px;
  font-family: "Montserrat", sans-serif;
  margin: 0;
  padding: 4px 0;
  width: 100%;
  background: none;
  text-align: left;
  color: #99a0b0;
}

.mdl-textfield__input[type="number"] {
  -moz-appearance: textfield;
}

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

.mdl-textfield.is-focused .mdl-textfield__input {
  outline: none;
}

.mdl-textfield.is-invalid .mdl-textfield__input {
  border-color: #99a0b0;
  box-shadow: none;
}

fieldset[disabled] .mdl-textfield .mdl-textfield__input,
.mdl-textfield.is-disabled .mdl-textfield__input {
  background-color: transparent;
  border-bottom: 1px dotted #ecedf1;
  color: #ecedf1;
}

.mdl-textfield textarea.mdl-textfield__input {
  display: block;
}

.mdl-textfield__label {
  bottom: 0;
  color: #99a0b0;
  font-size: 16px;
  left: 0;
  right: 0;
  opacity: 0.7;
  font-family: "Montserrat", sans-serif;
  pointer-events: none;
  position: absolute;
  display: block;
  top: 24px;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-align: left;
}

.mdl-textfield.is-dirty .mdl-textfield__label,
.mdl-textfield.has-placeholder .mdl-textfield__label {
  visibility: hidden;
}

.mdl-textfield--floating-label .mdl-textfield__label {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {
  transition: none;
}

fieldset[disabled] .mdl-textfield .mdl-textfield__label,
.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {
  color: #ecedf1;
}

.mdl-textfield--floating-label.is-focused .mdl-textfield__label,
.mdl-textfield--floating-label.is-dirty .mdl-textfield__label,
.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {
  color: #26b7f1;
  font-size: 14px;
  top: 2px;
  visibility: visible;
  opacity: 1;
}

.mdl-textfield--floating-label.is-focused
.mdl-textfield__expandable-holder
.mdl-textfield__label,
.mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label,
.mdl-textfield--floating-label.has-placeholder
.mdl-textfield__expandable-holder
.mdl-textfield__label {
  top: -18px;
}

.mdl-textfield--floating-label.is-invalid .mdl-textfield__label {
  color: #99a0b0;
  font-size: 14px;
}

.mdl-textfield__label:after {
  background-color: #26b7f1;
  bottom: 20px;
  content: "";
  height: 2px;
  left: 45%;
  position: absolute;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  visibility: hidden;
  width: 10px;
}

.mdl-textfield.is-focused .mdl-textfield__label:after {
  left: 0;
  visibility: visible;
  width: 100%;
}

.mdl-textfield.is-invalid .mdl-textfield__label:after {
  background-color: #99a0b0;
}

.mdl-textfield.is-focused .mdl-textfield__label.bbb__label:after{visibility: hidden}

.bbb-required-checkbox{text-align: left; margin: 20px 0}

.mdl-textfield__error {
  color: #99a0b0;
  position: absolute;
  font-size: 14px;
  margin-top: 3px;
  visibility: hidden;
  display: block;
}

.mdl-textfield.is-invalid .mdl-textfield__error {
  visibility: visible;
}

.mdl-textfield__expandable-holder {
  display: inline-block;
  position: relative;
  margin-left: 6px;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block;
  max-width: 0.1px;
}

.mdl-textfield.is-focused .mdl-textfield__expandable-holder,
.mdl-textfield.is-dirty .mdl-textfield__expandable-holder {
  max-width: 600px;
}

.mdl-textfield__expandable-holder .mdl-textfield__label:after {
  bottom: 0;
}

.card {
  display: inline-block;
  margin: 11.4px;
  margin: 8px;
  width: 80px;
  height: 32px;
  text-align: center;
  position: relative;
}

.card input[type="checkbox"] {
  display: none;
}

.card input[type="checkbox"]:checked ~ .toggle {
  background: #07dda2;
  left: 41.6px;
  transition: 0.5s;
}

.card input[type="checkbox"]:checked ~ .toggle:after {
  content: "On";
  font-family: "Montserrat", sans-serif;
  position: absolute;
  top: 13px;
  left: 0;
  right: 0;
  margin: auto;
  color: #fff;
}

.card input[type="checkbox"]:checked ~ .switch {
  background: #05936c;
  transition: 0.5s;
}

.card .switch {
  display: block;
  width: 80px;
  height: 32px;
  background: #99a0b0;
  border-radius: 16px;
  position: absolute;
  top: 0;
  transition: 0.5s;
}

.card .toggle {
  height: 44.8px;
  width: 44.8px;
  border-radius: 50%;
  background: white;
  position: absolute;
  top: -6.4px;
  left: -6.4px;
  box-shadow: 0 1.6px 3.2px rgba(0, 0, 0, 0.4);
  transition: 0.5s;
}

.card .toggle:after {
  content: "Off";
  font-family: "Montserrat", sans-serif;
  position: absolute;
  top: 13px;
  left: 0;
  right: 0;
  margin: auto;
  color: #99a0b0;
}


main.page section.centered-content div.wrap img{
	max-width: 100%;
	height: auto;
	width: auto;

}

#additional-comments-display{
	margin-bottom: 20px;}
#additional-comments-display textarea{
	display: none}
#additional-comments-display label{
	font-size: .875em}

.extra-review-request{
	display: none;
	text-align: center;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding-top: 100px;
	z-index: 1000;
	width: 100%;
	background-color: #3c78d8;
	color: #fff;}

.extra-review-request p{
	color: #fff;
	font-weight: bold;}

.extra-review-request a{
	background-color: #cfe2f3;
	color: #000}

.extra-review-request span.no-thanks{
	text-decoration: underline;
	display: block;
	margin: 20px 0;
	font-size: .875em;
	cursor: pointer;}

.extra-review-request span.no-thanks:hover{
	text-decoration: none}

.extra-review-request .large{
	font-size: 1.2em}

#review-facebook.extra-review-request{
	background-color: #0b5394}

#review-yelp.extra-review-request{
	background-color: #c41200}

.page-template-template-client-form-php #header{
	display: none}

.hidden-logo-btn{
  display: none;}

.single-location #upload_logo{
	margin-top: 20px;
	width: auto;}

.activate .column:last-child #fullpage .section #edit-info {
  background-color: #99a0b0;
  opacity: 0.7;
  float: right;
  clear: both;
  margin-top: 10px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.5px;
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -khtml-user-select: none;
  /* Konqueror HTML */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
}

.activate .column:last-child #fullpage .section #edit-info:hover{
  opacity: 1;
}

#edit_location_details input[readonly]:not([readonly=false]), #edit_location_details select[readonly]:not([readonly=false]){opacity: .7}

#login-form .login-remember, #login-form .login-forgot {float: none;}
#login-form input[type="text"], #login-form input[type="email"], #login-form input[type="password"] {padding: 10px; width: 100%; border: 1px solid #DDD; font-size: 0.9rem;}
#login-form input[type="text"]:focus, #login-form input[type="email"]:focus, #login-form input[type="password"]:focus {outline: none; border-color: #268FD5;}


.pricing-area-wrap{position: absolute; top: -10%; left: -150%; height: 80vh; padding: 20px 0; border-radius: 5px; width: 250%; background-color: #fff;-webkit-box-shadow: 0px 0px 20px 12px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 0px 20px 12px rgba(0,0,0,0.3);
box-shadow: 0px 0px 20px 12px rgba(0,0,0,0.3);}
.pricing-area-overflow{height: 100%; overflow-y: scroll; width: 100%;}
.bbb-pricing-area{width: 40%; float: left; margin: 0 0 0 10%; padding: 0 5%; border-bottom: 0 !important}
.bbb-pricing-area:nth-child(2){border-left: 1px solid #7dd1f3; margin: 0}
.bbb-pricing-area h2{font-size: 1.5em; font-weight: 700; text-align: center}
.bbb-pricing-area ul.plain{margin-bottom: 20px;}
.bbb-pricing-area ul.plain li{border-top: 1px solid #7dd1f3; color: #26b7f1; padding: 10px 0; text-align: center;}
.bbb-pricing-area ul.plain li:last-child{border-bottom:  1px solid #7dd1f3;}
.bbb-pricing-area ul.plain li strong{font-weight: 700;  font-size: 1em}
.bbb-pricing-area img.bubble{margin: 0 auto; display: block; width: 75px; margin-bottom: 20px;}
.bbb-pricing-area .cost{font-weight: bold; color: #26b7f1; font-size: 2em; font-family: 'Roboto'; text-align: center;}
.bbb-pricing-area img.sites{margin: 0 auto; display: block; margin-top: 20px; margin-bottom: 20px; height: 50px; width: auto;}
.bbb-pricing-area .btn-wrap{text-align: center; margin: 20px 0}

@media screen and (max-width: 720px){
  .pricing-area-wrap{height: auto; position: relative; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; width: auto; left: auto}
  .pricing-area-overflow{overflow: hidden}
}

@media screen and (max-width: 640px){
  .bbb-pricing-area, .bbb-pricing-area:nth-child(2){width: 100%; float: none; margin: 0; padding: 0; border: 0}
}

.summary .feedback-container{width: 40%; margin: 0}
.summary .feedback-container .star-rating svg{max-width: 50px !important;}
.summary .stats-container{width: 60%; margin: 0}

.ie-gradient-fix{
	background: url('images/blue-gradient-fallback.jpg') top center repeat-y;
}

.loading-message{display: none; margin-top: 25px;}
.loading-message .progress{width: 100%; height: 10px; background-color: grey; border-radius: 1000px;}
.loading-message .progress .cover{width: 0%; height: 100%; border-radius: 1000px; transition: width 0.3s ease; background: #07dda1; background: -webkit-linear-gradient(right, #0ceb93, #02cfaf); background: -o-linear-gradient(right, #0ceb93, #02cfaf); background: -moz-linear-gradient(right, #0ceb93, #02cfaf); background: linear-gradient(right, #0ceb93, #02cfaf);}
#bulk-errors{margin: 10px; color: red; font-weight: bold;}


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwidmVuZG9yL19ub3JtYWxpemUuc2NzcyIsInZlbmRvci9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwidmVuZG9yL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJ2ZW5kb3Ivbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsImluaXQvX3ZhcnMuc2NzcyIsImluaXQvX21peGlucy5zY3NzIiwiaW5pdC9fYmFzZS5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiX2hlYWRlci5zY3NzIiwiX2hlcm8uc2NzcyIsIl9jb250ZW50LnNjc3MiLCJfZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19tb2R1bGVzLnNjc3MiLCJtb2R1bGVzL19ncmlkLnNjc3MiLCJtb2R1bGVzL19idXR0b24uc2NzcyIsIm1vZHVsZXMvX2Zvcm0uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblRoZW1lIE5hbWU6IE1heEZlZWRiYWNrXG5UaGVtZSBVUkk6IGh0dHA6Ly93d3cuY29tcGFueTExOS5jb21cbkRlc2NyaXB0aW9uOlxuQXV0aG9yOiBDb21wYW55IDExOVxuQXV0aG9yIFVSSTogaHR0cDovL3d3dy5jb21wYW55MTE5LmNvbVxuVmVyc2lvbjogMS4wXG5UZW1wbGF0ZTogY28xMTktYm9pbGVycGxhdGVcbiovXG5cbkBpbXBvcnQgXCJ2ZW5kb3Ivbm9ybWFsaXplXCI7XG5cbkBpbXBvcnQgXCJpbml0L3ZhcnNcIjtcbkBpbXBvcnQgXCJpbml0L21peGluc1wiO1xuQGltcG9ydCBcImluaXQvYmFzZVwiO1xuXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XG5AaW1wb3J0IFwiaGVhZGVyXCI7XG5AaW1wb3J0IFwiaGVyb1wiO1xuQGltcG9ydCBcImNvbnRlbnRcIjtcbkBpbXBvcnQgXCJmb290ZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21vZHVsZXNcIjtcblxuQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU1vbnRzZXJyYXQ6NDAwLFxuICAgIDcwMHxSb2JvdG86NDAwLFxuICAgIDcwMCc7XG4iLCJAaW1wb3J0ICdub3JtYWxpemUvdmFyaWFibGVzJztcbkBpbXBvcnQgJ25vcm1hbGl6ZS92ZXJ0aWNhbC1yaHl0aG0nO1xuQGltcG9ydCAnbm9ybWFsaXplL25vcm1hbGl6ZS1taXhpbic7XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIEBpZiAkYmFzZS1mb250LWZhbWlseSB7XG4gICAgICAgIC8qIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gKi9cbiAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgICAgfVxuICAgICAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4IG9yICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogaWYoJGJhc2UtZm9udC1mYW1pbHksICRiYXNlLWZvbnQtZmFtaWx5LCBzYW5zLXNlcmlmKTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFJlc3BvbnNpdmUgQnJlYWtwb2ludHMgKi9cbiRzY3JlZW46IDExNzBweDtcbiR0YWJsZXQ6IDEwMjRweDtcbiRwaG9uZTogNzIwcHg7XG4kc21hbGxwaG9uZTogNTAwcHg7XG5cbi8qIFZhcmlhYmxlcyAqL1xuJGdyaWRfcGFkZGluZzogNSU7XG5cbi8qIEZvbnRzICovXG5cbiRzZXJpZjogJ1JvYm90bycsIHNlcmlmO1xuJHNhbnMgOidNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcblxuLyogQ29sb3JzICovXG5cbi8qIE1heCBGZWVkYmFjayAqL1xuJGRhcmtncmF5OiAjNTE2MTY2O1xuJGxpdGVncmV5OiAjZWNlZGYxO1xuJHllbGxvdzogI2ZmZDA0ZTtcbiR0ZXh0OiAjN2Y4ODljO1xuJGdyYXk6ICM5OWEwYjA7XG4kYmx1ZTogIzJmM2EzZTtcbiRsaXRlYmx1ZTogIzI2YjdmMTtcbiRsaXRlYmx1ZS1ob3ZlcjogIzA1OTZlNTtcbiRwdXJwbGU6ICM4ODY2Y2Q7XG4kZ3JlZW46ICMwN2RkYTI7XG5cbi8qIEdyYWRpZW50cyAqL1xuJGdyYWRpZW50LWJsdWUtZGFyazogcmdiYSg0LDE0NiwyMjgsMC45Nik7XG4kZ3JhZGllbnQtYmx1ZS1saWdodDogcmdiYSgyNCwyMDYsMjUxLDAuOTYpO1xuJGdyYWRpZW50LWdyZWVuLWRhcms6ICMwY2ViOTM7XG4kZ3JhZGllbnQtZ3JlZW4tbGlnaHQ6ICMwMmNmYWY7XG5cbi8qIFJQTSAqL1xuJHJlZDogI0RGNDAzRDtcbi8qJGxpdGVibHVlOiAkcmVkO1xuJGdyZWVuOiAkZGFya2dyYXk7XG4kbGl0ZWJsdWUtaG92ZXI6IGRhcmtlbigkcmVkLDEwKTtcbiRncmFkaWVudC1yZWQtZGFyazogJHJlZDtcbiRncmFkaWVudC1yZWQtbGlnaHQ6ICRyZWQ7XG4kZ3JhZGllbnQtYmx1ZS1kYXJrOiAkZ3JhZGllbnQtcmVkLWRhcms7XG4kZ3JhZGllbnQtYmx1ZS1saWdodDogJGdyYWRpZW50LXJlZC1saWdodDtcbiRncmFkaWVudC1ncmVlbi1kYXJrOiAkZ3JhZGllbnQtcmVkLWRhcms7XG4kZ3JhZGllbnQtZ3JlZW4tbGlnaHQ6ICRncmFkaWVudC1yZWQtbGlnaHQ7Ki9cblxuXG4vKiBBTklNQVRJT04gKi9cbiRhbmltYXRpb24tY3VydmUtZmFzdC1vdXQtc2xvdy1pbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSAhZGVmYXVsdDtcbiRhbmltYXRpb24tY3VydmUtbGluZWFyLW91dC1zbG93LWluOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSAhZGVmYXVsdDtcbiRhbmltYXRpb24tY3VydmUtZmFzdC1vdXQtbGluZWFyLWluOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKSAhZGVmYXVsdDtcbiRhbmltYXRpb24tY3VydmUtZGVmYXVsdDogJGFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluICFkZWZhdWx0OyIsIi8qIE1peGlucyAqL1xuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1mYXN0LW91dC1zbG93LWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhbmltYXRpb24tY3VydmUtZmFzdC1vdXQtc2xvdy1pbjtcbn1cblxuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1saW5lYXItb3V0LXNsb3ctaW4oJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFuaW1hdGlvbi1jdXJ2ZS1saW5lYXItb3V0LXNsb3ctaW47XG59XG5cbkBtaXhpbiBtYXRlcmlhbC1hbmltYXRpb24tZmFzdC1vdXQtbGluZWFyLWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhbmltYXRpb24tY3VydmUtZmFzdC1vdXQtbGluZWFyLWluO1xufVxuXG5AbWl4aW4gbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0O1xufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuXHQmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cblx0JjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG5cdCY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuXHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5AbWl4aW4gdXNlcl9zZWxlY3QoJG5vbmUpe1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogJG5vbmU7IC8qIGlPUyBTYWZhcmkgKi9cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiAkbm9uZTsgLyogU2FmYXJpICovXG4gICAgIC1raHRtbC11c2VyLXNlbGVjdDogJG5vbmU7IC8qIEtvbnF1ZXJvciBIVE1MICovXG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogJG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiAkbm9uZTsgLyogSW50ZXJuZXQgRXhwbG9yZXIvRWRnZSAqL1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6ICRub25lOyBcbn1cblxuQG1peGluIHBvaW50ZXJfYXJyb3coJHBvcywkc2l6ZSwkY29sb3IsJHJhZGl1czowKSB7XG5cdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzKTtcblx0XG5cdCY6YWZ0ZXIge1xuXHRcdGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHdpZHRoOiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRib3JkZXItY29sb3I6IHJnYmEoJGNvbG9yLCAwKTtcblx0XHRib3JkZXItd2lkdGg6ICRzaXplO1xuXHRcdFxuXHRcdEBpZiAkcG9zID09ICdyaWdodCcge1xuXHRcdFx0bGVmdDogMTAwJTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcblx0XHRcdG1hcmdpbi10b3A6IC0oJHNpemUpO1xuXHRcdH0gQGVsc2UgaWYgJHBvcyA9PSAnbGVmdCcge1xuXHRcdFx0cmlnaHQ6IDEwMCU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuXHRcdFx0bWFyZ2luLXRvcDogLSgkc2l6ZSk7XG5cdFx0fSBAZWxzZSBpZiAkcG9zID09ICdib3R0b20nIHtcblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtKCRzaXplKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdGJvdHRvbTogMTAwJTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtKCRzaXplKTtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHBvaW50ZXJfYXJyb3dfYm9yZGVyKCRwb3MsJHNpemUsJGNvbG9yLCRib3JkZXJfc2l6ZSwkYm9yZGVyX2NvbG9yLCRyYWRpdXM6MCkge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3I7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXJfY29sb3I7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cyk7XG5cdFxuXHQmOmFmdGVyLCAmOmJlZm9yZSB7XG5cdFx0Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0d2lkdGg6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cdFxuXHQmOmFmdGVyIHtcblx0XHRib3JkZXItY29sb3I6IHJnYmEoJGNvbG9yLCAwKTtcblx0XHRib3JkZXItd2lkdGg6ICRzaXplO1xuXHR9XG5cdFxuXHQmOmJlZm9yZSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKCRib3JkZXJfY29sb3IsIDApO1xuXHRcdGJvcmRlci13aWR0aDogJHNpemUgKyAkYm9yZGVyX3NpemU7XG5cdH1cblx0XG5cdEBpZiAkcG9zID09ICdyaWdodCcge1xuXHRcdCY6YWZ0ZXIsICY6YmVmb3JlIHtcblx0XHRcdGxlZnQ6IDEwMCU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHR9XG5cdFx0XG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuXHRcdFx0bWFyZ2luLXRvcDogLSgkc2l6ZSk7XG5cdFx0fVxuXHRcdFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAkYm9yZGVyX2NvbG9yO1xuXHRcdFx0bWFyZ2luLXRvcDogLSgkc2l6ZSArICRib3JkZXJfc2l6ZSk7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRwb3MgPT0gJ2xlZnQnIHtcblx0XHQmOmFmdGVyLCAmOmJlZm9yZSB7XG5cdFx0XHRyaWdodDogMTAwJTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdH1cblx0XHRcblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuXHRcdFx0bWFyZ2luLXRvcDogLSgkc2l6ZSk7XG5cdFx0fVxuXHRcdFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogJGJvcmRlcl9jb2xvcjtcblx0XHRcdG1hcmdpbi10b3A6IC0oJHNpemUgKyAkYm9yZGVyX3NpemUpO1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkcG9zID09ICdib3R0b20nIHtcblx0XHQmOmFmdGVyLCAmOmJlZm9yZSB7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0fVxuXHRcdFxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0oJHNpemUpO1xuXHRcdH1cblx0XHRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyX2NvbG9yO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0oJHNpemUgKyAkYm9yZGVyX3NpemUpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0JjphZnRlciwgJjpiZWZvcmUge1xuXHRcdFx0Ym90dG9tOiAxMDAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdH1cblx0XHRcblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtKCRzaXplKTtcblx0XHR9XG5cdFx0XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcl9jb2xvcjtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtKCRzaXplICsgJGJvcmRlcl9zaXplKTtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHJlc3BvbmRfdG8oJGJyZWFrKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrKSwgKG1heC1kZXZpY2Utd2lkdGg6ICRicmVhaykge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5AbWl4aW4gcmVzcG9uZF90b19oZWlnaHQoJGJyZWFrKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6ICRicmVhayksIChtYXgtZGV2aWNlLWhlaWdodDogJGJyZWFrKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIi8qIEJhc2UgU3R5bGVzICovXG5cbmh0bWwsXG5ib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAqIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgfVxuXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUge1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgJi5wbGFpbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgICYuYWxpZ25sZWZ0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hbGlnbnJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hbGlnbmxlZnQsXG4gICAgICAgICYuYWxpZ25yaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndyYXAge1xuICAgICAgICBtYXgtd2lkdGg6ICRzY3JlZW47XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogOTIlO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgIH1cblxuICAgIC5mdWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdyb3VwLFxuICAgIC53cmFwIHtcbiAgICAgICAgem9vbTogMTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogQm9keSAqL1xuXG5ib2R5IHsgXG4gICAgXG4gICAgaW1nLCBpZnJhbWV7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgcCwgdWwsIG9se1xuICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICAgICAgZm9udC1zaXplOiAuODllbTtcbiAgICB9XG4gICAgXG4gICAgYXtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICBcbiAgICBoMSxoMixoMyxoNCxoNXtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRkYXJrZ3JheTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG4gICAgXG4gICAgJi5iYWNrLWVuZHtcbiAgICAgICAgI3BhZ2Utd3JhcHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMDBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHNjcmVlbil7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgaDJ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIH1cblxuICAgICAgICBoM3tcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDR7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IC45NWVtO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJi5saWdodGVue1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjN2Y4ODljO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDV7XG4gICAgICAgICAgICBtYXJnaW46IC4yNWVtIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IC45NWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGxpdGVncmV5LDE1KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGgxe1xuICAgICAgICBmb250LXNpemU6IDMuMmVtOyBcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjFlbTtcbiAgICAgICAgfVxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIFxuICAgICAgICAmLmJsdWUtZ3JhZGllbnR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwkZ3JhZGllbnQtYmx1ZS1saWdodCwgJGdyYWRpZW50LWJsdWUtZGFyayk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmLmdyZWVuLWdyYWRpZW50e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsICRncmFkaWVudC1ncmVlbi1kYXJrLCAkZ3JhZGllbnQtZ3JlZW4tbGlnaHQpO1xuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaDJ7XG4gICAgICAgIG1hcmdpbjogLjI1ZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAyLjNlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjllbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoM3tcbiAgICAgICAgbWFyZ2luOiAuMmVtIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgfVxuICAgIFxuICAgIGhncm91cHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAuaGlkZGVue1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC53aGl0ZS1jb250YWluZXJ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGxpdGVncmV5O1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDEwJTtcbiAgICAgICAgLypib3gtc2hhZG93OiA1cHggM3B4IDEwcHggI2VjZWRmMTsqL1xuICAgIH1cbiAgICBcbiAgICAuc3Rhci1yYXRpbmd7XG4gICAgICAgIFxuICAgICAgICBzdmd7XG4gICAgICAgICAgICBwYXRoe1xuICAgICAgICAgICAgICAgIGZpbGw6ICR5ZWxsb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYubWVkaXVte1xuICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDsgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuc21hbGx7XG4gICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4OyB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZmVhdGhlcmxpZ2h0e1xuICAgICAgICB6LWluZGV4OiAxMDAwMDtcbiAgICAgICAgXG4gICAgICAgIC5mZWF0aGVybGlnaHQtY2xvc2UtaWNvbntcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mZWF0aGVybGlnaHQtY29udGVudCwgLnN3ZWV0LWFsZXJ0e1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSl7IHBhZGRpbmc6IDIwcHggMzBweCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAkaWNvbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAkcGFkZGluZzogMTVweDtcblxuICAgICAgICAgICAgZm9ybXsgd2lkdGg6IDQ1MHB4OyBtYXgtd2lkdGg6IDk1JTsgbWluLXdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICBoMXtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsJGdyYWRpZW50LWJsdWUtbGlnaHQsICRncmFkaWVudC1ibHVlLWRhcmspO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDN7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJvd3tcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG5cbiAgICAgICAgICAgICAgICAuZmllbGQtcm93e1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICYudHdvLWNvbHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWVsZHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5idG57XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5mdWxse1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkyJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWZyYW1le1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHRhYmxldCl7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5tb2RhbHtcbiAgICAgICAgLm1vZGFsLWNvbnRlbnR7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDgwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKXsgcGFkZGluZzogMjBweCAzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIGJ1dHRvbi5jbG9zZXtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogNHB4O1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubW9kYWwtaGVhZGVye1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGgxe1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwkZ3JhZGllbnQtYmx1ZS1saWdodCwgJGdyYWRpZW50LWJsdWUtZGFyayk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubW9kYWwtYm9keXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5idG4uZnVsbHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmJhY2stZW5ke1xuICAgICAgICAuc2lkZWJhci1tZW51e1xuICAgICAgICAgICAgLmNsb3NlLWljb257XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRzY3JlZW4pe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLyogRmxvYXQgKi9cbiAgICAuaHZyLWZsb2F0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuICAgIC5odnItZmxvYXQ6aG92ZXIsIC5odnItZmxvYXQ6Zm9jdXMsIC5odnItZmxvYXQ6YWN0aXZlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgIH1cbiAgICBcbiAgICAuY2hlY2tib3h7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBtYXJnaW46IDM1cHggYXV0bztcblxuICAgICAgICAucm91bmRlZE9uZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2NlZDBkMztcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjY2VkMGQzO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIHB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnR5cGVkLWN1cnNvcntcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogYmxpbmsgMC43cyBpbmZpbml0ZTtcbiAgICAgICAgLW1vei1hbmltYXRpb246IGJsaW5rIDAuN3MgaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbjogYmxpbmsgMC43cyBpbmZpbml0ZTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBibGlua3tcbiAgICAgICAgMCUgeyBvcGFjaXR5OjE7IH1cbiAgICAgICAgNTAlIHsgb3BhY2l0eTowOyB9XG4gICAgICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cbiAgICB9XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5re1xuICAgICAgICAwJSB7IG9wYWNpdHk6MTsgfVxuICAgICAgICA1MCUgeyBvcGFjaXR5OjA7IH1cbiAgICAgICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxuICAgIH1cbiAgICBALW1vei1rZXlmcmFtZXMgYmxpbmt7XG4gICAgICAgIDAlIHsgb3BhY2l0eToxOyB9XG4gICAgICAgIDUwJSB7IG9wYWNpdHk6MDsgfVxuICAgICAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG4gICAgfVxuICAgIFxuICAgIC5ibHVlLXRvLXdoaXRlLWdyYWRpZW50e1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JhZGllbnQtYmx1ZS1kYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZ3JhZGllbnQtYmx1ZS1kYXJrIDAlLCAkZ3JhZGllbnQtYmx1ZS1saWdodCA1MCUsIHJnYmEoMjUyLDI0OSwyNDksMC45NikgNTAlLCAjZmZmIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsICRncmFkaWVudC1ibHVlLWRhcmspLCBjb2xvci1zdG9wKDUwJSwgJGdyYWRpZW50LWJsdWUtbGlnaHQpLCBjb2xvci1zdG9wKDUwJSwgI2ZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2ZmZikpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZ3JhZGllbnQtYmx1ZS1kYXJrIDAlLCAkZ3JhZGllbnQtYmx1ZS1saWdodCA1MCUsICNmZmYgNTAlLCAjZmZmIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJGdyYWRpZW50LWJsdWUtZGFyayAwJSwgJGdyYWRpZW50LWJsdWUtbGlnaHQgNTAlLCAjZmZmIDUwJSwgI2ZmZiAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZ3JhZGllbnQtYmx1ZS1kYXJrIDAlLCAkZ3JhZGllbnQtYmx1ZS1saWdodCA1MCUsICNmZmYgNTAlLCAjZmZmIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRncmFkaWVudC1ibHVlLWRhcmsgMCUsICRncmFkaWVudC1ibHVlLWxpZ2h0IDUwJSwgI2ZmZiA1MCUsICNmZmYgMTAwJSk7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY29sdW1ue1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmFkaWVudC1ibHVlLWRhcms7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5ibHVlLWdyYWRpZW50e1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JhZGllbnQtYmx1ZS1kYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgJGdyYWRpZW50LWJsdWUtbGlnaHQsICRncmFkaWVudC1ibHVlLWRhcmspOyAvKiBGb3IgU2FmYXJpIDUuMSB0byA2LjAgKi9cbiAgICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCAkZ3JhZGllbnQtYmx1ZS1saWdodCwgJGdyYWRpZW50LWJsdWUtZGFyayk7IC8qIEZvciBPcGVyYSAxMS4xIHRvIDEyLjAgKi9cbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQocmlnaHQsICRncmFkaWVudC1ibHVlLWxpZ2h0LCAkZ3JhZGllbnQtYmx1ZS1kYXJrKTsgLyogRm9yIEZpcmVmb3ggMy42IHRvIDE1ICovXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyaWdodCwgJGdyYWRpZW50LWJsdWUtbGlnaHQsICRncmFkaWVudC1ibHVlLWRhcmspOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbiAgICB9XG4gICAgXG4gICAgLmdyZWVuLWdyYWRpZW50e1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDdkZGExO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgJGdyYWRpZW50LWdyZWVuLWRhcmssICRncmFkaWVudC1ncmVlbi1saWdodCk7IC8qIEZvciBTYWZhcmkgNS4xIHRvIDYuMCAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsICRncmFkaWVudC1ncmVlbi1kYXJrLCAkZ3JhZGllbnQtZ3JlZW4tbGlnaHQpOyAvKiBGb3IgT3BlcmEgMTEuMSB0byAxMi4wICovXG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHJpZ2h0LCAkZ3JhZGllbnQtZ3JlZW4tZGFyaywgJGdyYWRpZW50LWdyZWVuLWxpZ2h0KTsgLyogRm9yIEZpcmVmb3ggMy42IHRvIDE1ICovXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyaWdodCwgJGdyYWRpZW50LWdyZWVuLWRhcmssICRncmFkaWVudC1ncmVlbi1saWdodCk7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuICAgIH1cbiAgICBcbiAgICAvKiBUb29sdGlwIHRleHQgKi9cbiAgICAudG9vbHRpcHRleHQge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgXG4gICAgICAgIHB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRncmF5IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogU2hvdyB0aGUgdG9vbHRpcCB0ZXh0IHdoZW4geW91IG1vdXNlIG92ZXIgdGhlIHRvb2x0aXAgY29udGFpbmVyICovXG4gICAgLnRvb2x0aXA6aG92ZXIgKyAudG9vbHRpcHRleHQge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbn0iLCIvKiBIZWFkZXIgKi9cblxuaGVhZGVyLm1haW4geyBcbiAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgXG4gICAgJi5iYWNrLWVuZHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbGl0ZWdyZXk7XG4gICAgICAgIGJveC1zaGFkb3c6IDVweCAzcHggMTBweCAkbGl0ZWdyZXk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgLm1lbnUtdG9nZ2xlLWJ1dHRvbntcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHNjcmVlbil7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5sb2dve1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDsgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKXtcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgZmxvYXQ6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC51c2VyLXByb2ZpbGV7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmxvZ3tcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG5cbiAgICAgICAgICAgICAgICAudGVhbS1pY29ue1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTRlNGU0O1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNjtcblxuICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiNjMmM0YzY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGV4dHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNjMmM0YzY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgLnRlYW0taWNvbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzNkM2E0MjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IzNkM2E0MjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmZyb250LWVuZHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggMDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjVzIGVhc2UgYWxsO1xuICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgIFxuICAgICAgICAmLmZpeGVkeyBcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHVsLm1lbnV7XG5cbiAgICAgICAgICAgICAgICBsaXtcblxuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGxpdGVibHVlLDIwKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaXRlYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaXRlYmx1ZS1ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgIC51c2VyLXByb2ZpbGV7XG5cbiAgICAgICAgICAgICAgICAubG9ne1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkbGl0ZWJsdWUsMjApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLnRlYW0taWNvbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGxpZ2h0ZW4oJGxpdGVibHVlLDIwKSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogbGlnaHRlbigkbGl0ZWJsdWUsMjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGxpdGVibHVlLDIwKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnRleHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkbGl0ZWJsdWUsMjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpdGVibHVlLWhvdmVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLnRlYW0taWNvbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRsaXRlYmx1ZS1ob3ZlciAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGxpdGVibHVlLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGl0ZWJsdWUtaG92ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAudGV4dHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGl0ZWJsdWUtaG92ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmxvZ297XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5tZW51LXRvZ2dsZS1idXR0b257XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCR0YWJsZXQpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGl0ZWJsdWU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwOyB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHVsLm1lbnV7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA2MCU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC01JTsgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSl7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KXtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRsaXRlYmx1ZSwyMCk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW17XG4gICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpdGVibHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpdGVibHVlLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICYudXNlci1wcm9maWxle1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHRhYmxldCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubG9ne1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkbGl0ZWJsdWUsMjApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAudGVhbS1pY29ue1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGxpZ2h0ZW4oJGxpdGVibHVlLDIwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogbGlnaHRlbigkbGl0ZWJsdWUsMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkbGl0ZWJsdWUsMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnRleHR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGxpdGVibHVlLDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpdGVibHVlLWhvdmVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAudGVhbS1pY29ue1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRsaXRlYmx1ZS1ob3ZlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGxpdGVibHVlLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpdGVibHVlLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnRleHR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaXRlYmx1ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5zdWItcGFnZXtcbiAgICAgICAgICAgIHVsLm1lbnV7XG5cbiAgICAgICAgICAgICAgICBsaXtcblxuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLnVzZXItcHJvZmlsZXtcblxuICAgICAgICAgICAgICAgIC5sb2d7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43KTtcblxuICAgICAgICAgICAgICAgICAgICAudGVhbS1pY29ue1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiByZ2JhKDI1NSwyNTUsMjU1LC43KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC50ZXh0e1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICAgICAgICAgLnRlYW0taWNvbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnRleHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5tZW51LXRvZ2dsZS1idXR0b257XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICRsaXRlYmx1ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIFxuICAgICAgICAgICAgLmZhe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnVzZXItcHJvZmlsZXtcbiAgICAgICAgXG4gICAgICAgIC5sb2d7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIC50ZWFtLWljb257XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMS43ZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjdlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogLjhlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAuOGVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAudGV4dHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaWRlYmFyLW1lbnV7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyByaWdodDogMTAwJTs7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBcbiAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRzY3JlZW4pe1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgIC5tZW51e1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wYW55LWxvZ297XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuYWN0aXZle1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgLm1lbnV7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wYW55LWxvZ297XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBcbiAgICBcbiAgICAuY2xvc2UtaWNvbntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIFxuICAgICAgICBwYXRoe1xuICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuY29tcGFueS1sb2dve1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICB9XG4gICAgXG4gICAgaDJ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICBoNHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgIFxuICAgIC5tZW51e1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiA3NHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAuMXMgZWFzZSBhbGw7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBcbiAgICAgICAgbGl7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZSBhbGw7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGRpdntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGRpdntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycyBlYXNlIGFsbDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHBhdGh7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjJzIGVhc2UgYWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNSU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZGl2e1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgjZmZmLC42KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHJnYmEoI2ZmZiwuNik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmxvY2F0aW9uLWljb24sICYucHJvZmlsZS1pY29uLCAmLnF1ZXN0aW9uLWljb257XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAycyBlYXNlIGFsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYucHJvZmlsZS1zdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmLnN0YXItaWNvbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDJzIGVhc2UgYWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDsgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5iYWNrZ3JvdW5kLW1hc2t7XG4gICAgJi5hY3RpdmV7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBsZWZ0OiAwOyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICB9XG59IiwiLyogSGVyby5zY3NzICovXG5cbi5oZXJvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgXG5cdCYuaG9tZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcbiAgICAgICAgICAgICAgICAuaGVyby1jb250ZW50e1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLnNsaWRlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3MDBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHBob25lKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjUlOyBsZWZ0OiAyMCU7IHJpZ2h0OiAyMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgxe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10bygkdGFibGV0KXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10bygkcGhvbmUpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDVweCA5cHggNzBweCAkZGFya2dyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjAlOyBsZWZ0OiA1JTsgcmlnaHQ6IDUlOyBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5wYWdle1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogNzVweDtcbiAgICAgICAgXG4gICAgICAgIGhncm91cHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHBob25lKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGgxe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC4yZW07XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10bygkdGFibGV0KXtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjVlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10bygkcGhvbmUpe1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogQ29udGVudCAqL1xuXG4uY29udGVudCB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgIGZsb2F0OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICYuY2FsbG91dCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpdGVncmV5O1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3R0b206IGluaXRpYWw7XG4gICAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHNtYWxscGhvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZ29vZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jZW50ZXJlZC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjYjBiNWJmO1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGV4dC13aGl0ZSB7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaWNvbnMge1xuICAgICAgICAgICAgICAgIC5ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50ZXh0LWdyYXkge1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya2dyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaWNvbnMge1xuICAgICAgICAgICAgICAgIC5ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRkYXJrZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnRleHQtYmx1ZSB7XG4gICAgICAgICAgICAuaWNvbnMge1xuICAgICAgICAgICAgICAgIC5ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRsaXRlYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnRleHQtZ3JlZW4ge1xuICAgICAgICAgICAgLmljb25zIHtcbiAgICAgICAgICAgICAgICAuZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB1cmwoI2dyZWVuLWdyYWRpZW50LXN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNWVtIDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmdyb3VwIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNSU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZWFzZSAwLjNzIGFsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOHZoO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDh2aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZSBhbGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZSBhbGw7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg5ZW07XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogNDB2aDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjVlbSBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhhbGZfY29udGVudF9pbWFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi50ZXh0LXdoaXRlIHtcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYXJhZ3JhcGgge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi53aGl0ZS1ncmFkaWVudCB7XG4gICAgICAgICAgICAucGFyYWdyYXBoIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAud3JhcCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDcuNSU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucGFyYWdyYXBoIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEuNWVtIGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDQ3LjUlO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMjAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5jZW50ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5hcnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAmLmhvbWUge1xuICAgICAgICAud3JhcCB7XG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBhZ2Uge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDRlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjNlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGFsZl9jb250ZW50X2ltYWdlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODUlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYudG9wIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4NSU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBpbml0aWFsO1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRldmljZXMge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuXG4gICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0xMHZoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpdGVibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWdpc3Rlci1kZXZpY2Uge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjUlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAubWRsLXRleHRmaWVsZCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLmJhY2stZW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICAgIGZsb2F0OiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5tYW5hZ2UtbG9jYXRpb24ge1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2NhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRsaXRlZ3JleTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nb29nbGUtbWFwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbXBhbnktbG9nbyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sb2NhdGlvbi1mb290ZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya2dyYXk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN0YXItcmF0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5ldy1sb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgLmdvb2dsZS1tYXAsXG4gICAgICAgICAgICAgICAgLmxvY2F0aW9uLWZvb3RlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWRkLWxvY2F0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubG9jYXRpb24ge1xuICAgICAgICAubG9jYXRpb24taGVhZGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjI1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ncm91cCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEyNXB4O1xuXG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdGFyLXJhdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtMS0yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGl0ZWdyZXk7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXQtbG9jYXRpb24ge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1hbmFnZS1yZXZpZXdzIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVjZW50LXJldmlld3Mge1xuICAgICAgICAgICAgICAgIC5yZWNlbnQtcmV2aWV3IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGl0ZWdyZXk7XG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnN0YXItcmF0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZGFzaGJvYXJkIHtcbiAgICAgICAgaGdyb3VwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdW1tYXJ5IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYXRlc3QtZmVlZGJhY2sge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3RhbC1yZXZpZXdzIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA3NXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5vZG9tZXRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVxdWVzdC1jYWxsb3V0IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmV2aWV3cyB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDUlO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlY2VudC1yZXZpZXcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaXRlZ3JleTtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN0YXItcmF0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sb2NhdGlvbi1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya2dyYXk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcblxuICAgICAgICAgICAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGl0ZWdyZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTNweCBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWRkLWxvY2F0aW9uIHtcbiAgICAgICAgLmNvbHVtbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuXG4gICAgICAgICAgICAmLm5hcnJvdyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnByb2ZpbGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLnRhYmJlZC1zZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJpbGxpbmctbG9jYXRpb25zIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgLmJpbGxpbmctbG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5iaWxsaW5nLWN5Y2xlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvcm1bbmFtZT1cIm1hbmFnZV9wcm9maWxlX2Zvcm1cIl0ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGFiYmVkLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbGl0ZWdyZXk7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN1c3RvbWVycyB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRhVGFibGVzX3dyYXBwZXIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0O1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xuXG4gICAgICAgICAgICB0YWJsZSxcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpdGVibHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aCxcbiAgICAgICAgICAgIC5kYXRhVGFibGVzX2luZm8ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya2dyYXkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGF0YVRhYmxlc19sZW5ndGgge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYWdpbmF0ZV9idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICByaWdodCxcbiAgICAgICAgICAgICAgICAgICAgJGdyYWRpZW50LWJsdWUtbGlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRncmFkaWVudC1ibHVlLWRhcmtcbiAgICAgICAgICAgICAgICApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGxpdGVibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZWxsaXBzaXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGl0ZWJsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saWdodGJveC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29tcGFueS1sb2dvIHtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYm9yZGVyOiA0cHggc29saWQgJGxpdGVncmV5O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgei1pbmRleDogMTA7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5sb2dvIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5MCUgYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVwbG9hZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNHB4O1xuICAgICAgICBsZWZ0OiAtNHB4O1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRsaXRlZ3JleTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLnVwbG9hZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyZWFkY3J1bWJzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGl0ZWdyZXk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgYS5icmVhZGNydW1iLWxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkZGFya2dyYXk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICAuY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiAkZGFya2dyYXk7XG4gICAgfVxuXG4gICAgLmRpdmlkZXIge1xuICAgICAgICBtYXJnaW46IDAgMjBweDtcbiAgICB9XG59XG5cbiNpbi1zdG9yZS1mb3JtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTAwcHg7XG4gICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuXG4gICAgLmluLXN0b3JlLWhlYWRlciB7XG4gICAgICAgIGhncm91cCB7XG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDVlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4zZW07XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW4tc3RvcmUtZm9ybSB7XG4gICAgICAgIC5zdGVwLTIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2MHB4IDA7XG5cbiAgICAgICAgICAgICAgICAuc2VsZWN0LXN0YXItcmF0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3RlcC0zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkZGFya2dyYXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jbG9naW4tZm9ybSB7XG4gICAgLmxvZ2luLXJlbWVtYmVyLFxuICAgIC5sb2dpbi1mb3Jnb3Qge1xuICAgICAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmxvZ2luLWZvcmdvdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAuZm9yZ290LXBhc3N3b3JkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0yMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNCU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbn1cblxuI3JwbS12aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5iYWNrZ3JvdW5kLWxvZ28ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL3d3dy5tYXhmZWVkYmFjay5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvcmFkYWlyX2xvZ29fdmlkZW9fb3ZlcmxheS5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDcsIDU4LCA2MiwgMC42NSk7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cblxuICAgIHZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn1cblxuI2xvZ2luLXBhZ2Uge1xuICAgIC5pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiNnZm9ybV84IHtcbiAgICB1bCB7XG4gICAgICAgIG1hcmlnbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAjZmllbGRfOF8xLFxuICAgICAgICAjZmllbGRfOF8yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY3RpdmF0ZSB7XG4gICAgaDIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIGxlZnQsXG4gICAgICAgICAgICAkZ3JhZGllbnQtZ3JlZW4tbGlnaHQsXG4gICAgICAgICAgICAkZ3JhZGllbnQtZ3JlZW4tZGFya1xuICAgICAgICApO1xuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC52aWRlby1zY3JlZW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTB2aDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBlYXNlIGFsbDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbWFyZ2luOiAwLjc1ZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52aWRlby1zZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjQwcHg7XG5cbiAgICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwdmg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgIGhlaWdodDogNzB2aCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDExMiUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxlZnQ6IC02JTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTEyLjV2aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZ2aDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzdmg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHlwaW5nLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTJ2aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwdmg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMjAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDM1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwdmg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1JTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNSU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2dyZXNzLXRleHQsXG4gICAgICAgICAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNXZoO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC43KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC42KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc3RlcC0yIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zdGVwLTMge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnN0ZXAtNCB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc3RlcC01IHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zdGVwLTYge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICNmdWxscGFnZSB7XG4gICAgICAgICAgICAgICAgLnNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI3NlbGVjdF9udW1iZXJfb2ZfbG9jYXRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLm51bWJlcl9vZl9sb2NhdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZSBhbGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JhZGllbnQtZ3JlZW4tbGlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmFkaWVudC1ncmVlbi1kYXJrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JhZGllbnQtZ3JlZW4tbGlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmFkaWVudC1ncmVlbi1kYXJrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsgLyogRm9yIE9wZXJhIDExLjEgdG8gMTIuMCAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYWRpZW50LWdyZWVuLWxpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JhZGllbnQtZ3JlZW4tZGFya1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7IC8qIEZvciBGaXJlZm94IDMuNiB0byAxNSAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmFkaWVudC1ncmVlbi1saWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYWRpZW50LWdyZWVuLWRhcmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W25hbWU9XCJudW1iZXJfb2ZfbG9jYXRpb25zXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVzZXJfc2VsZWN0KG5vbmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjaW5jb3JyZWN0LWluZm8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5idG4tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJldmlvdXMtc3RlcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVzZXJfc2VsZWN0KG5vbmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGl0ZWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJiN1cGxvYWRfbG9nb19oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAjdXBsb2FkX2xvZ28ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5yZXZpZXctc2VydmljZS1idXR0b25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b24tcm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5sb2dvLWdvb2dsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMzI2OWU4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5sb2dvLWZhY2Vib29rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICM0MjY3YjEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmxvZ28teWVscCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZDMyMzIzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDQwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNzUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAwLjNzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJ0bi1nb29nbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNjllODtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzMjY5ZTg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmxpbmstb2ZmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzMyNjllODtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYnRuLWZhY2Vib29rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjY3YjE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjNDI2N2IxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5rLW9mZiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICM0MjY3YjEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYnRuLXllbHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QzMjMyMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkMzIzMjM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmxpbmstb2ZmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZDMyMzIzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogI2QzMjMyMyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi50b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ1cmxcIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wcmljaW5nLWFyZWEge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWNlZGYwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDFlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpdGVibHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAucmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2FiYjFiZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5jaGVjayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTEwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmFkaWVudC1ncmVlbi1saWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmFkaWVudC1ncmVlbi1kYXJrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwNjdcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JhZGllbnQtZ3JlZW4tbGlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JhZGllbnQtZ3JlZW4tZGFya1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuc3BlY2lhbHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMi41ZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI3N1Ym1pdF9jcmVkaXRfY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FyZC1kaXNwbGF5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvX2hlaWdodCg2NTBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5jcmVkaXQtY2FyZC1jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGdyYXksIDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuZmluZS1wcmludCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkZ3JheSwgMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zcGxpdC1iZyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbHVtbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwdmg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG9faGVpZ2h0KDYwMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXZoO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsb2F0OiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDV2aCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZwLXNlY3Rpb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXRpYyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDM5dmg7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDI5dmg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50eXBpbmctc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLndoaXRlIHtcbiAgICAgICAgICAgIC50eXBpbmctc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICByZ2JhKDI0LCAyMDYsIDI1MSwgMC45NiksXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoNCwgMTQ2LCAyMjgsIDAuOTYpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHlwaW5nLXNlY3Rpb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAzN3ZoO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgICAgICAgICAgICAgdG9wOiA1dmg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50eXBlLWhlcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90b19oZWlnaHQoNjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjVlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuN2VtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZyb250LXBhZ2Uge1xuICAgIC5zZWN0aW9uIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgaGVpZ2h0OiA2OHZoO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXZoO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudHlwaW5nLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdGF0aWMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgLnN0YXRpYyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE3NXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHNtYWxscGhvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYud2hpdGUge1xuICAgICAgICAgICAgICAgIC50eXBpbmctc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJGxpdGVibHVlO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnR5cGUtaGVyZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpdGVibHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGV2aWNlcyB7XG4gICAgLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwdmggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMTIlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiAtNiU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTB2aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4jdmVyaWZ5LXllbHAtbGluayxcbiN2ZXJpZnktZmFjZWJvb2stbGluayB7XG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIC5idXR0b24tcm93IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuI2xvc3RwYXNzd29yZGZvcm0ge1xuICAgIHdpZHRoOiA5MiU7XG59XG4iLCIvKiBGb290ZXIgKi9cblxuZm9vdGVyLm1haW4geyBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYTQyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzU2NTk1ZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIFxuICAgICYuYmFjay1lbmR7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgXG4gICAgICAgIC5jb250ZW50LWJhcntcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKXtcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgZmxvYXQ6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmNvbnRlbnQtYmFye1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIGRpdntcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxOS41JTtcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM1NjU5NWY7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jb3B5cmlnaHR7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNGU1NTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgY29sb3I6ICM3MDcyNzc7XG4gICAgfVxufSIsIi8qIE1vZHVsZXMgKi9cblxuQGltcG9ydCAnZ3JpZCc7XG5AaW1wb3J0ICdidXR0b24nO1xuQGltcG9ydCAnZm9ybSc7IiwiJG5vX29mX2NvbHVtbnM6IDEyO1xuJHNpbmdsZV9jb2w6ICgxMDAgLSAoJGdyaWRfcGFkZGluZyAqICgkbm9fb2ZfY29sdW1ucyAtIDEpKSkgLyAkbm9fb2ZfY29sdW1ucztcblxuQG1peGluIGdldF9jb2x1bW5fd2lkdGgoJG46IDEpIHtcblx0d2lkdGg6ICgkc2luZ2xlX2NvbCAqICRuKSArICgkZ3JpZF9wYWRkaW5nICogKCRuIC0gMSkpO1xufVxuXG5bY2xhc3MqPSdjb2wtJ10ge1xuXHRmbG9hdDogbGVmdDtcblx0XG5cdCYgKyBbY2xhc3MqPSdjb2wtJ10ge1xuXHRcdG1hcmdpbi1sZWZ0OiAkZ3JpZF9wYWRkaW5nO1xuXHR9XG5cdFxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpLCAobWF4LWRldmljZS13aWR0aDogJHBob25lKSB7XG5cdFx0ZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcblx0XHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLmNvbC0zLTQge1xuXHRAaW5jbHVkZSBnZXRfY29sdW1uX3dpZHRoKDkpO1xufVxuXG4uY29sLTItMyB7XG5cdEBpbmNsdWRlIGdldF9jb2x1bW5fd2lkdGgoOCk7XG59XG5cbi5jb2wtMS0yIHtcblx0QGluY2x1ZGUgZ2V0X2NvbHVtbl93aWR0aCg2KTtcbn1cblxuLmNvbC0xLTMge1xuXHRAaW5jbHVkZSBnZXRfY29sdW1uX3dpZHRoKDQpO1xufVxuXG4uY29sLTEtNCB7XG5cdEBpbmNsdWRlIGdldF9jb2x1bW5fd2lkdGgoMyk7XG59XG5cbi5yb3d7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn0iLCJpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmJ0bixcbi5jb25maXJtLFxuLmNhbmNlbCxcbi5wYWdpbmF0ZV9idXR0b24ge1xuICAgIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgICBtaW4td2lkdGg6IDIyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICYuZ3JlZW4tZ3JhZGllbnQsXG4gICAgJi5ibHVlLWdyYWRpZW50IHtcbiAgICAgICAgcGFkZGluZzogMTZweCAyMnB4O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyYXksIDAuMik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZ3JlZW4taW52ZXJzZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmVlbjtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAmLndoaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgY29sb3I6ICRsaXRlYmx1ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXRlZ3JleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudHJhbnNwYXJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGxpdGVncmV5LCAwLjE1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJsdWUsIDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYmx1ZS1pbnZlcnNlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsdWUsIDAuMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5wdXJwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHB1cnBsZSwgMTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5wdXJwbGUtaW52ZXJzZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHB1cnBsZSwgMC4xNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5hdnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2dyYXk7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYXJrZ3JheTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGRhcmtncmF5LCAxNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxpdGVibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpdGVibHVlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGl0ZWJsdWU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGl0ZWdyZXksIDAuMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ncmF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsaXRlZ3JleSwgMTUpO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBkYXJrZW4oJGxpdGVncmV5LCAxNSk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsaXRlZ3JleSwgMjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ncmF5LWludmVyc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmF5O1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGxpdGVncmV5LCAwLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5yZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHJlZDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRsaXRlZ3JleSwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucmVkLWludmVyc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHJlZDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRsaXRlZ3JleSwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDkyJTtcbiAgICB9XG5cbiAgICAmLmhhbGYge1xuICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDVweDtcbiAgICAgICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kX3RvKCRwaG9uZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICArIC5oYWxmIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDY1cHg7XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgICYubG9hZGluZyB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXI6IDhweCBzb2xpZCAjZjNmM2YzOyAvKiBMaWdodCBncmV5ICovXG4gICAgICAgICAgICBib3JkZXItdG9wOiA4cHggc29saWQgJGxpdGVibHVlOyAvKiBCbHVlICovXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgQGtleWZyYW1lcyBzcGluIHtcbiAgICAgICAgICAgIDAlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3Bpbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cywgd2lkdGggMC4yNXM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cywgd2lkdGggMC4yNXM7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMsIHdpZHRoIDAuMjVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzLCB3aWR0aCAwLjI1cztcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGN1cnNvcjogcHJvZ3Jlc3M7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgLnNwaW5uZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSAuc3Bpbm5lciB7XG4gICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICB9XG5cbiAgICAmLnRvZ2dsZS1vZmYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogJGxpdGVncmV5O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGl0ZWdyZXk7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGl0ZWdyZXksIDAuMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50b2dnbGUtb24ge1xuICAgIH1cbn1cblxuLmNhbmNlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JlZW47XG4gICAgY29sb3I6ICRncmVlbjtcbn1cblxuLmNhbmNlbCxcbi5jb25maXJtIHtcbiAgICBwYWRkaW5nOiAxNnB4IDIycHg7XG59XG5cbi5jb25maXJtIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDdkZGExO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICAgICByaWdodCxcbiAgICAgICAgJGdyYWRpZW50LWdyZWVuLWRhcmssXG4gICAgICAgICRncmFkaWVudC1ncmVlbi1saWdodFxuICAgICk7IC8qIEZvciBTYWZhcmkgNS4xIHRvIDYuMCAqL1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgcmlnaHQsXG4gICAgICAgICRncmFkaWVudC1ncmVlbi1kYXJrLFxuICAgICAgICAkZ3JhZGllbnQtZ3JlZW4tbGlnaHRcbiAgICApOyAvKiBGb3IgT3BlcmEgMTEuMSB0byAxMi4wICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHJpZ2h0LFxuICAgICAgICAkZ3JhZGllbnQtZ3JlZW4tZGFyayxcbiAgICAgICAgJGdyYWRpZW50LWdyZWVuLWxpZ2h0XG4gICAgKTsgLyogRm9yIEZpcmVmb3ggMy42IHRvIDE1ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICByaWdodCxcbiAgICAgICAgJGdyYWRpZW50LWdyZWVuLWRhcmssXG4gICAgICAgICRncmFkaWVudC1ncmVlbi1saWdodFxuICAgICk7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xufVxuXG4uYnRuLXNldHRpbmdzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6IGRhcmtlbigkbGl0ZWdyZXksIDUpO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi5maWVsZCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhLmV4dGVybmFsLWxpbmsge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRsaXRlZ3JleSwgMTApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICB9XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG5pbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuXG5zZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLnJhZGlvcyB7XG4gICAgbGkge1xuICAgICAgICBjbGVhcjogYm90aDtcblxuICAgICAgICBsYWJlbC5yYWRpbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpZWxkLXJvdyB7XG4gICAgJi50d28tY29sIHtcbiAgICAgICAgLm1kbC10ZXh0ZmllbGQge1xuICAgICAgICAgICAgd2lkdGg6IDQyLjUlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTIlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDclO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTQlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmRfdG8oJHBob25lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mb3JtIHtcbiAgICAuYnRuIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbn1cblxuLnNlbGVjdC1zdGFyLXJhdGluZyB7XG4gICAgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJHllbGxvdztcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJHllbGxvdztcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHllbGxvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJGlucHV0LXRleHQtZm9udC1zaXplOiAxNnB4O1xuJGlucHV0LXRleHQtY29sb3I6ICRncmF5O1xuJGlucHV0LXRleHQtYnV0dG9uLXNpemU6IDZweDtcbiRpbnB1dC10ZXh0LXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGlucHV0LXRleHQtcGFkZGluZzogNHB4ICFkZWZhdWx0O1xuJGlucHV0LXRleHQtdmVydGljYWwtc3BhY2luZzogMjBweCAhZGVmYXVsdDtcblxuJGlucHV0LXRleHQtZmxvYXRpbmctbGFiZWwtZm9udHNpemU6IDE0cHggIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dC1leHBhbmRhYmxlLWljb24tdG9wOiAxNnB4ICFkZWZhdWx0O1xuJGlucHV0LXRleHQtYm90dG9tLWJvcmRlci1jb2xvcjogJGdyYXk7XG5cbiRpbnB1dC10ZXh0LWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGlucHV0LXRleHQtbGFiZWwtY29sb3I6ICRncmF5ICFkZWZhdWx0O1xuXG4kaW5wdXQtdGV4dC1oaWdobGlnaHQtY29sb3I6ICRsaXRlYmx1ZSAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0LWRpc2FibGVkLWNvbG9yOiAkbGl0ZWdyZXkgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGl0ZWdyZXkgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dC1lcnJvci1jb2xvcjogJGdyYXkgIWRlZmF1bHQ7XG5cbi5tZGwtdGV4dGZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAkaW5wdXQtdGV4dC1mb250LXNpemU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDkyJTtcbiAgICBtYXgtd2lkdGg6IDkyJTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgcGFkZGluZzogJGlucHV0LXRleHQtdmVydGljYWwtc3BhY2luZyAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAvLyBBbGlnbiBidXR0b25zLCBpZiB1c2VkLlxuICAgICYgLm1kbC1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogJGlucHV0LXRleHQtdmVydGljYWwtc3BhY2luZztcbiAgICB9XG5cbiAgICAmLndoaXRlIHtcbiAgICAgICAgaW5wdXQsXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtncmF5O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgICByaWdodDogLTglO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIHJpZ2h0LFxuICAgICAgICAgICAgJGdyYWRpZW50LWdyZWVuLWxpZ2h0LFxuICAgICAgICAgICAgJGdyYWRpZW50LWdyZWVuLWRhcmtcbiAgICAgICAgKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZF90bygkcGhvbmUpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE9wdGlvbmFsIGNsYXNzIHRvIGFsaWduIHJpZ2h0LlxuLm1kbC10ZXh0ZmllbGQtLWFsaWduLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLy8gT3B0aW9uYWwgY2xhc3MgdG8gZGlzcGxheSBhdCBmdWxsIHdpZHRoLlxuLm1kbC10ZXh0ZmllbGQtLWZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBPcHRpb25hbCBjbGFzcyB0byBtYWtlIHRoZSB0ZXh0IGZpZWxkIGV4cGFuZGFibGUuXG4ubWRsLXRleHRmaWVsZC0tZXhwYW5kYWJsZSB7XG4gICAgbWluLXdpZHRoOiAkaW5wdXQtdGV4dC1idXR0b24tc2l6ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtdGV4dC1idXR0b24tc2l6ZTtcblxuICAgIC8vIEFsaWduIGljb24gYnV0dG9uXG4gICAgLm1kbC1idXR0b24tLWljb24ge1xuICAgICAgICB0b3A6ICRpbnB1dC10ZXh0LWV4cGFuZGFibGUtaWNvbi10b3A7XG4gICAgfVxufVxuXG4vLyBTdHlsaW5nIGZvciB0aGUgaW5wdXQgZWxlbWVudC5cbi5tZGwtdGV4dGZpZWxkX19pbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkaW5wdXQtdGV4dC1ib3R0b20tYm9yZGVyLWNvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6ICRpbnB1dC10ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRpbnB1dC10ZXh0LXBhZGRpbmcgMDtcbiAgICB3aWR0aDogJGlucHV0LXRleHQtd2lkdGg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAkaW5wdXQtdGV4dC1jb2xvcjtcblxuICAgICZbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIH1cblxuICAgICZbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAmW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAubWRsLXRleHRmaWVsZC5pcy1mb2N1c2VkICYge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5tZGwtdGV4dGZpZWxkLmlzLWludmFsaWQgJiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LXRleHQtZXJyb3ItY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtdGV4dGZpZWxkICYsXG4gICAgLm1kbC10ZXh0ZmllbGQuaXMtZGlzYWJsZWQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRpbnB1dC10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBjb2xvcjogJGlucHV0LXRleHQtZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICB9XG59XG5cbi5tZGwtdGV4dGZpZWxkIHRleHRhcmVhLm1kbC10ZXh0ZmllbGRfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gU3R5bGluZyBmb3IgdGhlIGxhYmVsIC8gZmxvYXRpbmcgbGFiZWwuXG4ubWRsLXRleHRmaWVsZF9fbGFiZWwge1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogJGlucHV0LXRleHQtbGFiZWwtY29sb3I7XG4gICAgZm9udC1zaXplOiAkaW5wdXQtdGV4dC1mb250LXNpemU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6ICgkaW5wdXQtdGV4dC1wYWRkaW5nICsgJGlucHV0LXRleHQtdmVydGljYWwtc3BhY2luZyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAubWRsLXRleHRmaWVsZC5pcy1kaXJ0eSAmLFxuICAgIC5tZGwtdGV4dGZpZWxkLmhhcy1wbGFjZWhvbGRlciAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC8vIEZsb2F0aW5nIExhYmVsXG4gICAgLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsICYge1xuICAgICAgICBAaW5jbHVkZSBtYXRlcmlhbC1hbmltYXRpb24tZGVmYXVsdCgpO1xuICAgIH1cblxuICAgIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5oYXMtcGxhY2Vob2xkZXIgJiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtdGV4dGZpZWxkICYsXG4gICAgLm1kbC10ZXh0ZmllbGQuaXMtZGlzYWJsZWQuaXMtZGlzYWJsZWQgJiB7XG4gICAgICAgIGNvbG9yOiAkaW5wdXQtdGV4dC1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgIH1cblxuICAgIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1mb2N1c2VkICYsXG4gICAgLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsLmlzLWRpcnR5ICYsXG4gICAgLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsLmhhcy1wbGFjZWhvbGRlciAmIHtcbiAgICAgICAgY29sb3I6ICRpbnB1dC10ZXh0LWhpZ2hsaWdodC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkaW5wdXQtdGV4dC1mbG9hdGluZy1sYWJlbC1mb250c2l6ZTtcbiAgICAgICAgdG9wOiAkaW5wdXQtdGV4dC12ZXJ0aWNhbC1zcGFjaW5nIC0gKCRpbnB1dC10ZXh0LWZsb2F0aW5nLWxhYmVsLWZvbnRzaXplICtcbiAgICAgICAgICAgICAgICAgICAgJGlucHV0LXRleHQtcGFkZGluZyk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsLmlzLWZvY3VzZWRcbiAgICAgICAgLm1kbC10ZXh0ZmllbGRfX2V4cGFuZGFibGUtaG9sZGVyXG4gICAgICAgICYsXG4gICAgLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsLmlzLWRpcnR5IC5tZGwtdGV4dGZpZWxkX19leHBhbmRhYmxlLWhvbGRlciAmLFxuICAgIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5oYXMtcGxhY2Vob2xkZXJcbiAgICAgICAgLm1kbC10ZXh0ZmllbGRfX2V4cGFuZGFibGUtaG9sZGVyXG4gICAgICAgICYge1xuICAgICAgICB0b3A6IC0oJGlucHV0LXRleHQtZmxvYXRpbmctbGFiZWwtZm9udHNpemUgKyAkaW5wdXQtdGV4dC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwuaXMtaW52YWxpZCAmIHtcbiAgICAgICAgY29sb3I6ICRpbnB1dC10ZXh0LWVycm9yLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRpbnB1dC10ZXh0LWZsb2F0aW5nLWxhYmVsLWZvbnRzaXplO1xuICAgIH1cblxuICAgIC8vIFRoZSBhZnRlciBsYWJlbCBpcyB0aGUgY29sb3JlZCB1bmRlcmxpbmUgZm9yIHRoZSBUZXh0RmllbGQuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC10ZXh0LWhpZ2hsaWdodC1jb2xvcjtcbiAgICAgICAgYm90dG9tOiAkaW5wdXQtdGV4dC12ZXJ0aWNhbC1zcGFjaW5nO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgbGVmdDogNDUlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1hdGVyaWFsLWFuaW1hdGlvbi1kZWZhdWx0KCk7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgfVxuXG4gICAgLm1kbC10ZXh0ZmllbGQuaXMtZm9jdXNlZCAmOmFmdGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1kbC10ZXh0ZmllbGQuaXMtaW52YWxpZCAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LXRleHQtZXJyb3ItY29sb3I7XG4gICAgfVxufVxuXG4vLyBUZXh0RmllbGQgRXJyb3IuXG4ubWRsLXRleHRmaWVsZF9fZXJyb3Ige1xuICAgIGNvbG9yOiAkaW5wdXQtdGV4dC1lcnJvci1jb2xvcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiAkaW5wdXQtdGV4dC1mbG9hdGluZy1sYWJlbC1mb250c2l6ZTtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLm1kbC10ZXh0ZmllbGQuaXMtaW52YWxpZCAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG59XG5cbi8vIEV4cGFuZGFibGUgSG9sZGVyLlxuLm1kbC10ZXh0ZmllbGRfX2V4cGFuZGFibGUtaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAkaW5wdXQtdGV4dC1idXR0b24tc2l6ZTtcblxuICAgIEBpbmNsdWRlIG1hdGVyaWFsLWFuaW1hdGlvbi1kZWZhdWx0KCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLy8gU2FmYXJpIChwb3NzaWJseSBvdGhlcnMpIG5lZWQgdG8gYmUgY29udmluY2VkIHRoYXQgdGhpcyBmaWVsZCBpcyBhY3R1YWxseVxuICAgIC8vIHZpc2libGUsIG90aGVyd2lzZSBpdCBjYW5ub3QgYmUgdGFiYmVkIHRvIG5vciBmb2N1c2VkIHZpYSBhIDxsYWJlbD4uXG4gICAgLy8gVE9ETzogSW4gc29tZSBjYXNlcyAoUmV0aW5hIGRpc3BsYXlzKSwgdGhpcyBpcyBiaWcgZW5vdWdoIHRvIHJlbmRlciB0aGVcbiAgICAvLyBpbm5lciBlbGVtZW50IDooXG4gICAgbWF4LXdpZHRoOiAwLjFweDtcblxuICAgIC5tZGwtdGV4dGZpZWxkLmlzLWZvY3VzZWQgJixcbiAgICAubWRsLXRleHRmaWVsZC5pcy1kaXJ0eSAmIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhbiB1bmZvcnR1bmF0ZSBoYWNrLiBBbmltYXRpbmcgYmV0d2VlbiB3aWR0aHMgaW4gcGVyY2VudCAoJSlcbiAgICAgICAgLy8gaW4gbWFueSBicm93c2VycyAoQ2hyb21lLCBGaXJlZm94KSBvbmx5IGFuaW1hdGVzIHRoZSBpbm5lciB2aXN1YWwgc3R5bGVcbiAgICAgICAgLy8gb2YgdGhlIGlucHV0IC0gdGhlIG91dGVyIGJvdW5kaW5nIGJveCBzdGlsbCAnanVtcHMnLlxuICAgICAgICAvLyBUaHVzIGFzc3VtZSBhIHNlbnNpYmxlIG1heGltdW0sIGFuZCBhbmltYXRlIHRvL2Zyb20gdGhhdCB2YWx1ZS5cbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICB9XG4gICAgLm1kbC10ZXh0ZmllbGRfX2xhYmVsOmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLy8gT25lIHZhcmlhYmxlIHRvIHJ1bGUgdGhlbSBhbGwgOilcblxuLy8gQWxsIGRpbWVudGlvbnMgYXJlIGJhc2VkIG9uIHRoaXMgb25lIHZhcmlhYmxlOyBDaGFuZ2UgaXQncyB2YWx1ZSBhbmQgc2VlIGV2ZXJ5dGhpbm1nIGVsc2UgY2hhbmdlIGFjY29yZGluZ2x5LlxuXG4kd2lkdGg6IDgwcHg7IC8vIENoYW5nZSBNZVxuJGhlaWdodDogJHdpZHRoIC8gMi41O1xuXG4uY2FyZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogKCgkaGVpZ2h0ICogMS40IC0gJGhlaWdodCkgLyAyKSArIDVweDtcbiAgICBtYXJnaW46ICgoJGhlaWdodCAqIDEuNSAtICRoZWlnaHQpIC8gMik7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpjaGVja2VkIH4gLnRvZ2dsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgICAgICAgICBsZWZ0OiAoJHdpZHRoIC0gKCRoZWlnaHQgKiAxLjQgLSAkaGVpZ2h0KSAvIDIpIC0gJGhlaWdodDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXM7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIk9uXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkZ3JlZW4sIDE1KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRoZWlnaHQgLyAyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cztcbiAgICB9XG5cbiAgICAudG9nZ2xlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0ICogMS40O1xuICAgICAgICB3aWR0aDogJGhlaWdodCAqIDEuNDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6ICgkaGVpZ2h0ICogMS40IC0gJGhlaWdodCkgLyAtMjtcbiAgICAgICAgbGVmdDogKCRoZWlnaHQgKiAxLjQgLSAkaGVpZ2h0KSAvIC0yO1xuICAgICAgICBib3gtc2hhZG93OiAwICR3aWR0aCAvIDUwICR3aWR0aCAvIDI1IHJnYmEoYmxhY2ssIDAuNCk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNXM7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIk9mZlwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztFQVFFO0FLUkYsNEJBQTRCO0FB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 */
