#update-nag, .update-nag {display:none!important;}


.logo{
    color: #1A245B; text-decoration: none;
}

/* Hide pluginsclub-cpanel-header-title-nav on mobile and tablets */
@media (max-width: 1100px) {
  #pluginsclub-cpanel-header-title-nav{
    display: none!important;
  }
}


#wpcontent {
  padding-left: 0!important;
  position: relative;
}

.pluginsclub-cpanel-hide {
  display: none;
}

#pluginsclub-cpanel-admin-wrap .notice {
  margin: 20px;
}

.lity-image .lity-content img {
  margin: 0 auto;
  max-width: 1200px !important;
}
@media (max-width: 1200px) {
  .lity-image .lity-content img {
    width: 80% !important;
  }
}

#pluginsclub-cpanel-header {
  background: #FFFFFF;
}
#pluginsclub-cpanel-header-title {
  align-items: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  display: flex;
  font-size: 14px;
  margin: 0 0 20px 0;
  padding: 0 20px;
  min-height: 65px!important;
}
@media (max-width: 600px) {
  #pluginsclub-cpanel-header-title {
    display: block;
    padding-top: 20px;
  }
}
#pluginsclub-cpanel-header-title-image a {
  display: block;
  line-height: 0;
}
#pluginsclub-cpanel-header-title-image a:focus {
  box-shadow: none;
  outline: none;
}
#pluginsclub-cpanel-header-title-image-sep {
  display: flex;
  margin: 0 15px;
}
@media (max-width: 600px) {
  #pluginsclub-cpanel-header-title-image-sep {
    display: none;
  }
}
#pluginsclub-cpanel-header-title .pluginsclub-cpanel-header-nav-item {
  border-bottom: 4px solid #fff;
  margin-right: 20px;
}
#pluginsclub-cpanel-header-title .pluginsclub-cpanel-header-nav-item:hover {
  border-color: #a7aaad;
}
#pluginsclub-cpanel-header-title .pluginsclub-cpanel-header-nav-item.active {
  border-color: #01CA98;
}
#pluginsclub-cpanel-header-title .pluginsclub-cpanel-header-nav-item.active:hover {
  border-color: #01CA98;
}
#pluginsclub-cpanel-header-title .pluginsclub-cpanel-header-nav-item.active a.tab {
  color: #1A245B;
}
#pluginsclub-cpanel-header-title a.tab {
  box-shadow: none;
  color: rgba(26, 36, 91, 0.65);
  display: inline-block;
  font-weight: 600;
  margin-bottom: -4px;
  padding: 23px 0;
  text-decoration: none;
}
#pluginsclub-cpanel-header-title-nav {
  display: flex;
}
#pluginsclub-cpanel-header-title a.action {
  color: #fff;
  font-weight: 600;
  margin: 14px 0 14px 10px;
  line-height: 28px;
  min-height: 30px;
  vertical-align: top;
}
@media (max-width: 600px) {
  #pluginsclub-cpanel-header-title a.action {
    margin-left: 0;
  }
}
#pluginsclub-cpanel-header-title .page-title {
  background-color: #fff;
  display: inline-block;
  font-size: 23px;
  margin: 0;
  padding: 20px 20px 20px 0;
}

#pluginsclub-cpanel {
  font-size: 14px;
}
#pluginsclub-cpanel #setting-error-settings_updated {
  margin-top: 30px;
}
#pluginsclub-cpanel-form {
  margin-top: 30px;
  padding: 0 20px;
}
#pluginsclub-cpanel-form h2 {
  color: #1E2327;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}
#pluginsclub-cpanel-form p {
  color: #50575E;
  font-size: 14px;
  font-weight: 400;
}
#pluginsclub-cpanel-form p.submit {
  margin-bottom: 0;
  margin-top: 30px;
  padding-top: 0;
  padding-bottom: 20px;
}
#pluginsclub-cpanel-form p.submit #submit {
  border-width: 0;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  line-height: 16px;
  padding: 12px 16px;
}
#pluginsclub-cpanel-form table {
  margin-top: 17.5px;
}
#pluginsclub-cpanel-form table td {
  padding: 17.5px 10px;
}
@media (max-width: 768px) {
  #pluginsclub-cpanel-form table td {
    padding: 10px;
  }
}
#pluginsclub-cpanel-form table th {
  color: #32373B;
  font-size: 14px;
  font-weight: 600;
  vertical-align: middle;
}
@media (max-width: 768px) {
  #pluginsclub-cpanel-form table th {
    padding: 10px;
  }
}
#pluginsclub-cpanel-form table input {
  border-color: #8b8f93;
  line-height: 15px;
  padding: 8px 12px;
}
#pluginsclub-cpanel-form table input:focus {
  border-color: #1a245b;
  box-shadow: 0 0 0 1px #1a245b;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle {
  margin-top: 5px;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle label {
  display: inline-block;
  vertical-align: middle;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox] {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  top: auto;
  white-space: nowrap;
  width: 1px;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:checked + .pluginsclub-cpanel-form-setting-toggle-switch {
  background-color: #00A32A;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:checked + .pluginsclub-cpanel-form-setting-toggle-switch:before {
  -webkit-transform: translateX(16px);
  -ms-transform: translateX(16px);
  transform: translateX(16px);
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:disabled:checked:hover + .pluginsclub-cpanel-form-setting-toggle-switch, #pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:disabled:not(:checked):hover + .pluginsclub-cpanel-form-setting-toggle-switch {
  box-shadow: none;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:disabled:not(:checked):hover + .pluginsclub-cpanel-form-setting-toggle-switch {
  background-color: #ddd;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:disabled + .pluginsclub-cpanel-form-setting-toggle-switch {
  background-color: #ddd;
  cursor: default;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:disabled:checked + .pluginsclub-cpanel-form-setting-toggle-switch {
  background-color: #24ff5c;
  cursor: default;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:checked + .pluginsclub-cpanel-form-setting-toggle-switch + .pluginsclub-cpanel-form-setting-toggle-checked-label {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:checked + .pluginsclub-cpanel-form-setting-toggle-switch + .pluginsclub-cpanel-form-setting-toggle-checked-label + .pluginsclub-cpanel-form-setting-toggle-unchecked-label {
  display: none;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:disabled + .pluginsclub-cpanel-form-setting-toggle-switch + .pluginsclub-cpanel-form-setting-toggle-checked-label, #pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:disabled + .pluginsclub-cpanel-form-setting-toggle-switch + .pluginsclub-cpanel-form-setting-toggle-unchecked-label {
  color: #aaaaaa;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:checked:hover + .pluginsclub-cpanel-form-setting-toggle-switch, #pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:checked:focus + .pluginsclub-cpanel-form-setting-toggle-switch {
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #00A32A;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:not(:checked):hover + .pluginsclub-cpanel-form-setting-toggle-switch, #pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle input[type=checkbox]:not(:checked):focus + .pluginsclub-cpanel-form-setting-toggle-switch {
  background-color: #999;
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #999;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle .pluginsclub-cpanel-form-setting-toggle-unchecked-label,
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle .pluginsclub-cpanel-form-setting-toggle-checked-label {
  color: #50575E;
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle .pluginsclub-cpanel-form-setting-toggle-checked-label {
  display: none;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle .pluginsclub-cpanel-form-setting-toggle-switch {
  background-color: #ccc;
  border-radius: 15px;
  cursor: pointer;
  display: inline-block;
  height: 20px;
  margin: -1px 5px 0 0;
  position: relative;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  vertical-align: middle;
  width: 36px;
}
#pluginsclub-cpanel-form table .pluginsclub-cpanel-form-setting-field-checkbox-toggle .pluginsclub-cpanel-form-setting-toggle-switch:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  top: 2px;
  background-color: #fff;
  border-radius: 50%;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
#pluginsclub-cpanel-form table .desc {
  color: #50575E;
  font-style: italic;
  margin: 10px 0 0;
}
#pluginsclub-cpanel-form #submit {
  background-color: #1A245B;
}
#pluginsclub-cpanel-form #submit:focus, #pluginsclub-cpanel-form #submit:hover {
  background-color: #09123f;
}
#pluginsclub-cpanel-form #submit:focus {
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #09123f;
}
#pluginsclub-cpanel .pluginsclub-cpanel-sep {
  border-bottom: 1px solid #DCDCDE;
  margin-top: 30px;
}
#pluginsclub-cpanel .pluginsclub-cpanel-sep.pluginsclub-cpanel-sep-last {
  margin-top: 17.5px;
}

.pluginsclub-cpanel-product-education {
  background-color: #FFFFFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  border-radius: 6px;
  color: #50575E;
  font-size: 14px;
  font-weight: 400;
  margin: 10px 20px 20px;
  position: relative;
}
.pluginsclub-cpanel-product-education-dismiss {
  position: absolute;
  right: 15px;
  top: 15px;
}
.pluginsclub-cpanel-product-education-dismiss button {
  background: none;
  border: none;
  color: #A6A6A6;
  cursor: pointer;
  margin: 0;
  padding: 0;
}
.pluginsclub-cpanel-product-education-dismiss button .dashicons {
  color: #a7aaad;
  width: 16px;
  height: 16px;
  font-size: 16px;
}
.pluginsclub-cpanel-product-education-dismiss button .dashicons:hover {
  color: #d63638;
}
.pluginsclub-cpanel-product-education-content {
  padding: 20px;
}
.pluginsclub-cpanel-product-education-content a.pluginsclub-cpanel-product-education-btn {
  background: #056AAB;
  border-radius: 3px;
  color: #FFFFFF;
  display: inline-block;
  font-size: 14px;
  padding: 7px 10px;
  text-decoration: none;
}
.pluginsclub-cpanel-product-education-content a.pluginsclub-cpanel-product-education-btn:hover {
  color: #FFFFFF;
}
.pluginsclub-cpanel-product-education-content p {
  color: #646970;
  font-size: 14px;
  line-height: 20px;
  margin: 10px 0;
}
.pluginsclub-cpanel-product-education-content p a {
  color: #1A245B;
}
.pluginsclub-cpanel-product-education-content p a:hover, .pluginsclub-cpanel-product-education-content p a:focus {
  color: #056AAB;
}
.pluginsclub-cpanel-product-education-content p.pluginsclub-cpanel-product-education-bonus {
  margin-bottom: 20px;
}
.pluginsclub-cpanel-product-education-content p.pluginsclub-cpanel-product-education-bonus strong {
  font-weight: 600;
}
.pluginsclub-cpanel-product-education-content p.pluginsclub-cpanel-product-education-bonus span {
  color: #2E876A;
  font-weight: 600;
}
.pluginsclub-cpanel-product-education ul {
  color: #646970;
}
.pluginsclub-cpanel-product-education h3 {
  color: #3C434A;
  font-size: 18px;
  font-weight: 600;
  line-height: 22px;
  margin-bottom: 10px;
  margin-top: 0;
}
.pluginsclub-cpanel-product-education h3.pluginsclub-cpanel-product-education-feature-title {
  color: #50575E;
  font-size: 16px;
  margin-bottom: 16px;
}

#pluginsclub-cpanel-product-education-admin_settings_bottom {
  background: #FFFFFF url("../images/prod-edu/product-education-bg.png") no-repeat right bottom;
  background-size: 401px 119px;
  /* @2x Images (Pixel Ratio of 1.25+) */
}
@media only screen and (-o-min-device-pixel-ratio: 5/4), only screen and (-webkit-min-device-pixel-ratio: 1.25), only screen and (min-device-pixel-ratio: 1.25), only screen and (min-resolution: 1.25dppx) {
  #pluginsclub-cpanel-product-education-admin_settings_bottom {
    background-image: url("../images/prod-edu/product-education-bg@2x.png");
  }
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-images-row {
  border-bottom: 1px solid #E4E4E4;
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  margin: 20px 0 16px;
  padding-bottom: 20px;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-images-row-image {
  align-items: center;
  display: flex;
  flex-direction: column;
  max-width: 370px;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-images-row-image a {
  border: 5px solid #DCDCDE;
  border-radius: 4px;
  box-sizing: border-box;
  margin-bottom: 10px;
  position: relative;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-images-row-image a:hover::after {
  opacity: 1;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-images-row-image a::after {
  background: rgba(68, 68, 68, 0.15) url("../images/zoom.svg") no-repeat center;
  background-size: 50px;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: all 0.3s;
  width: 100%;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-images-row-image img {
  display: block;
  height: auto;
  width: 100%;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .benefits {
  display: flex;
  font-size: 13px;
  gap: 60px;
  justify-content: flex-start;
  line-height: 20px;
  margin-bottom: 16px;
  max-width: 1200px;
}
@media (max-width: 782px) {
  #pluginsclub-cpanel-product-education-admin_settings_bottom .benefits {
    display: block;
  }
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .benefits ul {
  margin: 0;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .benefits ul li {
  margin: 0;
  padding: 0 0 2px 16px;
  position: relative;
}
@media (max-width: 600px) {
  #pluginsclub-cpanel-product-education-admin_settings_bottom .benefits ul li {
    margin: 5px 0;
  }
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .benefits ul li::before {
  left: 0;
  position: absolute;
  top: -1px;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .benefits ul li.white-glove {
  font-weight: 600;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .benefits ul li.arrow-right {
  background: transparent url("../images/arrow-right-plain-icon.svg") no-repeat left 3px;
  background-size: 12px;
  padding-left: 18px;
  margin-left: 17px;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .benefits ul li.plus {
  background: transparent url("../images/plus-icon.svg") no-repeat left 3px;
  background-size: 12px;
  padding-left: 18px;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-btn {
  background: #1A245B;
  border: 0;
  border-radius: 4px;
  font-weight: 600;
  line-height: 16px;
  padding: 12px 16px;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-btn:hover, #pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-btn:focus {
  background-color: #056AAB;
}
#pluginsclub-cpanel-product-education-admin_settings_bottom .pluginsclub-cpanel-product-education-btn:focus {
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #056AAB;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9nZW5lcmFsLnNjc3MiLCJfaW5jbHVkZS1tZWRpYS5zY3NzIiwiX2hlYWRlci5zY3NzIiwiYWRtaW4tc2V0dGluZ3Muc2NzcyIsInByb2R1Y3QtZWR1Y2F0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDQztFQUNBOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDOzs7QUFJRDtFQUNDO0VBQ0E7O0FDOGhCQTtFRGhpQkQ7SUFLRTs7OztBRWxCRjtFQUVDOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRG1pQkQ7RUN6aUJBO0lBU0U7SUFDQTs7O0FBS0E7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTs7QUFJRjtFQUNDO0VBQ0E7O0FEOGdCSDtFQ2hoQkU7SUFLRTs7O0FBS0g7RUFDQztFQUNBOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQzs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7O0FBS0g7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDOztBQU1EO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRDBkRjtFQ2hlQztJQVNFOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzVGSDtFQUNDOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLSDtFQUVDOztBQUVBO0VBQ0M7O0FGNmZIO0VFOWZFO0lBSUU7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZpZkg7RUV0ZkU7SUFRRTs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7O0FBSUY7RUFDQzs7QUFFQTtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQUtEO0VBRUM7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FBR0Q7RUFFQzs7QUFNQTtFQUNDOztBQU9EO0VBQ0M7RUFDQTs7QUFLSDtBQUFBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtIO0VBQ0M7RUFDQTtFQUNBOztBQUlGO0VBQ0M7O0FBRUE7RUFDQzs7QUFHRDtFQUNDOztBQUtIO0VBQ0M7RUFDQTs7QUFFQTtFQUNDOzs7QUNuT0g7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFNSjtFQUNDOztBQUdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFLSDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBRUE7RUFDQzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQztFQUNBOztBQU1KO0VBQ0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7OztBQUtIO0VBQ0M7RUFDQTtBQUVBOztBQUNBO0VBTEQ7SUFVRTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBOztBQUtIO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FIZ1lEO0VHdllBO0lBVUU7OztBQUdEO0VBQ0M7O0FBRUE7RUFDQztFQUNBO0VBQ0E7O0FIb1hIO0VHdlhFO0lBTUU7OztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFNSjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0MiLCJmaWxlIjoiYWRtaW4tc2V0dGluZ3MuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29yZSBhZG1pbiBzdHlsZSBvdmVycmlkZXMuXG4jd3Bjb250ZW50IHtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNiLWNoYW5nZS1tYWlsLXNlbmRlci1oaWRlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuI2NiLWNoYW5nZS1tYWlsLXNlbmRlci1hZG1pbi13cmFwIC5ub3RpY2Uge1xuXHRtYXJnaW46IDIwcHg7XG59XG5cbi8vIExpdHkuXG4ubGl0eS1pbWFnZSAubGl0eS1jb250ZW50IGltZyB7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRtYXgtd2lkdGg6IDEyMDBweCAhaW1wb3J0YW50O1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPD1sZy1zY3JlZW5cIikge1xuXHRcdHdpZHRoOiA4MCUgIWltcG9ydGFudDtcblx0fVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuXG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcblx0QGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcblx0QHdhcm4gJG1lc3NhZ2U7XG5cdCRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG5cdEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG5cdEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG5cdCAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcblx0ICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcblx0ICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cblx0ICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3Jcblx0XHQgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuXHRcdEByZXR1cm4gZmFsc2U7XG5cdCAgfVxuXHR9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcblx0ICBAcmV0dXJuIGZhbHNlO1xuXHR9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcblx0QGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG5cdCAgQHJldHVybiAkb3BlcmF0b3I7XG5cdH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuXHQkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG5cdCR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuXHQkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG5cdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cblx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2Vcblx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG5cdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG5cdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cblx0JF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuXHQkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcblx0JHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG5cdEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuXHRAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuXHQkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuXHRAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuXHQkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG5cdCR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG5cdCRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cblx0QGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuXHQgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG5cdH1cblxuXHRAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuXHQgICRkaWdpdHM6IDE7XG5cdH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcblx0ICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcblx0fSBAZWxzZSB7XG5cdCAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuXHQgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG5cdH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcblx0JF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuXHQgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG5cdEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcblx0QG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuXHQgIC8vIFJlY3Vyc2l2ZSBjYWxsXG5cdCAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdCAgfVxuXHR9XG4gIH1cbn1cbiIsIiNjYi1jaGFuZ2UtbWFpbC1zZW5kZXIge1xuXG4mLWhlYWRlciB7XG5cblx0YmFja2dyb3VuZDogI0ZGRkZGRjtcblxuXHQmLXRpdGxlIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdG1hcmdpbjogMCAwIDIwcHggMDtcblx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9cGhvbmVcIikge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0XHR9XG5cblx0XHQmLWltYWdlIHtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMDtcblxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji1zZXAge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRtYXJnaW46IDAgMTVweDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIjw9cGhvbmVcIikge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY2ItY2hhbmdlLW1haWwtc2VuZGVyLWhlYWRlci1uYXYtaXRlbSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZmZjtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI2E3YWFhZDtcblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICMwMUNBOTg7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjMDFDQTk4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YS50YWIge1xuXHRcdFx0XHRcdGNvbG9yOiAjMUEyNDVCO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YS50YWIge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGNvbG9yOiByZ2JhKDI2LCAzNiwgOTEsIDAuNjUpO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IC00cHg7XG5cdFx0XHRwYWRkaW5nOiAyM3B4IDA7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXG5cdFx0Ji1uYXYge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cdH1cbn1cblxuXHQmLWhlYWRlci10aXRsZSB7XG5cdFx0YS5hY3Rpb24ge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0bWFyZ2luOiAxNHB4IDAgMTRweCAxMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0XHRtaW4taGVpZ2h0OiAzMHB4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnBhZ2UtdGl0bGUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGZvbnQtc2l6ZTogMjNweDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDA7XG5cdFx0fVxuXHR9XG59XG4iLCJAaW1wb3J0IFwiaW5jbHVkZS1tZWRpYVwiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImdlbmVyYWxcIjtcbkBpbXBvcnQgXCJoZWFkZXJcIjtcblxuI2NiLWNoYW5nZS1tYWlsLXNlbmRlciB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblxuXHQjc2V0dGluZy1lcnJvci1zZXR0aW5nc191cGRhdGVkIHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG5cblx0Ji1mb3JtIHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRcdHBhZGRpbmc6IDAgMjBweDtcblxuXHRcdGgyIHtcblx0XHRcdGNvbG9yOiAjMUUyMzI3O1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRjb2xvcjogIzUwNTc1RTtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cblx0XHRcdCYuc3VibWl0IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG5cdFx0XHRcdCNzdWJtaXQge1xuXHRcdFx0XHRcdGJvcmRlci13aWR0aDogMDtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0cGFkZGluZzogMTJweCAxNnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGFibGUge1xuXG5cdFx0XHRtYXJnaW4tdG9wOiAxNy41cHg7XG5cblx0XHRcdHRkIHtcblx0XHRcdFx0cGFkZGluZzogMTcuNXB4IDEwcHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI8PWlwYWRcIikge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dGgge1xuXHRcdFx0XHRjb2xvcjogIzMyMzczQjtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRwYWRkaW5nOiAyMi41cHggMTBweCAyMi41cHggMDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIjw9aXBhZFwiKSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdGNvbG9yOiAjMkMzMzM4O1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICM4YjhmOTM7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRcdFx0XHRwYWRkaW5nOiA4cHggMTJweDtcblxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICMxYTI0NWI7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICMxYTI0NWI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmNiLWNoYW5nZS1tYWlsLXNlbmRlci1mb3JtLXNldHRpbmctZmllbGQtY2hlY2tib3gtdG9nZ2xlIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNXB4O1xuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRcdFx0XHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdFx0d2lkdGg6IDFweDtcblxuXHRcdFx0XHRcdCY6Y2hlY2tlZCArIC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItZm9ybS1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2gge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwQTMyQTtcblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcblx0XHRcdFx0XHRcdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0XHRcdFx0JjpjaGVja2VkOmhvdmVyICsgLmNiLWNoYW5nZS1tYWlsLXNlbmRlci1mb3JtLXNldHRpbmctdG9nZ2xlLXN3aXRjaCxcblx0XHRcdFx0XHRcdCY6bm90KDpjaGVja2VkKTpob3ZlciArIC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItZm9ybS1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2gge1xuXHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOm5vdCg6Y2hlY2tlZCk6aG92ZXIgKyAuY2ItY2hhbmdlLW1haWwtc2VuZGVyLWZvcm0tc2V0dGluZy10b2dnbGUtc3dpdGNoIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2RkZDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0JiArIC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItZm9ybS1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2gge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuXHRcdFx0XHRcdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCY6Y2hlY2tlZCArIC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItZm9ybS1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2gge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCMwMEEzMkEsIDI1KTtcblx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6Y2hlY2tlZCArIC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItZm9ybS1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2ggKyAuY2ItY2hhbmdlLW1haWwtc2VuZGVyLWZvcm0tc2V0dGluZy10b2dnbGUtY2hlY2tlZC1sYWJlbCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6Y2hlY2tlZCArIC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItZm9ybS1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2ggKyAuY2ItY2hhbmdlLW1haWwtc2VuZGVyLWZvcm0tc2V0dGluZy10b2dnbGUtY2hlY2tlZC1sYWJlbCArIC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItZm9ybS1zZXR0aW5nLXRvZ2dsZS11bmNoZWNrZWQtbGFiZWwge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmRpc2FibGVkICsgLmNiLWNoYW5nZS1tYWlsLXNlbmRlci1mb3JtLXNldHRpbmctdG9nZ2xlLXN3aXRjaCArIC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItZm9ybS1zZXR0aW5nLXRvZ2dsZS1jaGVja2VkLWxhYmVsLFxuXHRcdFx0XHRcdCY6ZGlzYWJsZWQgKyAuY2ItY2hhbmdlLW1haWwtc2VuZGVyLWZvcm0tc2V0dGluZy10b2dnbGUtc3dpdGNoICsgLmNiLWNoYW5nZS1tYWlsLXNlbmRlci1mb3JtLXNldHRpbmctdG9nZ2xlLXVuY2hlY2tlZC1sYWJlbCB7XG5cdFx0XHRcdFx0XHRjb2xvcjogbGlnaHRlbigjNDQ0LCA0MCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpjaGVja2VkOmhvdmVyLFxuXHRcdFx0XHRcdCY6Y2hlY2tlZDpmb2N1cyB7XG5cblx0XHRcdFx0XHRcdCYgKyAuY2ItY2hhbmdlLW1haWwtc2VuZGVyLWZvcm0tc2V0dGluZy10b2dnbGUtc3dpdGNoIHtcblx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDNweCAjMDBBMzJBO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6bm90KDpjaGVja2VkKTpob3Zlcixcblx0XHRcdFx0XHQmOm5vdCg6Y2hlY2tlZCk6Zm9jdXMge1xuXG5cdFx0XHRcdFx0XHQmICsgLmNiLWNoYW5nZS1tYWlsLXNlbmRlci1mb3JtLXNldHRpbmctdG9nZ2xlLXN3aXRjaCB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG5cdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAzcHggIzk5OTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY2ItY2hhbmdlLW1haWwtc2VuZGVyLWZvcm0tc2V0dGluZy10b2dnbGUtdW5jaGVja2VkLWxhYmVsLFxuXHRcdFx0XHQuY2ItY2hhbmdlLW1haWwtc2VuZGVyLWZvcm0tc2V0dGluZy10b2dnbGUtY2hlY2tlZC1sYWJlbCB7XG5cdFx0XHRcdFx0Y29sb3I6ICM1MDU3NUU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItZm9ybS1zZXR0aW5nLXRvZ2dsZS1jaGVja2VkLWxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNiLWNoYW5nZS1tYWlsLXNlbmRlci1mb3JtLXNldHRpbmctdG9nZ2xlLXN3aXRjaCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2NjYztcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNXB4O1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdG1hcmdpbjogLTFweCA1cHggMCAwO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdC1tb3otdHJhbnNpdGlvbjogICAgYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0LW1zLXRyYW5zaXRpb246ICAgICBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiAgICAgICAgIGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0d2lkdGg6IDM2cHg7XG5cblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRcdFx0XHRsZWZ0OiAycHg7XG5cdFx0XHRcdFx0XHR0b3A6IDJweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdFx0LW1vei10cmFuc2l0aW9uOiAgICBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0XHRcdFx0XHRcdC1tcy10cmFuc2l0aW9uOiAgICAgYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiAgICAgICAgIGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuZGVzYyB7XG5cdFx0XHRcdGNvbG9yOiAjNTA1NzVFO1xuXHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRcdG1hcmdpbjogMTBweCAwIDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0I3N1Ym1pdCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMUEyNDVCO1xuXG5cdFx0XHQmOmZvY3VzLCAmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzA5MTIzZjtcblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAzcHggIzA5MTIzZjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuY2ItbWFpbC1zZW5kZXItc2VwIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RDRENERTtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXG5cdFx0Ji5jYi1tYWlsLXNlbmRlci1zZXAtbGFzdCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxNy41cHg7XG5cdFx0fVxuXHR9XG59XG5cbkBpbXBvcnQgXCJwcm9kdWN0LWVkdWNhdGlvblwiO1xuIiwiQGltcG9ydCBcImluY2x1ZGUtbWVkaWFcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLy8gUHJvZHVjdCBFZHVjYXRpb24uXG4uY2ItY2hhbmdlLW1haWwtc2VuZGVyLXByb2R1Y3QtZWR1Y2F0aW9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Y29sb3I6ICM1MDU3NUU7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0bWFyZ2luOiAxMHB4IDIwcHggMjBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCYtZGlzbWlzcyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxNXB4O1xuXHRcdHRvcDogMTVweDtcblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Y29sb3I6ICNBNkE2QTY7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQuZGFzaGljb25zIHtcblx0XHRcdFx0Y29sb3I6ICNhN2FhYWQ7XG5cdFx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogI2Q2MzYzODtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtY29udGVudCB7XG5cdFx0cGFkZGluZzogMjBweDtcblxuXHRcdGEge1xuXHRcdFx0Ji5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItcHJvZHVjdC1lZHVjYXRpb24tYnRuIHtcblx0XHRcdFx0YmFja2dyb3VuZDogIzA1NkFBQjtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdHBhZGRpbmc6IDdweCAxMHB4O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICNGRkZGRkY7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdGNvbG9yOiAjNjQ2OTcwO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHRtYXJnaW46IDEwcHggMDtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAjZTI3NzMwO1xuXG5cdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAjY2Q2NzIxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYuY2ItY2hhbmdlLW1haWwtc2VuZGVyLXByb2R1Y3QtZWR1Y2F0aW9uLWJvbnVzIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRcdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRjb2xvcjogIzJFODc2QTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0dWwge1xuXHRcdGNvbG9yOiAjNjQ2OTcwO1xuXHR9XG5cblx0aDMge1xuXHRcdGNvbG9yOiAjM0M0MzRBO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0bWFyZ2luLXRvcDogMDtcblxuXHRcdCYuY2ItY2hhbmdlLW1haWwtc2VuZGVyLXByb2R1Y3QtZWR1Y2F0aW9uLWZlYXR1cmUtdGl0bGUge1xuXHRcdFx0Y29sb3I6ICM1MDU3NUU7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdH1cblx0fVxufVxuXG4jY2ItY2hhbmdlLW1haWwtc2VuZGVyLXByb2R1Y3QtZWR1Y2F0aW9uLWFkbWluX3NldHRpbmdzX2JvdHRvbSB7XG5cdGJhY2tncm91bmQ6ICNGRkZGRkYgdXJsKFwiLi4vaW1hZ2VzL3Byb2QtZWR1L3Byb2R1Y3QtZWR1Y2F0aW9uLWJnLnBuZ1wiKSBuby1yZXBlYXQgcmlnaHQgYm90dG9tO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDQwMXB4IDExOXB4O1xuXG5cdC8qIEAyeCBJbWFnZXMgKFBpeGVsIFJhdGlvIG9mIDEuMjUrKSAqL1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiA1LzQpLFxuXHRcdG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcblx0XHRvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMjUpLFxuXHRcdG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDEuMjVkcHB4KSB7XG5cblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcHJvZC1lZHUvcHJvZHVjdC1lZHVjYXRpb24tYmdAMngucG5nXCIpO1xuXHR9XG5cblx0LmNiLWNoYW5nZS1tYWlsLXNlbmRlci1wcm9kdWN0LWVkdWNhdGlvbi1pbWFnZXMtcm93IHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U0RTRFNDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6IDI1cHg7XG5cdFx0bWFyZ2luOiAyMHB4IDAgMTZweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuXHRcdCYtaW1hZ2Uge1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0bWF4LXdpZHRoOiAzNzBweDtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGJvcmRlcjogNXB4IHNvbGlkICNEQ0RDREU7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdCY6aG92ZXI6OmFmdGVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoNjgsIDY4LCA2OCwgLjE1KSB1cmwoJy4uL2ltYWdlcy96b29tLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiA1MHB4O1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJlbmVmaXRzIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRnYXA6IDYwcHg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdFx0bWF4LXdpZHRoOiAxMjAwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdHVsIHtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMCAycHggMTZweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPD1waG9uZVwiKSB7XG5cdFx0XHRcdFx0bWFyZ2luOiA1cHggMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAtMXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji53aGl0ZS1nbG92ZSB7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuYXJyb3ctcmlnaHQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXJpZ2h0LXBsYWluLWljb24uc3ZnJykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE4cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE3cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLnBsdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL3BsdXMtaWNvbi5zdmcnKSBuby1yZXBlYXQgbGVmdCAzcHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMThweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jYi1jaGFuZ2UtbWFpbC1zZW5kZXItcHJvZHVjdC1lZHVjYXRpb24tYnRuIHtcblx0XHRiYWNrZ3JvdW5kOiAjZTI3NzMwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsaW5lLWhlaWdodDogMTZweDtcblx0XHRwYWRkaW5nOiAxMnB4IDE2cHg7XG5cblx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNjZDY3MjE7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgM3B4ICNjZDY3MjE7XG5cdFx0fVxuXHR9XG59XG4iXX0= */
