*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  -webkit-touch-callout: none;
  -ms-touch-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  height: 100%;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 100%;
  margin: 0;
  padding: 0;
}

body.darkroom:after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #555;
  background-color: rgba(0, 0, 0, 0.7);
}

body .darkroom-banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

body .darkroom-banner > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  max-width: 280px;
  min-width: 280px;
  width: 280px;
  background-color: #fefefe;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  font-size: 20px;
}

button,
input,
select,
textarea {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
}

input {
  line-height: normal;
}

input[type='text'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #808080;
  outline: 0;
  padding: 3px;
}

input[type='password'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #808080;
  outline: 0;
  padding: 3px;
}

input.required {
  color: #ff0000;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  background-color: #ffffff;
  border: 2px solid #9768EB;
  color: #9768EB;
  font-weight: 500;
  letter-spacing: 1px;
  min-width: 110px;
  outline: 0;
  padding: 0 10px;
  text-transform: uppercase;
}

button.short {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
}

button.small {
  min-width: 80px;
}

button.medium {
  max-width: 150px;
  min-width: 150px;
  width: 150px;
}

button.primary,
button.blue {
  background-color: #9768EB;
  color: #ffffff;
}

button.disabled {
  color: #cdcdcd;
  border-color: #cdcdcd;
  cursor: default;
}

button:disabled {
  color: #cdcdcd;
  border-color: #cdcdcd;
  cursor: default;
}

button.resume {
  background-color: #D1404B;
  color: #ffffff;
  font-weight: bold;
}

button:focus {
  outline: 0;
}

button::-moz-focus-inner {
  border: 0;
}

button + button {
  margin-left: 8px;
}

.input-checkbox {
  color: #9768EB;
  font-size: 20px;
}

.input-checkbox.disabled {
  color: #cdcdcd;
}

.footer-content {
  /*
  @include flex(1 0 auto);
  @include flex-row-center();
  @include flex-justify-content(center);
  */
  padding: 20px 0 20px;
  background-color: #11264b;
  color: #ffffff;
}

.footer-content a {
  text-decoration: none;
  color: #ffffff;
}

[ng\:cloak],
[ng-cloak],
.ng-cloak {
  display: none !important;
}

.header-content {
  -webkit-justify-content: initial;
  justify-content: initial;
  max-height: 90px;
  min-height: 90px;
  height: 90px;
}

.header-content .logo {
  max-height: 90px;
  min-height: 90px;
  height: 90px;
  max-width: 140px;
  min-width: 140px;
  width: 140px;
}

.header-content .white-field {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.header-content .white-field i.icon-shop {
  display: block;
  float: left;
  padding: 0px;
  margin-right: -5px;
  margin-left: 5px;
  font-size: 20px;
}

.header-content .white-field > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  margin: 0px 30px;
}

.header-content .white-field > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 10px;
  font-size: 16px;
  cursor: pointer;
}

.header-content .white-field > div > div i {
  font-size: 28px;
  display: block;
  float: left;
  margin: -1px 8px 0px 0px;
}

.header-content .white-field > div > div:hover {
  color: #11264b;
}

.header-content .white-field > div > div.current-athlete {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  border: none;
  font-size: 18px;
  font-weight: 600;
  min-width: auto;
  margin-right: auto;
}

.header-content .white-field > div > div.current-athlete span {
  cursor: pointer;
}

.header-content .white-field > div > div.current-athlete span:first-child {
  font-weight: normal;
}

.header-content .white-field > div > div.current-athlete span + span {
  margin-left: 10px;
}

.header-content .white-field > div > div.current-athlete span + span:hover {
  text-decoration: underline;
}

.header-content .white-field > div > div + div {
  margin-left: 15px;
}

.header-content .white-field > button:first-child {
  margin: 0 7px 0 25px;
}

.header-content .white-field > button:last-child {
  margin: 0 25px 0 7px;
}

.header-content .white-field > button > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.header-content .white-field > button > div i.fa {
  font-size: 22px;
  margin-right: 4px;
}

.menu-content {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.body-content {
  margin: 0;
  padding: 0;
}

.red-background {
  background-color: #c42a3b;
}

.yellow-background {
  background-color: #dfc03f;
}

.green-background {
  background-color: #20b769;
}

.blue-text {
  color: #9768EB;
}

.red-text {
  color: #c42a3b;
}

.grey-text {
  color: #808080;
}

.light-grey-text {
  color: #a7a7a7;
}

.yellow-text {
  color: #dfc03f;
}

.green-text {
  color: #20b769;
}

.whitebg {
  background-color: #ffffff;
}

.greybg {
  background-color: #efefef;
}

.drkgreybg {
  background-color: #2e2e2e;
}

.bluebg {
  background-color: #9768EB;
}

.main-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

.view-flex {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-static {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.view-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-stack {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-width: 1024px;
  min-width: 1024px;
  width: 1024px;
}

.view-container.centered {
  -webkit-align-items: center;
  align-items: center;
}

.view-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.view-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.view-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.view-container.middle {
  -webkit-align-self: center;
  align-self: center;
}

.view-container.column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.view-container.column.center {
  -webkit-justify-content: center;
  justify-content: center;
}

.column-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.column-container.full {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.column-container.top {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.column-container.bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.column-container.center {
  -webkit-align-items: center;
  align-items: center;
}

.column-container.middle {
  -webkit-justify-content: center;
  justify-content: center;
}

.column-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.column-container.spaced {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.column-container.start {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.column-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.column-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.row-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.row-container.full {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.row-container.top {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.row-container.bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.row-container.center {
  -webkit-align-items: center;
  align-items: center;
}

.row-container.middle {
  -webkit-justify-content: center;
  justify-content: center;
}

.row-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.row-container.spaced {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.row-container.start {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.row-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.row-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.hidden {
  display: none;
}

input[type=range] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  -moz-appearance: none;
  margin: 0;
  width: 100%;
  padding: 0;
  border-radius: 8px;
  background: transparent;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #41baec), color-stop(0, #e8e8e8));
  cursor: pointer;
}

input[type=range]:focus {
  outline: none;
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
  margin-top: -15px;
}

input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  border-radius: 8px;
  background: transparent;
}

input[type=range]::-moz-range-thumb {
  -moz-appearance: none;
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
}

input[type=range]::-moz-range-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  border-radius: 8px;
  background: transparent;
}

input[type=range]::-moz-focus-outer {
  border: 0;
  outline: 0;
}

input[type=range]::-ms-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  border-width: 16px 0;
  color: transparent;
}

input[type=range]::-ms-thumb {
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
}

input[type=range]::-ms-tooltip {
  display: none;
}

input[type=range]::-ms-fill-lower {
  background: #41baec;
  border: 0.2px solid #41baec;
  border-radius: 8px;
}

input[type=range]::-ms-fill-upper {
  background: #e8e8e8;
  border: 0.2px solid #e8e8e8;
  border-radius: 8px;
}

input[type=range]:focus::-ms-fill-lower {
  background: #41baec;
}

input[type=range]:focus::-ms-fill-upper {
  background: #e8e8e8;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  overflow: hidden;
  background-color: #c4c4c4;
  background-color: rgba(196, 196, 196, 0.7);
}

.modal-overlay.ng-enter,
.modal-overlay.ng-leave {
  -webkit-transition: .2s linear all;
  -moz-transition: .2s linear all;
  -o-transition: .2s linear all;
  transition: .2s linear all;
}

.modal-overlay.ng-enter,
.modal-overlay.ng-leave.ng-leave-active {
  opacity: 0;
}

.modal-overlay.ng-enter.ng-enter-active,
.modal-overlay.ng-leave {
  opacity: 1;
}

.modal-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1001;
  overflow: hidden;
  pointer-events: none;
}

.modal-view .modal {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 100px;
  min-width: 200px;
  pointer-events: auto;
  position: inherit !important;
  left: auto;
  right: auto;
  /* top: 0; */
  /* right: 0; */
  /* bottom: 0; */
  /* left: 0; */
  /* z-index: 1050; */
  /* display: none; */
  /* overflow: hidden; */
  -webkit-overflow-scrolling: touch;
  /* outline: 0; */
  -webkit-transition: .2s linear all;
  -moz-transition: .2s linear all;
  -o-transition: .2s linear all;
  transition: .2s linear all;
}

.modal-view .modal.ng-leave {
  transform: translateY(0%);
}

.modal-view .modal.ng-leave.ng-leave-active {
  transform: translateY(-200%);
}

.modal-view.ng-enter .modal {
  transform: translateY(-200%);
}

.modal-view.ng-enter.ng-enter-active .modal {
  transform: translateY(0);
}

.modal-animate-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 770px;
  min-width: 770px;
  width: 770px;
  overflow: hidden;
}

.modal-animate-container > .modal-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-transition: .125s linear all;
  -moz-transition: .125s linear all;
  -o-transition: .125s linear all;
  transition: .125s linear all;
}

.modal-animate-container > .modal-container.ng-leave.slide-left {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-leave.slide-right {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-leave.ng-leave-active.slide-left,
.modal-animate-container > .modal-container.ng-hide-add.slide-left {
  transform: translateX(-100%);
}

.modal-animate-container > .modal-container.ng-leave.ng-leave-active.slide-right,
.modal-animate-container > .modal-container.ng-hide-add.slide-right {
  transform: translateX(100%);
}

.modal-animate-container > .modal-container.ng-enter.slide-left,
.modal-animate-container > .modal-container.ng-hide-remove.slide-left {
  transform: translateX(-100%);
}

.modal-animate-container > .modal-container.ng-enter.slide-right,
.modal-animate-container > .modal-container.ng-hide-remove.slide-right {
  transform: translateX(100%);
}

.modal-animate-container > .modal-container.ng-enter.ng-enter-active.slide-left {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-enter.ng-enter-active.slide-right {
  transform: translateX(0px);
}

.modal-container {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 8px 8px 20px 0px #4a4a4a;
}

.modal-container.large {
  width: 970px;
}

.modal-container header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  border-top-left-radius: 8px;
  border-top-right-radius: 6px;
}

.modal-container header button.link {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  min-height: 30px;
  line-height: 20px;
  font-size: 12px;
}

.modal-container header button.link i.left {
  margin-right: 5px;
}

.modal-container header.alert {
  background-color: #c42a3b;
  color: #ffffff;
}

.modal-container header.confirm {
  background-color: #9768EB;
  color: #ffffff;
}

.modal-container header label {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 16px;
  margin-left: 10px;
  text-align: center;
}

.modal-container header label i.fa {
  margin: 0 4px;
}

.modal-container header label span {
  font-weight: 500;
}

.modal-container header .close {
  background-color: transparent;
  border: none;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  margin: 0 8px;
  min-width: 0;
  opacity: .2;
  text-shadow: 0 1px 0 #ccc;
  text-transform: none;
}

.modal-container header .close:hover {
  cursor: pointer;
  opacity: 1;
}

.modal-container section {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 10px;
  min-height: 80px;
  min-width: 300px;
}

.modal-container footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.modal-container footer button:last-of-type {
  margin-right: 8px;
}

.loading-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f9f9f9;
  background-color: rgba(125, 125, 125, 0.5);
}

.loading-view .loading-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 200px;
  min-width: 200px;
}

.loading-view .loading-container .fa-spinner {
  color: #fff;
  font-size: 60px;
}

.athlete-selection {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  background-color: #efefef;
}

.athlete-selection > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  border-right: 1px solid #ccc;
  color: #cbcbcb;
  cursor: default;
  font-size: 14px;
  min-width: 200px;
  padding: 0 10px;
}

.athlete-selection > div.active {
  background-color: #dbdbdb;
  color: #75787b;
}

.athlete-selection > div.active .status {
  color: #41BAEC;
}

.athlete-selection > div.active .close {
  cursor: pointer;
}

.athlete-selection > div:not(.active):hover {
  background-color: #dbdbdb;
  color: #75787b;
  cursor: pointer;
}

.athlete-selection > div .status {
  font-size: 8px;
  min-width: 25px;
  max-width: 25px;
  text-align: center;
}

.athlete-selection > div .name {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.athlete-selection > div .close {
  font-size: 18px;
  font-weight: 400;
  min-width: 25px;
  max-width: 25px;
  text-align: center;
}

.athlete-selection > div.team-nav {
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #9768EB;
  color: #ffffff;
  font-size: 20px;
  font-weight: 200;
  line-height: 30px;
  min-width: 65px;
  padding: 0;
  border: 0;
}

.athlete-selection > div.team-nav:hover {
  cursor: pointer;
  color: #ffffff;
  background-color: #9768EB;
}

.athlete-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-bottom: 35px;
}

.athlete-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-height: 48px;
  min-height: 48px;
  height: 48px;
  border-top: 1px solid #ccc;
  font-size: 13px;
  width: 100%;
}

.athlete-menu .athlete-search {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  border-right: 1px solid #cdcdcd;
  width: 140px;
}

.athlete-menu .athlete-search input[type='text'] {
  border: none;
  font-size: 20px;
  font-weight: 300;
  height: 50px;
  text-indent: 15px;
  width: 95%;
}

.athlete-menu .athlete-search ::-webkit-input-placeholder {
  color: #6d6e72;
}

.athlete-menu .athlete-reset-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 100px;
  -ms-flex: 1 0 100px;
  flex: 1 0 100px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  border-right: 1px solid #ccc;
  cursor: pointer;
  color: #6d6e72;
}

.athlete-menu .athlete-reset-view:hover {
  color: #cdcdcd;
}

.athlete-menu .athlete-toggle-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 100px;
  -ms-flex: 1 0 100px;
  flex: 1 0 100px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  font-size: 23px;
}

.athlete-menu .athlete-toggle-view > i {
  cursor: pointer;
  margin: 8px;
  color: #cdcdcd;
}

.athlete-menu .athlete-toggle-view > i:hover {
  color: #6d6e72;
}

.athlete-menu .athlete-toggle-view > i.active {
  color: #9768EB;
}

.athlete-menu .athlete-filter-sort {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-width: 600px;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  border-right: 1px solid #ccc;
  color: #6d6e72;
  cursor: pointer;
  min-width: 110px;
  position: relative;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .label {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  max-width: 110px;
  width: 110px;
  padding: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #6d6e72;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .label:after {
  position: absolute;
  top: 35%;
  right: 10px;
  font-family: FontAwesome;
  content: "\F0D7";
  color: #6d6e72;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options {
  position: absolute;
  top: 52px;
  left: -1px;
  background-color: #f6f1f1;
  border: 1px solid #ebebeb;
  box-shadow: 0 2px 5px 0 rgba(68, 67, 76, 0.25);
  min-width: 130px;
  width: 100%;
  z-index: 3;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item {
  padding: 5px 10px 5px 14px;
  white-space: nowrap;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item:hover {
  background-color: #dedfde;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item-selected {
  font-weight: bold;
  padding-left: 3px;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .sort-item-selected {
  font-weight: bold;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-circle {
  margin-left: 7px;
  margin-right: 3px;
  text-align: center;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-circle.not-active {
  color: transparent;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-sort-asc {
  margin-left: 4px;
  margin-right: 3px;
  margin-top: 4px;
  text-align: center;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-sort-desc {
  margin-bottom: 4px;
  margin-left: 3px;
  margin-right: 4px;
  text-align: center;
}

.athlete-list-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.athlete-list-view .athlete-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-align-content: center;
  align-content: center;
  font-size: 12px;
  position: relative;
}

.athlete-list-view .athlete-header > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  background-color: #e1e1e1;
  color: #6d6e72;
  text-transform: uppercase;
  font-weight: 600;
}

.athlete-list-view .athlete-header .athlete-number {
  min-width: 70px;
}

.athlete-list-view .athlete-header .athlete-name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 170px;
}

.athlete-list-view .athlete-header .athlete-stat {
  -webkit-flex: 0.5;
  -ms-flex: 0.5;
  flex: 0.5;
  min-width: 100px;
}

.athlete-list-view .athlete-header .athlete-programs {
  min-width: 140px;
}

.athlete-list-view .athlete-header .athlete-last-activity {
  min-width: 170px;
}

.athlete-list-view .athlete-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-align-content: center;
  align-content: center;
  font-size: 20px;
}

.athlete-list-view .athlete-row > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 53px;
  min-height: 53px;
  height: 53px;
}

.athlete-list-view .athlete-row .athlete-number {
  color: #939497;
  min-width: 70px;
  padding-left: 20px;
}

.athlete-list-view .athlete-row .athlete-name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  color: #f7f7f7;
  min-width: 170px;
  cursor: pointer;
}

.athlete-list-view .athlete-row .athlete-stat {
  -webkit-flex: 0.5;
  -ms-flex: 0.5;
  flex: 0.5;
  -webkit-justify-content: center;
  justify-content: center;
  letter-spacing: 1.25px;
  min-width: 100px;
}

.athlete-list-view .athlete-row .athlete-programs {
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 13px;
  min-width: 140px;
  text-transform: uppercase;
}

.athlete-list-view .athlete-row .athlete-programs > div {
  cursor: pointer;
}

.athlete-list-view .athlete-row .athlete-programs i {
  padding-right: 12px;
}

.athlete-list-view .athlete-row .athlete-last-activity {
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 13px;
  min-width: 170px;
  text-transform: uppercase;
}

.athlete-list-view .athlete-row:nth-child(even) > div {
  background-color: #fefefe;
}

.athlete-list-view .athlete-row:nth-child(even) .athlete-number,
.athlete-list-view .athlete-row:nth-child(even) .athlete-name {
  background-color: #2e2e2e;
}

.athlete-list-view .athlete-row:nth-child(odd) > div {
  background-color: #efefef;
}

.athlete-list-view .athlete-row:nth-child(odd) .athlete-number,
.athlete-list-view .athlete-row:nth-child(odd) .athlete-name {
  background-color: #242424;
}

.athlete-dashboard-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  background-color: #eef0ef;
}

.athlete-dashboard-layout .athlete-dashboard-layout-side {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.athlete-dashboard {
  font-size: 12px;
  margin-bottom: 20px;
  margin-top: 15px;
}

.athlete-dashboard .athlete-dashboard-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-height: 85px;
  padding-left: 10px;
  width: 990px;
}

.athlete-dashboard .athlete-dashboard-menu > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin-right: 35px;
  text-transform: uppercase;
}

.athlete-dashboard .athlete-dashboard-menu > div > span:first-child {
  font-size: 18px;
  margin-right: 7px;
}

.athlete-dashboard .athlete-dashboard-menu > div > span:first-child > i:last-child {
  font-size: 13px;
}

.athlete-dashboard .athlete-dashboard-container {
  margin: -10px;
  overflow: hidden;
  width: 100%;
}

.athlete-dashboard .athlete-dashboard-container .athlete-info-box,
.athlete-dashboard .athlete-dashboard-container .athlete-add-box {
  float: left;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 298px;
  min-height: 298px;
  height: 298px;
  min-width: 298px;
  width: calc(33.333% - 20px);
  background-color: #ffffff;
  margin: 10px;
}

@media only screen and (max-width: 900px) {
  .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    max-height: 260px;
    min-height: 260px;
    height: 260px;
  }
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-box {
  background-color: transparent;
  border: 1px dashed #ccc;
  cursor: pointer;
  color: #cdcdcd;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-box .add-button-text {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: bold;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-box .add-button-icon {
  font-size: 45px;
  margin: 8px;
}

.athlete-dashboard .athlete-dashboard-container .athlete-info-box > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: 100%;
}

.athlete-dashboard-actions {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-top: 35px;
}

.athlete-dashboard-actions .action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  cursor: pointer;
}

.athlete-dashboard-actions .action .action-icon {
  font-size: 36px;
  margin-right: 5px;
}

.athlete-dashboard-actions .action .action-text {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-right: 20px;
}

.athlete-info-box .bio-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 0 40px;
  -ms-flex: 1 0 40px;
  flex: 1 0 40px;
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  background-color: #11264b;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  cursor: pointer;
}

.athlete-info-box .bio-header .athlete-number {
  margin-left: 15px;
}

.athlete-info-box .bio-header .athlete-name {
  margin-left: 15px;
}

.athlete-info-box .bio-header .athlete-number + .athlete-name {
  margin-left: 10px;
}

.athlete-info-box .bio-header:hover {
  background-color: rgba(17, 38, 75, 0.85);
}

.athlete-info-box .bio-body {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  padding: 17px;
}

.athlete-info-box .bio-body > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.athlete-info-box .bio-body .athlete-profile {
  -webkit-align-items: center;
  align-items: center;
  max-width: 120px;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic-thumb {
  position: relative;
  width: 100px;
  height: 100px;
  overflow: hidden;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic {
  border: 1px solid #ccc;
  height: 130px;
  margin: 0 0 10px;
  width: 120px;
  cursor: pointer;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic img {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 100%;
  width: auto;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.athlete-info-box .bio-body .athlete-profile .athlete-position {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .5px;
}

.athlete-info-box .bio-body .athlete-profile .athlete-weight {
  font-size: 12px;
  text-transform: uppercase;
}

.athlete-info-box .bio-body .athlete-stats {
  padding-left: 15px;
}

.athlete-info-box .bio-body .athlete-stats .athlete-score {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 14px;
  line-height: 10px;
}

.athlete-info-box .bio-body .athlete-stats .athlete-score-tl-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 20px;
  line-height: 10px;
  padding-top: 10px;
}

.athlete-info-box .bio-body .athlete-stats .test-type {
  border-bottom: 1px solid #ccc;
  font-size: 22px;
  line-height: 22px;
  min-height: 30px;
}

.athlete-info-box .bio-body .athlete-stats .test-score {
  font-size: 40px;
  line-height: 40px;
  min-height: 50px;
  text-align: center;
}

.athlete-info-box .bio-footer {
  -webkit-flex: 1 0 50px;
  -ms-flex: 1 0 50px;
  flex: 1 0 50px;
  background-color: #f5f5f5;
  max-height: 50px;
}

.athlete-info-box .bio-footer > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  font-size: 12px;
  text-transform: uppercase;
  cursor: pointer;
  color: #6d6e72;
  letter-spacing: 0.6px;
}

.athlete-info-box .bio-footer > div i {
  font-size: 13px;
  margin-right: 8px;
}

.athlete-info-box .bio-footer > div i.icon-test {
  font-size: 18px;
}

.athlete-info-box .bio-footer > div:hover {
  background-color: #E8E8E8;
  color: #9768EB;
}

.athlete-info-box .bio-footer > div + div {
  border-left: 1px solid #E8E8E8;
}

.profile-menu {
  -webkit-align-items: flex-end;
  align-items: flex-end;
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.profile-menu > div {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 1px;
}

.profile-menu > div.active {
  border-bottom: 4px solid #9768EB;
  color: #efefef;
}

.profile-menu > div:not(.active):hover {
  border-bottom: 4px solid #a0a4a8;
  cursor: pointer;
}

.profile-menu > div a {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border: none;
  color: inherit;
  display: inline-block;
  outline: none;
  text-decoration: none;
}

.profile-menu > div span.marker {
  position: absolute;
  top: 0;
  right: -30px;
  width: 23px;
  height: 22px;
  background-color: #ff0000;
  border-radius: 50%;
  text-align: center;
}

.profile-menu > div + div {
  margin-left: 45px;
}

.profile-detail {
  max-width: 210px;
  min-width: 210px;
  width: 210px;
}

.profile-detail .data-emphasis {
  font-weight: 600;
}

.profile-detail .profile-pic {
  max-height: 175px;
  min-height: 175px;
  height: 175px;
  max-width: 200px;
  min-width: 200px;
  width: 200px;
}

.profile-detail .profile-action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #9768EB;
  color: #ffffff;
  height: 50px;
  width: 200px;
  cursor: pointer;
}

.profile-detail .profile-action i {
  font-size: 17px;
  margin-right: 5px;
}

.profile-detail .profile-action span {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.profile-detail .profile-action.invisible {
  visibility: hidden;
}

.profile-detail .profile-data-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 14px;
  margin-top: 15px;
}

.profile-detail .profile-data-container .profile-data > span:first-child {
  margin-right: 5px;
}

.profile-detail .profile-group-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 14px;
  margin-top: 15px;
}

.profile-detail .profile-group-container .group-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #D9DAD9;
  border: 0;
  border-radius: 6px;
  margin: 6px 0 0;
  height: 30px;
  width: 115px;
  position: relative;
}

.profile-detail .profile-group-container .group-container .group-icon {
  border: 1px solid #999;
  margin-right: 8px;
  height: 16px;
  width: 12px;
}

.profile-detail .profile-group-container .group-container .group-save {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #9768EB;
  color: #fff;
}

.profile-detail .profile-group-container .group-container .group-close {
  position: absolute;
  right: 5px;
  cursor: pointer;
  font-size: 22px;
}

.profile-summary {
  max-width: 780px;
  min-width: 780px;
  width: 780px;
}

.profile-summary .profile-name {
  margin-bottom: 5px;
}

.profile-summary .profile-name > div {
  font-size: 24px;
  margin-right: 6px;
}

.profile-summary .profile-activity {
  margin-bottom: 10px;
  color: #999;
  font-size: 13px;
}

.profile-summary .profile-activity > div:nth-child(n+2):before {
  color: #ccc;
  content: '|';
  margin: 0 9px;
}

.profile-summary .profile-activity > div > span:first-child {
  margin-right: 6px;
}

.profile-summary .profile-activity .blue-text {
  cursor: pointer;
}

.profile-summary .score-label {
  font-size: 12px;
  font-weight: 600;
  margin: 20px 0 10px;
  min-height: 20px;
  text-transform: uppercase;
}

.profile-summary .score-container {
  max-width: 380px;
  min-width: 380px;
  width: 380px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  padding-top: 20px;
}

.profile-summary .score-container .profile-score {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  max-height: 85px;
  min-height: 85px;
  height: 85px;
  max-width: 330px;
  min-width: 330px;
  width: 330px;
}

.profile-summary .score-container .profile-score.label-only {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.profile-summary .score-container .profile-score .profile-score-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 15px;
}

.profile-summary .score-container .profile-score .profile-score-info .profile-score-name {
  letter-spacing: .25px;
  font-size: 16px;
  color: #AEAEAE;
  font-weight: 500;
}

.profile-summary .score-container .profile-score .profile-score-info .profile-score-date {
  font-size: 14px;
  font-weight: 500;
  line-height: 25px;
  color: #AEAEAE;
}

.profile-summary .score-container .profile-score .profile-score-graph-canvas {
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  max-width: 330px;
  min-width: 330px;
  width: 330px;
}

.profile-summary .score-container .profile-score .profile-score-label {
  color: #9768EB;
  font-size: 22px;
  font-weight: 400;
  margin-left: auto;
  text-align: right;
}

.profile-summary .score-container .profile-score .profile-score-label .profile-tl-change {
  color: #9768EB;
  font-size: 12px;
  margin-left: auto;
  text-align: right;
}

.profile-summary .today-label {
  font-size: 12px;
  font-weight: 600;
  margin: 20px 0 10px;
  min-height: 20px;
  text-transform: uppercase;
}

.profile-summary .today-program {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  max-width: 380px;
  min-width: 380px;
  width: 380px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  margin-bottom: 7px;
  padding: 0 6px;
  cursor: pointer;
}

.profile-summary .today-program > div {
  margin-left: 10px;
}

.profile-summary .today-program > div:first-child {
  color: #ccc;
  font-size: 22px;
}

.profile-summary .today-program div.icon-checkbox-checked {
  color: #AFB0AE;
}

.profile-summary .today-program div.icon-checkbox-checked.blue-check {
  color: #9768EB;
}

.profile-summary .today-program .program {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  font-size: 16px;
  font-weight: 500;
}

.profile-summary .today-program .program .light-grey-text {
  color: #AFB1B3;
}

.profile-summary .today-notice {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  margin-bottom: 7px;
  padding: 0 6px;
}

.profile-summary .today-notice > div {
  margin-left: 20px;
}

.profile-summary .today-notice .notice {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
}

.profile-summary .today-notice .notice-button > button {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  font-size: 12px;
  font-weight: 600;
}

.profile-summary .today-notice.yellow {
  background-color: #dfc03f;
}

.profile-summary .today-notice.yellow .notice {
  color: #fefefe;
}

.profile-summary .today-notice.yellow .notice-button > button {
  background-color: #ceb74e;
  border-color: transparent;
  color: #fefefe;
}

.spaced-top-large {
  margin-top: 45px;
}

.spaced-bottom-medium {
  margin-bottom: 35px;
}

.catalog-feature {
  position: relative;
  background-color: #cfcfcf;
  height: 400px;
}

.catalog-feature .feature-container {
  background-size: cover;
  background-position-x: center;
  background-position-y: top;
  min-height: 400px;
  position: relative;
}

.catalog-feature .feature-container.running-man {
  background-image: url("/images/program_catalog_background.png");
}

.catalog-feature .feature-container.running-man .feature-content {
  line-height: 0.9;
  width: 400px;
}

.catalog-feature .feature-container.running-man .message-text {
  font-size: 24px;
  margin-top: 15px;
}

.catalog-feature .feature-container .feature-content {
  position: absolute;
  top: 40px;
  left: 80px;
  width: 400px;
  color: #efefef;
  font-weight: 300;
  line-height: 0.95;
}

.catalog-feature .feature-container .feature-content h2 {
  margin: 0;
  padding: 0;
  font-weight: 300;
}

.catalog-feature .feature-container .feature-content p {
  margin: 0;
  padding: 0;
}

.catalog-feature .feature-container .feature-content h2,
.catalog-feature .feature-container .feature-content .title-text {
  font-size: 55px;
  text-transform: uppercase;
}

.catalog-feature .feature-container .feature-content p,
.catalog-feature .feature-container .feature-content .message-text {
  margin-top: 2px;
  font-size: 18px;
  line-height: 1.3;
}

.catalog-feature .feature-container .feature-button {
  position: absolute;
  bottom: 35px;
  left: 80px;
  color: #efefef;
  font-weight: 300;
}

.catalog-feature .markers {
  position: absolute;
  bottom: 0;
  height: 40px;
  width: 100%;
}

.catalog-feature .markers .marker {
  background-color: #fff;
  border-radius: 50%;
  margin: 6px;
  height: 10px;
  width: 10px;
}

.catalog-feature .markers .marker.active {
  background-color: #41baed;
}

.catalog-selected {
  padding: 35px;
}

.catalog-selected .title-container {
  height: 100px;
}

.catalog-selected .title-container .title {
  font-size: 26px;
  line-height: 26px;
}

.catalog-selected .title-container .name {
  font-size: 26px;
}

.catalog-selected .title-container .return-link {
  margin-top: 20px;
  width: 120px;
  cursor: pointer;
}

.catalog-selected .title-container .return-link > div {
  min-height: 30px;
  line-height: 20px;
}

.catalog-selected .title-container .return-link > div:hover {
  text-decoration: underline;
}

.catalog-selected .title-container .return-link > div > i {
  margin-left: 5px;
  line-height: 30px;
}

.catalog-selected .detail-container {
  margin-top: 20px;
  margin-bottom: 20px;
}

.catalog-selected .detail-container .info-row-header {
  font-size: 12px;
  font-weight: 600;
  max-width: 260px;
}

.catalog-selected .detail-container .info-row-header > div {
  height: 20px;
  width: 130px;
  text-align: center;
  text-transform: uppercase;
}

.catalog-selected .detail-container .info-row {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  max-width: 260px;
}

.catalog-selected .detail-container .info-row > div {
  height: 90px;
  width: 130px;
}

.catalog-selected .detail-container .info-row > div > div {
  text-align: center;
}

.catalog-selected .detail-container .info-row > div + div {
  border-left: 1px solid #ccc;
}

.catalog-selected .detail-container .info-row .info {
  font-size: 26px;
}

.catalog-selected .detail-container .info-row .label {
  font-size: 16px;
}

.catalog-selected .detail-container .description-row {
  font-size: 12px;
  margin: 20px 0;
  max-width: 400px;
}

.catalog-selected .detail-container .description-row .label {
  font-weight: 600;
  margin: 10px 0;
  text-transform: uppercase;
}

.catalog-selected .detail-container .button-container {
  margin: 20px 0;
  width: 200px;
}

.catalog-selected .detail-container .button-container button {
  width: 100%;
}

.catalog-selected .detail-container .button-container button + button {
  margin-top: 20px;
  margin-left: 0;
}

.catalog-selected .detail-container .sample-container {
  margin-left: 10px;
}

.catalog-selected .detail-container .sample-container .video-label {
  font-size: 12px;
  font-weight: 600;
  max-width: 300px;
}

.catalog-selected .detail-container .sample-container .video-label > div {
  height: 20px;
  text-transform: uppercase;
}

.catalog-selected .detail-container .sample-container .video-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  max-height: 239px;
  max-width: 425px;
  min-height: 239px;
}

.catalog-selected .detail-container .sample-container .video-container > div {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.catalog-selected .detail-container .sample-container .video-container .missing-media {
  border: 1px solid #ccc;
  color: #ccc;
  font-size: 24px;
  font-weight: 300;
  width: 99%;
}

.exercise-selected {
  padding: 35px;
}

.exercise-selected .title-container {
  height: 100px;
}

.exercise-selected .title-container .title {
  font-size: 26px;
  line-height: 26px;
}

.exercise-selected .title-container .name {
  font-size: 18px;
}

.exercise-selected .title-container .return-link {
  margin-top: 20px;
  width: 120px;
  cursor: pointer;
}

.exercise-selected .title-container .return-link > div {
  min-height: 30px;
  line-height: 20px;
}

.exercise-selected .title-container .return-link > div:hover {
  text-decoration: underline;
}

.exercise-selected .title-container .return-link > div > i {
  margin-left: 5px;
  line-height: 30px;
}

.exercise-selected .detail-container {
  margin-top: 20px;
  margin-bottom: 20px;
}

.exercise-selected .detail-container .info-row-header {
  font-size: 12px;
  font-weight: 600;
  max-width: 400px;
}

.exercise-selected .detail-container .info-row-header > div {
  min-height: 20px;
  min-width: 130px;
  text-align: center;
  text-transform: uppercase;
}

.exercise-selected .detail-container .info-row {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  max-width: 400px;
}

.exercise-selected .detail-container .info-row > div {
  min-height: 90px;
  min-width: 130px;
}

.exercise-selected .detail-container .info-row > div > div {
  text-align: center;
}

.exercise-selected .detail-container .info-row > div + div {
  border-left: 1px solid #ccc;
}

.exercise-selected .detail-container .info-row .info {
  font-size: 26px;
}

.exercise-selected .detail-container .info-row .label {
  font-size: 14px;
}

.exercise-selected .detail-container .description-row {
  font-size: 12px;
  margin: 20px 0;
  max-width: 400px;
}

.exercise-selected .detail-container .description-row .label {
  font-weight: 600;
  margin: 10px 0;
  text-transform: uppercase;
}

.exercise-selected .detail-container .button-container {
  margin: 20px 0;
  width: 200px;
}

.exercise-selected .detail-container .button-container button {
  width: 100%;
}

.exercise-selected .detail-container .button-container button + button {
  margin-top: 20px;
  margin-left: 0;
}

.exercise-selected .detail-container .sample-container {
  margin-left: 10px;
}

.exercise-selected .detail-container .sample-container .video-label {
  font-size: 12px;
  font-weight: 600;
  max-width: 300px;
}

.exercise-selected .detail-container .sample-container .video-label > div {
  height: 20px;
  text-transform: uppercase;
}

.exercise-selected .detail-container .sample-container .video-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  max-height: 239px;
  max-width: 425px;
  min-height: 239px;
}

.exercise-selected .detail-container .sample-container .video-container > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.exercise-selected .detail-container .sample-container .video-container .missing-media {
  border: 1px solid #ccc;
  color: #ccc;
  font-size: 24px;
  font-weight: 300;
  width: 99%;
}

.exercise-selected .exercise-info-container {
  -webkit-flex: 0 0 400px;
  -ms-flex: 0 0 400px;
  flex: 0 0 400px;
}

.exercise-selected .sample-container {
  -webkit-flex: 1 0 350px;
  -ms-flex: 1 0 350px;
  flex: 1 0 350px;
}

.exercise-selected .sample-container .file-input-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 5px;
}

.exercise-selected .sample-container .file-input-wrapper > button {
  min-height: 35px;
  max-height: 35px;
}

.exercise-selected .sample-container .file-input-wrapper > input[type="file"] {
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
}

.exercise-selected .form-fields .week-selection {
  min-height: 60px;
  margin-bottom: 25px;
  cursor: default;
}

.exercise-selected .form-fields .week-selection > div {
  min-width: 80px;
  line-height: 50px;
  font-size: 14px;
  border-bottom: 2px solid #9768EB;
  border-top: 2px solid #9768EB;
  text-align: center;
  text-transform: uppercase;
  color: #9768EB;
}

.exercise-selected .form-fields .week-selection > div:first-child {
  border-left: 2px solid #9768EB;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.exercise-selected .form-fields .week-selection > div:last-child {
  border-right: 2px solid #9768EB;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.exercise-selected .form-fields .week-selection > div:hover:not(.active) {
  color: #efefef;
  cursor: pointer;
  background-color: #9bd7ea;
}

.exercise-selected .form-fields .week-selection > div.active {
  color: #fefefe;
  cursor: default;
  background-color: #9768EB;
}

.exercise-selected .form-fields label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  min-height: 50px;
  padding: 2px;
}

.exercise-selected .form-fields label span {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 120px;
  font-size: 18px;
  letter-spacing: 0.32px;
  line-height: 27px;
}

.exercise-selected .form-fields label input {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  font-size: 21px;
  letter-spacing: 0.4px;
}

.exercise-selected .form-fields label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  border-radius: 0;
  outline: 0;
  font-size: 21px;
  text-indent: 3px;
}

.exercise-selected .form-fields label select:focus {
  outline: 0;
}

.exercise-selected .form-fields label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.exercise-selected .form-fields label select + i.icon-caret-down {
  position: absolute;
  top: 25px;
  right: 20px;
  color: #D9DBDC;
  font-size: 8px;
}

.catalog-history {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-height: 275px;
}

.catalog-history .link-container {
  font-size: 18px;
  height: 70px;
  padding-left: 40px;
  padding-right: 10px;
  background-color: #efefef;
}

.catalog-history .link-container .link {
  margin-right: 35px;
  min-height: 35px;
  min-width: 100px;
  color: #aaa;
  cursor: pointer;
}

.catalog-history .link-container .link span {
  min-height: 35px;
}

.catalog-history .link-container .link span.active {
  border-bottom: 4px solid #9768EB;
  color: #75787b;
  cursor: default;
}

.catalog-history .notify-container {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #efefef;
  height: 70px;
  padding: 0 40px;
}

.catalog-history .notify-container > div {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  max-height: 55px;
  min-height: 55px;
  height: 55px;
  border-radius: 6px;
}

.catalog-history .notify-container > div .icon {
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.catalog-history .notify-container > div .message {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  line-height: 55px;
  margin: 0 10px;
}

.catalog-history .notify-container > div .close {
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  line-height: 55px;
  cursor: pointer;
}

.catalog-history .notify-container .warning {
  /* background-color: #f3d95e; */
  background-color: #dac255;
  color: #fefefe;
  font-size: 15px;
  font-weight: 500;
}

.catalog-history .notify-container .warning .icon {
  /* background-color: #e9d25e; */
  background-color: #ceb74e;
}

.catalog-history .notify-container .warning .close {
  font-size: 35px;
  font-weight: 300;
  text-align: center;
}

.catalog-history .list {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-bottom: 60px;
  background-color: #efefef;
}

.catalog-history .list .list-scroll-container {
  -webkit-flex: 1 0 100%;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
  overflow-y: auto;
}

.catalog-history .list .list-scroll-container .list-scroll {
  min-height: 177px;
  max-height: 0px;
}

.catalog-history .list .list-scroll-container .list-scroll .schedule-program {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
}

.catalog-history .list .row {
  font-size: 14px;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  padding: 0 40px;
  color: #888;
}

.catalog-history .list .row:nth-child(even) {
  background-color: #fff;
}

.catalog-history .list .row.header {
  height: 50px;
  text-transform: uppercase;
  color: #aaa;
}

.catalog-history .list .row .text-column {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 200px;
}

.catalog-history .list .row .date-column {
  min-width: 100px;
  text-align: center;
}

.catalog-history .list .row .action-column {
  min-width: 100px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
}

.catalog-history .list .row .action-column span {
  font-weight: normal;
  font-size: 20px;
  padding: 0 6px;
}

.program-header-container {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-edit-header {
  max-height: 85px;
  min-height: 85px;
  height: 85px;
  margin-bottom: 30px !important;
}

.program-type-selection {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
}

.program-type-selection > .type-item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border-bottom: 2px solid transparent;
  font-size: 18px;
  color: #ddd;
  cursor: pointer;
}

.program-type-selection > .type-item .pill {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 1px;
  line-height: 14px;
  font-weight: bold;
  display: inline-block;
  line-height: 25px;
  vertical-align: top;
  margin-left: 3px;
  padding: 0 10px;
  white-space: nowrap;
  background: #AFB1B4;
  color: #FFFFFF;
  border-radius: 5px;
  text-transform: uppercase;
}

.program-type-selection > .type-item.active {
  border-color: #9768EB;
  color: #75787b;
  cursor: default;
}

.program-type-selection > .type-item:hover:not(.active) {
  border-color: #9768EB;
}

.program-type-selection > .type-item + .type-item {
  margin-left: 30px;
}

.program-type-selection > .copy-controls {
  -webkit-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.program-schedule-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-right: 5px;
  margin-bottom: 5px;
}

.program-schedule-container button {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  max-width: 130px;
  min-width: 130px;
  width: 130px;
}

.program-edit {
  margin-top: 20px;
  margin-bottom: 0px;
}

.program-edit .program-strategy-container {
  margin-bottom: 20px;
}

.program-edit .program-strategy-container .program-strategy {
  font-size: 24px;
  margin-bottom: 20px;
}

.program-edit .program-strategy-container .program-strategy i {
  -webkit-flex: 0 30px;
  -ms-flex: 0 30px;
  flex: 0 30px;
  width: 20px;
  text-align: center;
}

.program-edit .program-strategy-container .program-strategy .strategy-name {
  -webkit-flex: 1 auto;
  -ms-flex: 1 auto;
  flex: 1 auto;
  margin-left: 15px;
}

.program-edit .program-strategy-container .program-strategy .strategy-action {
  -webkit-flex: 0 130px;
  -ms-flex: 0 130px;
  flex: 0 130px;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  font-size: 12px;
  text-align: center;
  text-transform: uppercase;
  line-height: 30px;
  padding: 0px;
}

.program-edit .program-strategy-container + .program-strategy-container {
  margin-top: 20px;
}

.program-edit .program-technique {
  font-size: 20px;
  color: #efefef;
}

.program-edit .program-technique .counter {
  height: 45px;
  width: 40px;
}

.program-edit .program-technique .name {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.program-edit .program-technique .name > span {
  margin-left: 15px;
}

.program-edit .program-technique .action {
  margin-right: 30px;
  font-size: 12px;
  font-weight: 600;
  color: #9768EB;
  cursor: pointer;
}

.program-edit .program-technique .action .icon-plus {
  font-size: 8px;
}

.program-edit .program-technique .action > span {
  margin-left: 5px;
  text-transform: uppercase;
}

.program-edit .program-exercise-container {
  min-height: 80px;
}

.program-edit .program-exercise-container > div {
  background-color: #f9f9f9;
  border-radius: 0px;
  margin: 1px 0;
  min-height: 80px;
  width: 100%;
}

.program-edit .program-exercise-container > div.active-item {
  z-index: 1;
}

.program-edit .program-exercise-container > div.active-item .program-exercise .drag-icon {
  visibility: hidden;
}

.program-edit .program-exercise-container > div.active-item .program-exercise .actions {
  visibility: hidden;
}

.program-edit .program-exercise-container > div:first-child .sort-icons .icon:first-child {
  visibility: hidden;
}

.program-edit .program-exercise-container > div:last-child .sort-icons .icon:last-child {
  visibility: hidden;
}

.program-edit .program-exercise-container .program-note {
  margin-bottom: 20px;
  margin-left: 90px;
  max-width: 400px;
}

.program-edit .program-exercise-container .program-exercise {
  min-height: 80px;
  min-width: 600px;
  width: 100%;
}

.program-edit .program-exercise-container .program-exercise .drag-icon {
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  cursor: pointer;
  font-size: 19px;
  text-align: center;
}

.program-edit .program-exercise-container .program-exercise .sort-icons {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  text-align: center;
}

.program-edit .program-exercise-container .program-exercise .sort-icons .icon {
  color: #dedede;
  font-size: 14px;
  cursor: pointer;
}

.program-edit .program-exercise-container .program-exercise .sort-icons .icon:hover {
  color: #9768EB;
}

.program-edit .program-exercise-container .program-exercise .info {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-edit .program-exercise-container .program-exercise .info .title {
  font-size: 19px;
  font-weight: 400;
}

.program-edit .program-exercise-container .program-exercise .info .attributes > div {
  width: auto;
}

.program-edit .program-exercise-container .program-exercise .info .attributes > div span:first-child {
  margin-right: 5px;
  font-weight: 600;
}

.program-edit .program-exercise-container .program-exercise .info .attributes > div + div {
  margin-top: 0px;
  margin-left: 25px;
}

.program-edit .program-exercise-container .program-exercise .actions {
  max-height: 38px;
  min-height: 38px;
  height: 38px;
  max-width: 180px;
  min-width: 180px;
  width: 180px;
  color: #ddd;
  font-size: 19px;
}

.program-edit-footer {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin: 15px 30px;
}

.whiteboard {
  min-width: 640px;
  width: 100%;
}

.whiteboard > section {
  margin: 15px 30px;
}

.whiteboard-schedule {
  min-width: 640px;
  width: 100%;
}

.whiteboard-schedule .whiteboard-program {
  background-color: #ffffff;
  padding: 30px 0 15px;
}

.whiteboard-program {
  max-height: 140px;
  min-height: 140px;
  height: 140px;
  background-color: #f9f9f9;
  padding: 30px 30px 15px;
}

.whiteboard-program .name {
  font-size: 30px;
  line-height: 30px;
  min-height: 30px;
}

.whiteboard-program .origin {
  font-size: 26px;
  line-height: 30px;
  min-height: 30px;
}

.whiteboard-program .edit {
  margin-top: 5px;
  min-height: 25px;
}

.whiteboard-program .edit span {
  font-size: 10px;
  margin-left: 8px;
  text-transform: uppercase;
}

.whiteboard-date span {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}

.whiteboard-date .date-input {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  max-width: 130px;
  min-width: 130px;
  width: 130px;
  margin-bottom: 15px;
}

.whiteboard-date .date-input input {
  border: 1px solid #bbb;
  border-right: none;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  width: 100px;
  height: 30px;
  line-height: 30px;
  text-indent: 5px;
  outline: 0;
}

.whiteboard-date .date-input .input-icon {
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  background-color: #9768EB;
  border: 1px solid #9768EB;
  border-left: none;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.whiteboard-date .date-input .input-icon i.fa {
  font-size: 16px;
}

.whiteboard-date .date-disabled .input-icon {
  background-color: #cdcdcd;
  border: 1px solid #cdcdcd;
}

.week-list {
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  background-color: #f9f9f9;
  padding: 10px 30px;
}

.week-list .week-item {
  font-size: 16px;
  margin-right: 20px;
  min-height: 28px;
}

.week-list .week-item.active {
  border-bottom: 2px solid #9768EB;
}

.week-list .week-item:hover:not(.active) {
  cursor: pointer;
}

.week-list .week-copy {
  -webkit-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.day-list {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  margin: 20px 0;
}

.day-list .day-item {
  -webkit-justify-content: center;
  justify-content: center;
  border-top: 1px solid #9768EB;
  border-bottom: 1px solid #9768EB;
  color: #9768EB;
  font-size: 12px;
  min-height: 45px;
  min-width: 80px;
  text-transform: uppercase;
}

.day-list .day-item.active {
  background-color: #9768EB;
  color: #fefefe;
}

.day-list .day-item:hover:not(.active) {
  background-color: rgba(65, 187, 231, 0.5);
  color: #ffffff;
  cursor: pointer;
}

.day-list .day-item:first-child {
  border-left: 1px solid #9768EB;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.day-list .day-item:last-child {
  border-right: 1px solid #9768EB;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.day-list-schedule .day-item {
  background-color: #bbb;
  border-radius: 6px;
}

.day-list-schedule .day-item .drag-icon {
  max-height: 20px;
  min-height: 20px;
  height: 20px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  cursor: move;
  font-size: 12px;
  text-align: center;
}

.day-list-schedule .day-item .name {
  text-transform: uppercase;
}

.day-list-schedule .day-item + .day-item {
  margin-left: 10px;
}

.program-section {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
}

.program-section.accept-drop {
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 6px;
  padding: 10px;
}

.program-section.accept-drop .action-with-icon {
  display: none;
}

.program-section.accept-drop .name > i {
  display: none;
}

.program-section .name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 18px;
}

.program-section .name span {
  margin-right: 8px;
}

.program-section .action {
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 110px;
  min-width: 110px;
  width: 110px;
  font-size: 12px;
}

.program-section .action span {
  margin-right: 8px;
  text-transform: uppercase;
}

.program-section .action i.fa {
  font-size: 15px;
}

.program-section-placeholder > div {
  -webkit-justify-content: center;
  justify-content: center;
  border: 1px dashed #bbb;
  border-radius: 6px;
  margin: 4px;
  width: 100%;
}

.program-section-placeholder > div span.text {
  color: #bbb;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}

.program-exercise-container {
  min-height: 86px;
}

.program-exercise-container > div {
  background-color: #f9f9f9;
  border-radius: 6px;
  margin: 2px;
  min-height: 80px;
  width: 100%;
}

.program-exercise-container > div.active-item {
  z-index: 1;
}

.program-exercise-container > div.active-item .program-exercise .drag-icon {
  visibility: hidden;
}

.program-exercise-container > div.active-item .program-exercise .actions {
  visibility: hidden;
}

.program-exercise-container .add-exercise {
  -webkit-justify-content: center;
  justify-content: center;
  color: #aaa;
  font-size: 16px;
  border: 2px dashed #CDD3D7;
  background-color: #EFEFEF;
}

.program-exercise-container .add-exercise span {
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 13px;
  color: #CDD3D7;
  text-transform: uppercase;
}

.program-exercise-container .program-note {
  margin-bottom: 20px;
  margin-left: 90px;
  max-width: 400px;
}

.program-exercise-container .program-exercise {
  min-height: 80px;
  min-width: 600px;
  width: 100%;
}

.program-exercise-container .program-exercise .drag-icon {
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  cursor: pointer;
  font-size: 19px;
  text-align: center;
}

.program-exercise-container .program-exercise .info {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-exercise-container .program-exercise .info .title {
  font-size: 19px;
  font-weight: 600;
}

.program-exercise-container .program-exercise .info .attributes > div span:first-child {
  margin-right: 5px;
  font-weight: 600;
}

.program-exercise-container .program-exercise .info .attributes > div + div {
  margin-left: 25px;
}

.program-exercise-container .program-exercise .actions {
  color: #ddd;
  font-size: 19px;
}

.accept-drop-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #cdcdcd;
  background-color: rgba(225, 225, 225, 0.5);
  border-radius: 6px;
  color: #fff;
  font-size: 24px;
}

.accept-drop-container > span {
  text-align: center;
}

.accept-drop-container.hidden {
  display: none;
}

.sort-order-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #cdcdcd;
  background-color: rgba(225, 225, 225, 0.5);
  border-radius: 6px;
  color: #fff;
  font-size: 24px;
}

.sort-order-container > span {
  text-align: center;
}

.sort-order-container.hidden {
  display: none;
}

.schedule-selected-athletes {
  margin-left: 50px;
  margin-bottom: auto;
}

.schedule-selected-athletes span {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
  margin-bottom: 8px;
  margin-top: 12px;
}

.schedule-selected-athletes .athlete-names {
  max-width: 600px;
}

.schedule-selected-athletes .athlete-names .athlete-names-more {
  color: #9768EB;
  cursor: pointer;
  margin-left: 5px;
}

.bulk-schedule-divider {
  margin-top: 50px;
  text-align: center;
  width: 47px;
}

.bulk-schedule-divider i {
  color: #D7D9DA;
  font-size: 20px;
}

.whiteboard-footer {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.calendar-menu {
  margin: 20px 0;
}

.calendar-menu > div {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
}

@media only screen and (max-width: 1053px) {
  .calendar-menu > div {
    font-size: 16px;
  }
}

.calendar-menu > div.active {
  border-bottom: 2px solid #9768EB;
  cursor: default;
}

.calendar-menu > div:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.calendar-menu > div + div {
  margin-left: 40px;
}

.calendar-parent {
  position: relative;
}

.calendar-month {
  -webkit-flex: 1 0 690px;
  -ms-flex: 1 0 690px;
  flex: 1 0 690px;
  max-width: 690px;
  min-width: 690px;
  width: 690px;
  margin: 1px 0 0;
}

.calendar-month .calendar-header {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border: 1px solid #ccc;
  border-top: 0;
  font-size: 18px;
  margin: -1px 0 0 -1px;
}

.calendar-month .calendar-header .fa {
  font-size: 24px;
  padding: 10px;
  box-sizing: content-box;
}

.calendar-month .calendar-header > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.calendar-month .calendar-header > div:first-child {
  margin-right: auto;
  max-width: 20px;
  min-width: 20px;
  width: 20px;
  cursor: pointer;
}

.calendar-month .calendar-header > div:last-child {
  margin-left: auto;
  max-width: 20px;
  min-width: 20px;
  width: 20px;
  cursor: pointer;
}

.calendar-month .calendar-header .year-container {
  position: relative;
}

.calendar-month .calendar-header .year-container select.year-select {
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
  -webkit-flex: 0.1 0 0;
  -ms-flex: 0.1 0 0;
  flex: 0.1 0 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  color: #808080;
  text-indent: 0px;
}

.calendar-month .calendar-header .year-container select.year-select:focus {
  outline: 0;
}

.calendar-month .calendar-header .year-container select.year-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.calendar-month .calendar-header .year-container select.year-select::-ms-expand {
  display: none;
}

.calendar-month .calendar-header .year-container select.year-select + i.icon-caret-down {
  position: absolute;
  top: 10px;
  right: -12px;
  color: #D9DBDC;
  font-size: 6px;
  pointer-events: none;
}

.calendar-month .week-day-labels {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  background-color: #dfdfdf;
  color: #c0c0c0;
}

.calendar-month .week-day-labels.left > div {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding-left: 6px;
}

.calendar-month .week-day-labels > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 99.5px;
  min-width: 99.5px;
  width: 99.5px;
  border: 1px solid transparent;
  color: #999;
  font-size: 13px;
  margin: -1px 0 0 -1px;
}

.calendar-month .week-day-labels > div .accept-drop-container {
  max-width: 97.5px;
  min-width: 97.5px;
  width: 97.5px;
  right: initial;
  left: initial;
}

.calendar-month .week-day-labels div:first-child {
  border-left-color: #ccc;
}

.calendar-month .week-day-labels div:last-child {
  border-right-color: #ccc;
}

.calendar-month .calendar-days {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.calendar-month .calendar-days .calendar-day {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  max-width: 99.5px;
  min-width: 99.5px;
  width: 99.5px;
  border: 1px solid #ccc;
  font-size: 18px;
  margin: -1px 0 0 -1px;
  padding: 8px 12px;
}

.calendar-month .calendar-days .calendar-day.day-activities {
  background: #00B96D;
  color: #fff;
}

.calendar-month .calendar-days .calendar-day.current-day {
  background-color: #ffffff;
  border-bottom: 6px solid #9768EB;
}

.calendar-month .calendar-days .calendar-day.program-range {
  background-color: #ffffff;
}

.calendar-month .calendar-days .calendar-day.empty {
  background-color: #efefef;
}

.calendar-month .calendar-days .calendar-day .calendar-day-number {
  margin-bottom: 5px;
  font-size: 16px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-number > .month-abbrev {
  font-size: 15px;
  line-height: 28px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern,
.calendar-month .calendar-days .calendar-day .calendar-day-existing {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  min-height: 15px;
  font-size: 11px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern i,
.calendar-month .calendar-days .calendar-day .calendar-day-existing i {
  margin: 2px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern {
  margin-top: 10px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-scheduled {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  font-size: 9px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-scheduled i {
  margin: 2px;
}

.calendar-month.input-ctl {
  -webkit-flex: 1 0 280px;
  -ms-flex: 1 0 280px;
  flex: 1 0 280px;
  max-width: 280px;
  min-width: 280px;
  width: 280px;
  box-shadow: 6px 6px 18px 0px #4a4a4a;
  background-color: #fff;
  position: absolute;
  top: 40px;
  left: 0;
  z-index: 10;
  margin: 1px 0;
  font-weight: 500;
}

.calendar-month.input-ctl .calendar-header {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  border-top: 1px solid #ccc;
  font-size: 14px;
  cursor: default;
}

.calendar-month.input-ctl .calendar-header .icon {
  cursor: pointer;
}

.calendar-month.input-ctl .calendar-week-header {
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  background-color: #aaa;
}

.calendar-month.input-ctl .calendar-week-header > div {
  max-width: 35px;
  min-width: 35px;
  width: 35px;
  color: #dfdfdf;
  cursor: default;
  font-weight: 600;
  text-align: center;
  border: 2.1275px solid transparent;
  margin: 2px;
}

.calendar-month.input-ctl .calendar-days {
  margin-bottom: 5px;
}

.calendar-month.input-ctl .calendar-days .calendar-day {
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  max-width: 35px;
  min-width: 35px;
  width: 35px;
  margin: 2px;
  border: 2.1275px solid transparent;
  border-radius: 100%;
  padding: 0;
}

.calendar-month.input-ctl .calendar-days .calendar-day.empty {
  border-radius: 0;
  background-color: transparent;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-day {
  border: 2.1275px solid #9768EB;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range {
  background-color: #def5fd;
  border-radius: 0;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range:hover {
  border-radius: 100%;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range .calendar-day-number {
  color: #8d8d8d;
}

.calendar-month.input-ctl .calendar-days .calendar-day:not(.empty) {
  cursor: pointer;
}

.calendar-month.input-ctl .calendar-days .calendar-day:not(.empty):hover {
  background-color: #eee;
}

.calendar-month.input-ctl .calendar-days .calendar-day .calendar-day-number {
  padding: 1px;
  text-align: center;
  margin-bottom: 0;
}

.calendar-day-info {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 300px;
  min-width: 300px;
  width: 300px;
}

.calendar-day-info .day-date {
  border-bottom: 1px solid #ccc;
  font-size: 13px;
  font-weight: 600;
  margin: 35px 0 20px;
  min-height: 40px;
  text-transform: uppercase;
}

.calendar-day-info .day-date > .icon-calendar {
  background-color: #9768EB;
  border: 1px solid #9768EB;
  border-radius: 3px;
  padding: 5px;
  margin-left: 7px;
  line-height: 28px;
  font-size: 15px;
  color: #efefef;
}

.calendar-day-info .day-program {
  max-width: 295px;
  min-width: 295px;
  width: 295px;
  letter-spacing: 0.75px;
  margin-bottom: 25px;
  font-size: 16px;
  font-weight: 500;
}

.calendar-day-info .day-program .light-grey-text {
  color: #A7A8A7;
}

.calendar-day-info .day-program.action {
  cursor: pointer;
}

.week-wrapper {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-height: 425px;
  /* height: 425; */
}

.week-wrapper.small {
  min-height: 225px;
  /* height: 225px; */
}

.week-wrapper .week-button-column {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 36px;
  font-weight: 700;
  min-width: 20px;
}

.week-wrapper .week-button-column > div {
  cursor: pointer;
}

@media only screen and (min-width: 1054px) {
  .week-wrapper .week-button-column .fa-angle-left {
    margin-left: -25px;
  }

  .week-wrapper .week-button-column .fa-angle-right {
    margin-right: -25px;
  }
}

.week-wrapper .week-day-column {
  border-left: 1px solid #ddd;
  min-width: 140px;
}

.week-wrapper .week-day-column .day-number {
  -webkit-align-self: flex-start;
  align-self: flex-start;
  color: #aaa;
  font-size: 16px;
  margin: 10px 15px;
}

.week-wrapper .week-day-column .week-day-info-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  padding-bottom: 5px;
}

.week-wrapper .week-day-column .week-day-info-container:not(:empty) {
  border-bottom: 4px solid #aaa;
}

.week-wrapper .week-day-column .week-day-info-container .week-day-program {
  max-width: 130px;
  min-width: 130px;
  width: 130px;
  background-color: #fefefe;
  border-radius: 6px;
  color: #bbb;
  font-size: 13px;
  font-weight: 200;
  margin: 4px 0;
  padding: 8px;
}

.week-wrapper .week-day-column .week-day-info-container .week-day-program.action {
  cursor: pointer;
}

.week-wrapper .week-day-column:nth-last-child(2) {
  border-right: 1px solid #ddd;
}

.week-wrapper .week-day-column.current-day {
  background-color: #ffffff;
}

.week-wrapper .week-day-column.current-day .day-number {
  color: #808080;
}

.week-wrapper .week-day-column.current-day .week-day-info-container:not(:empty) {
  border-bottom: 4px solid #9768EB;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program {
  background-color: #f4f4f4;
  color: inherit;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program .week-day-program-title:not(.light-grey-text) {
  color: #9768EB;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program .week-day-program-name:not(.light-grey-text) {
  color: #888888;
}

.chart-menu {
  margin: 50px 0 30px 0;
}

.chart-menu .chart-menu-item {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  color: #a0a4a8;
  margin-right: 40px;
}

@media only screen and (max-width: 1053px) {
  .chart-menu .chart-menu-item {
    font-size: 16px;
  }
}

.chart-menu .chart-menu-item.active {
  border-bottom: 2px solid #9768EB;
  color: #333;
  cursor: default;
}

.chart-menu .chart-menu-item:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.line-chart {
  margin: 25px 0 0 0;
}

.line-chart .line-chart-canvas {
  max-height: 350px;
  min-height: 350px;
  height: 350px;
  max-width: 700px;
  min-width: 700px;
  width: 700px;
}

.line-chart .line-chart-canvas.small {
  max-height: 275px;
  min-height: 275px;
  height: 275px;
  max-width: 550px;
  min-width: 550px;
  width: 550px;
}

.line-chart .line-chart-menu {
  font-size: 14px;
  margin: 25px 0;
}

.program-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 700px;
  min-width: 700px;
  width: 700px;
  margin: 25px 0 0 0;
  min-height: 350px;
}

.program-chart .program-complete {
  margin: 5px 15px;
}

.program-chart .program-complete .program-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 11px;
  margin-bottom: 6px;
}

.program-chart .program-complete .program-info .program-title {
  font-weight: 600;
  text-transform: uppercase;
}

.program-chart .program-complete .program-info .program-name {
  text-transform: uppercase;
}

.program-chart .program-complete .program-info .icon {
  color: #cdcdcd;
  font-size: 10px;
}

.program-chart .program-complete canvas {
  height: 60px;
  width: 310px;
}

.selection-component {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  position: relative;
}

.selection-component:after {
  color: #ffffff;
  content: '>';
  font: 600 12px 'Consolas', monospace;
  position: absolute;
  top: 6px;
  right: 12px;
  padding: 0 0 3px;
  pointer-events: none;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.selection-component:before {
  background-color: #9768EB;
  content: '';
  display: block;
  position: absolute;
  top: 0px;
  right: 6px;
  width: 20px;
  height: inherit;
  pointer-events: none;
}

.selection-component select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #9768EB;
  border: none;
  color: #ffffff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  height: 30px;
  margin: 0;
  outline: none;
  padding-left: 10px;
  text-transform: uppercase;
  width: 100%;
}

.chart-legend {
  font-size: 14px;
  margin: 0 20px;
}

.chart-legend > .fa {
  margin-right: 5px;
}

.chart-legend > .fa.average {
  color: rgba(207, 218, 220, 0.5);
}

.chart-legend > .fa.score {
  color: rgba(0, 182, 235, 0.9);
}

.chart-legend > .fa.team-average {
  color: rgba(125, 125, 125, 0.75);
}

.chart-legend > .fa.completed {
  color: rgba(32, 183, 105, 0.8);
}

.chart-legend > .fa.scheduled {
  color: #dfdfdf;
}

.chart-details {
  max-width: 300px;
  min-width: 300px;
  width: 300px;
  margin-top: 16px;
}

.chart-details .chart-date-header {
  border-bottom: 1px solid #ccc;
  padding-bottom: 4px;
  margin-bottom: 4px;
  -webkit-align-items: center;
  align-items: center;
}

.chart-details .chart-date-header i {
  font-size: 18px;
  display: none;
}

.chart-details .chart-date {
  max-height: 22px;
  min-height: 22px;
  height: 22px;
  color: #75777A;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.chart-details .main-score {
  margin-top: 5px;
}

.chart-details .value-badge {
  color: #9768EB;
  font-size: 48px;
  font-weight: 100;
  margin-bottom: -6px;
}

.chart-details .value-large {
  font-size: 56px;
  font-weight: 100;
  line-height: 56px;
  margin-right: 20px;
}

.chart-details .value-change-icon.fa-sort-asc {
  font-weight: 100;
  margin-top: 4px;
}

.chart-details .value-change-icon.fa-sort-desc {
  font-weight: 100;
  margin-bottom: 6px;
}

.chart-details .value-change-icon.unchanged {
  color: #808080;
}

.chart-details .value-change-icon.increase {
  color: #20b769;
}

.chart-details .value-change-icon.decrease {
  color: #c42a3b;
}

.chart-details .value-change {
  font-size: 14px;
  font-weight: 500;
  margin-left: 6px;
}

.chart-details .value-change.unchanged {
  color: #808080;
}

.chart-details .value-change.increase {
  color: #20b769;
}

.chart-details .value-change.decrease {
  color: #c42a3b;
}

.chart-details .info-label {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.chart-details .chart-stats-container {
  margin-top: 20px;
}

.chart-details .test-results-button-container {
  flex: 1;
  padding: 15px 0px;
}

.chart-details .chart-stats {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  padding: 15px 0;
}

.chart-details .chart-stats .name {
  font-size: 12px;
}

.chart-details .chart-stats .value {
  font-size: 26px;
  font-weight: 100;
  line-height: 34px;
}

.chart-details .chart-stats-grid .chart-stats {
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  border-top: none;
}

.chart-details .chart-stats-grid .chart-stats:nth-child(-n+2) {
  border-top: 1px solid #ccc;
}

.chart-details .chart-stats-grid .chart-stats:nth-child(odd) {
  border-right: 1px solid #ccc;
}

.chart-details .pie-chart-container {
  margin-top: 20px;
  margin-bottom: -20px;
}

.chart-details .pie-chart {
  color: #aaa;
  font-size: 13px;
  margin-bottom: 20px;
}

.chart-details .pie-chart > div {
  margin-top: 10px;
}

.chart-details .pie-chart .pie-chart-canvas {
  max-height: 70px;
  min-height: 70px;
  height: 70px;
  max-width: 70px;
  min-width: 70px;
  width: 70px;
}

.chart-details .rpe-container {
  margin-top: 10px;
}

.chart-details .rpe-container .red-text,
.chart-details .rpe-container .green-text {
  font-weight: 500;
  margin-left: 3px;
}

.chart-details .rpe-container div + div {
  margin-left: 20px;
}

.chart-details .program-week {
  margin-top: 20px;
  padding: 18px 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.chart-details .trophies {
  margin-top: 20px;
}

.chart-details .trophies .trophy-image {
  margin-right: 6px;
  display: inline-block;
  width: 28px;
  position: relative;
  margin-top: -13px;
}

.chart-details .trophies .trophy-image.trophy-image--badge {
  margin-top: 0;
  width: 24px;
}

.chart-details .trophies .trophy-icon {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  max-width: 28px;
  min-width: 28px;
  width: 28px;
  margin-top: -11px;
  margin-right: 5px;
}

.chart-details .trophies .trophy-icon img {
  display: block;
}

.chart-details .trophies .trophy-place {
  padding: 0 6px;
  font-size: 30px;
  font-weight: 100;
}

.chart-details .trophies .trophy-name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  margin-left: 13px;
  font-size: 14px;
  line-height: 16px;
}

.chart-details .no-details {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 300px;
  min-width: 300px;
  width: 300px;
  padding-bottom: 100px;
}

.notes-menu {
  margin: 15px 0;
}

.notes-menu .notes-menu-item {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  font-size: 18px;
  line-height: 20px;
}

.notes-menu .notes-menu-item.active {
  border-bottom: 2px solid #9768EB;
  color: #333;
  cursor: default;
}

.notes-menu .notes-menu-item:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.notes-menu .notes-menu-item + .notes-menu-item {
  margin-left: 45px;
}

.notes-calendar {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 492px;
  min-width: 492px;
  width: 492px;
}

.notes-calendar .calendar-header {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  margin: 1px 1px 0 -1px;
  background-color: #efefef;
  border: 1px solid #ccc;
  font-size: 16px;
  cursor: default;
}

.notes-calendar .calendar-header .icon {
  cursor: pointer;
}

.notes-calendar .week-day-labels {
  margin: 0 1px 0 0;
}

.notes-calendar .week-day-labels > div {
  min-width: 0;
  max-width: none;
  width: 14.28571%;
  font-size: 12px;
  color: #999;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  padding-left: 3px;
  align-items: center;
  justify-content: center;
}

.notes-calendar .calendar-days {
  margin: 0 1px 5px 0;
  background-color: #efefef;
}

.notes-calendar .calendar-days .calendar-day {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 0;
  max-width: none;
  width: 14.28571%;
  min-height: 0;
  max-height: none;
  height: 62px;
  margin: -1px 0px 0px -1px;
  border: 1px solid #cdcdcd;
  font-size: 16px;
  padding: 0;
  color: #cdcdcd;
}

.notes-calendar .calendar-days .calendar-day.current-day {
  color: #9768EB;
}

.notes-calendar .calendar-days .calendar-day.day-activities {
  background-color: #2d8b00;
}

.notes-calendar .calendar-days .calendar-day:not(.empty):not(.day-activities) {
  cursor: pointer;
}

.notes-calendar .calendar-days .calendar-day:not(.empty):not(.day-activities):hover {
  opacity: 0.8;
}

.notes-calendar .calendar-days .calendar-day .calendar-day-number {
  padding: 1px;
  line-height: 32px;
  text-align: left;
  padding: 8px 12px;
  font-size: 18px;
  font-size: 16px;
}

.bc-section,
.tl-section,
.soap-section {
  margin-top: 20px;
}

.soap-label.fields-header.high-level-field-label {
  margin-top: 20px;
  margin-bottom: 0px;
}

.bc-bodyfat {
  position: relative;
}

.bc-bodyfat > .basic-input.small {
  width: 80px;
}

.bc-bodyfat:after {
  content: '%';
  position: absolute;
  top: 0;
  left: 60px;
  line-height: 38px;
  font-size: 18px;
  color: #bbb;
}

.bc-alert {
  width: 75%;
  margin-bottom: 10px;
}

.tl-total-load {
  margin-left: 15px;
}

.tl-total-load > .basic-input.small {
  width: 70px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #cdcdcd;
  color: #9768EB;
}

.bc-entry-header > .field-label + .field-label,
.bc-entry > .field-label + .field-label {
  margin-left: 20px;
}

.bc-entry-header .bc-input,
.bc-entry .bc-input {
  min-width: 160px;
  max-width: 160px;
}

.bc-entry-header .bc-filler,
.bc-entry .bc-filler {
  min-width: 10px;
  max-width: 10px;
}

.tl-entry-header > .field-label + .field-label,
.tl-entry > .field-label + .field-label {
  margin-left: 20px;
}

.tl-entry-header .tl-select,
.tl-entry .tl-select {
  min-width: 215px;
  max-width: 215px;
}

.tl-entry-header .tl-input,
.tl-entry .tl-input {
  min-width: 100px;
  max-width: 100px;
}

.tl-entry-header .tl-filler,
.tl-entry .tl-filler {
  min-width: 10px;
  max-width: 10px;
}

.bc-entry .bc-input {
  position: relative;
}

.bc-entry .bc-input > .basic-input.small {
  width: 130px;
}

.bc-entry .bc-input:after {
  content: 'lbs';
  position: absolute;
  top: 0;
  left: 100px;
  line-height: 38px;
  font-size: 18px;
  color: #bbb;
}

.bc-entry .bc-change > .basic-input.small {
  width: 100px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #cdcdcd;
}

.bc-entry .bc-delete {
  font-size: 20px;
  color: #9768EB;
  cursor: pointer;
}

.tl-entry .tl-select-input {
  position: relative;
  border: 2px solid #d8d8d8;
  border-radius: 4px;
  padding: 5px 13px;
  font-size: 16px;
}

.tl-entry .tl-select-input .select-toggle {
  min-width: 185px;
  max-width: 185px;
}

.tl-entry .tl-select-input .select-toggle i {
  position: absolute;
  top: 14px;
  right: 10px;
  font-size: 6px;
}

.tl-entry .tl-select-input .options {
  position: absolute;
  top: 37px;
  left: 0px;
  overflow-y: auto;
  background-color: #dfdfdf;
  min-width: 220px;
  max-height: 180px;
  z-index: 2;
}

.tl-entry .tl-select-input .options > div {
  margin-top: 1px;
  margin-bottom: 3px;
  padding-left: 12px;
  min-height: 28px;
  line-height: 28px;
  cursor: pointer;
}

.tl-entry .tl-select-input .options > div:hover {
  background-color: #efefef;
}

.tl-entry .tl-input > .basic-input.small {
  width: 100px;
}

.tl-entry .tl-calculated-load > .basic-input.small {
  width: 100px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #cdcdcd;
}

.tl-entry .tl-delete {
  font-size: 20px;
  color: #9768EB;
  cursor: pointer;
}

.bc-free-form,
.tl-free-form {
  width: 75%;
  font-size: 16px;
}

.soap-date > * {
  width: 170px;
}

.soap-date .date-input > .input-icon {
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 35px;
  min-width: 40px;
  max-width: 40px;
  margin-right: 3px;
  background-color: #9768EB;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  font-size: 20px;
  color: #ffffff;
}

.soap-text-container {
  page-break-inside: avoid;
}

.soap-treatments .checkbox-input {
  margin-bottom: 8px;
}

.soap-treatments .soap-treatment-options {
  padding-left: 24px;
}

.soap-treatments .soap-treatment-options .checkbox-input {
  margin-bottom: 8px;
}

.soap-treatments .soap-treatment-text {
  padding-left: 24px;
}

.soap-treatments .soap-treatment-text .basic-input {
  width: 180px;
  margin-bottom: 8px;
}

.soap-objective.field div textarea {
  height: 85px;
  margin-bottom: 10px;
}

.fa-notes {
  margin: -10px 0px 0px 12px;
  color: #9768EB;
  font-size: 7px;
}

.time-span-question {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.time-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-top: 24px;
}

.time-label {
  width: 103px;
  display: block;
  font-size: 13px;
  letter-spacing: .21px;
  line-height: 19px;
  color: #6C6D6C;
  text-transform: uppercase;
}

.button-select {
  display: inline-block;
  cursor: pointer;
}

.button-select + .button-select {
  margin-left: 6px;
}

.button-select.secondary .select-trigger {
  background: #D9DBDC;
}

.button-select.small .select-trigger {
  width: 69px;
}

.button-select.indented .select-trigger {
  padding-left: 15px;
}

.button-select .select-trigger {
  color: #fff;
  background: #41BAEC;
  border-radius: 3px;
  width: 69px;
  position: relative;
}

.button-select .select-trigger .current-selection {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 10px 8px 10px 10px;
}

.button-select .select-trigger .current-selection .current {
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 14px;
  font-weight: bold;
  color: #fff;
}

.button-select .select-trigger .current-selection .icon-caret-down {
  font-size: 5px;
  bottom: -4px;
  position: relative;
}

.button-select .select-trigger .time-options-hidden {
  display: none;
}

.button-select .select-trigger .time-options {
  color: #41BAEC;
  border-color: #41BAEC;
  background: #fff;
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 17px;
  font-weight: bold;
  border-style: solid;
  border-top-width: 0px;
  border-radius: 0px 0px 3px 3px;
  width: 69px;
  position: absolute;
  z-index: 10;
}

.button-select .select-trigger .time-options.secondary {
  color: #D9DBDC;
  border-color: #D9DBDC;
}

.button-select .select-trigger .time-options.secondary .time-option:hover {
  color: #fff;
  background: #D9DBDC;
}

.button-select .select-trigger .time-options .time-option {
  padding: 3px 14px 3px 7px;
}

.button-select .select-trigger .time-options .time-option:hover {
  color: #fff;
  background: #41BAEC;
}

.tooltipHidden {
  display: none;
}

.tooltip,
.tooltip-right,
.tooltip-bottom,
.tooltip-autoschedule,
.tooltip-left {
  position: absolute;
  min-width: 300px;
  max-width: 360px;
  width: max-content;
  width: -webkit-max-content;
  min-height: 72px;
  top: -130%;
  left: 65px;
  z-index: 10;
  border-radius: 6px;
  padding: 20px 25px;
  font-size: 16px;
  font-family: Nudista-web;
  background-color: #2e2e2e;
  color: white;
  line-height: 24px;
  text-align: left;
  letter-spacing: .35px;
}

.tooltip .ttContent,
.tooltip-right .ttContent,
.tooltip-bottom .ttContent,
.tooltip-autoschedule .ttContent,
.tooltip-left .ttContent {
  color: #929392;
  font-weight: 400;
  text-transform: none;
}

.tooltip .ttTitle,
.tooltip-right .ttTitle,
.tooltip-bottom .ttTitle,
.tooltip-autoschedule .ttTitle,
.tooltip-left .ttTitle {
  height: 40px;
  text-transform: none;
}

.tooltip-bottom {
  top: 55px;
  left: -125px;
}

.tooltip-autoschedule {
  left: -85px;
  top: -290px;
}

.tooltip-left {
  left: inherit;
  right: 45px;
}

.tooltip:after,
.tooltip-right:after,
.tooltip-bottom:after,
.tooltip-autoschedule:after,
.tooltip-left:after {
  position: absolute;
  left: -20px;
  top: 15px;
  border-color: transparent #2e2e2e;
  border-style: solid;
  border-width: 20px 20px 20px 0px;
  height: 0px;
  width: 0px;
  content: " ";
}

.tooltip-bottom:after {
  left: 130px;
  top: -20px;
  border-color: #2e2e2e transparent;
  border-width: 0px 20px 20px 20px;
}

.tooltip-autoschedule:after {
  left: 160px;
  top: 256px;
  border-color: #2e2e2e transparent;
  border-width: 20px 20px 0px 20px;
}

.tooltip-left:after {
  left: inherit;
  right: -20px;
  border-width: 20px 0px 20px 20px;
}

.tooltipClose {
  float: right;
  padding: 0px 10px 3px 0px;
  color: lightblue;
  cursor: default;
  font-size: 24px;
}

.chart-tooltip {
  position: absolute;
  min-width: 255px;
  max-width: 300px;
  min-height: 100px;
  padding: 10px;
  background-color: #2e2e2e;
  z-index: 1;
  cursor: default;
  pointer-events: none;
}

.chart-tooltip .header {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  color: #efefef;
}

.chart-tooltip .content {
  font-size: 13px;
  margin-top: 6px;
  margin-bottom: 6px;
}

.chart-tooltip .content > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 20px;
  max-height: 20px;
}

.chart-tooltip .content > div > i {
  min-width: 16px;
}

.chart-tooltip .content > div > div {
  margin-left: 6px;
}

.chart-tooltip .content > div.completed {
  color: #16884e;
}

.chart-tooltip.hidden {
  visiblity: hidden;
}

.chart-tooltip.bottom:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 0;
  right: 0;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.bottom-left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 10px;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.bottom-right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  right: 10px;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.top:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 0;
  right: 0;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.top-left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 10px;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.top-right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  right: 10px;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  top: 0;
  bottom: 0;
  left: -8px;
  border-color: transparent #2e2e2e;
  border-width: 10px 10px 10px 0;
}

.chart-tooltip.right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  top: 0;
  bottom: 0;
  right: -8px;
  border-color: transparent #2e2e2e;
  border-width: 10px 0 10px 10px;
}

.fa {
  transform: none !important;
}

.upload-container .upload-section {
  max-height: 200px;
  min-height: 200px;
  height: 200px;
  max-width: 400px;
  min-width: 400px;
  width: 400px;
  border: 2px dashed #ddd;
  font-size: 20px;
  color: #bbb;
  cursor: pointer;
  position: relative;
}

.upload-container .upload-section > .upload-message {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  text-align: center;
}

.upload-container .upload-section > .upload-preview {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background-color: #fefefe;
}

.upload-container > input[type='file'] {
  opacity: 0;
}

div.image-control {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-height: 280px;
  min-height: 280px;
  height: 280px;
  margin-top: 40px;
}

div.image-control .image-label {
  padding-top: 40px;
}

div.image-control .silent-file-input {
  width: 240px;
}

.image-buttons button {
  max-height: 25px;
  min-height: 25px;
  height: 25px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  font-size: 11px;
}

.active-upload {
  max-width: 350px;
  min-width: 350px;
  width: 350px;
}

.active-upload .file-info {
  margin-bottom: 10px;
  font-size: 14px;
}

.active-upload .file-info .file-info-size {
  font-size: 12px;
}

.active-upload .progress-bar-container {
  max-height: 18px;
  min-height: 18px;
  height: 18px;
  border-radius: 6px;
  background-color: #dedede;
}

.active-upload .progress-bar-container > .progress-bar {
  max-height: 18px;
  min-height: 18px;
  height: 18px;
  border-radius: 6px;
  background-color: #9768EB;
  font-size: 12px;
  font-weight: 600;
  color: #efefef;
  text-indent: 6px;
}

.active-upload .progress-bar-container > .progress-bar.success {
  background-color: #9768EB;
}

.active-upload .progress-bar-container > .progress-bar.error {
  background-color: #af0a2f;
}

.active-upload .message {
  margin-top: 10px;
}

.exercise_container {
  -webkit-flex: 1 0 400px;
  -ms-flex: 1 0 400px;
  flex: 1 0 400px;
  position: relative;
}

.exercise_nav {
  -webkit-flex: 1 0 400px;
  -ms-flex: 1 0 400px;
  flex: 1 0 400px;
  max-width: 400px;
  min-width: 400px;
  width: 400px;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.exercise_nav .search {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-bottom: 1px solid #bbb;
  border-right: 1px solid #bbb;
}

.exercise_nav .search input[type='text'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: none;
  font-size: 20px;
  font-weight: 200;
  height: 49px;
  line-height: 20px;
  text-indent: 15px;
  outline: none;
}

.exercise_nav .search button[type='reset'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  background-color: #bbb;
  border: none;
  color: #fefefe;
  font-size: 12px;
  margin: 0 10px;
  min-height: 30px;
}

.exercise_nav .search button[type='submit'] {
  -webkit-flex: 0;
  -ms-flex: 0;
  flex: 0;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  background-color: transparent;
  border: none;
  color: #fefefe;
  margin: 0px;
  min-height: 30px;
}

.exercise_nav .search i.fa {
  font-size: 20px;
  color: #bbb;
}

.exercise_nav .add {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  padding: 10px;
}

.exercise_nav .add i.fa {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.exercise_nav .add strong {
  -webkit-flex: 0.975;
  -ms-flex: 0.975;
  flex: 0.975;
}

.exercise_nav .list {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  border-right: 1px solid #bbb;
  min-height: 10px;
  overflow-y: auto;
}

.exercise_nav .list > div:not(.filler) {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  border-bottom: 1px solid #bbb;
}

.exercise_nav .list > div:not(.filler) .detail {
  margin-left: 30px;
  margin-right: 20px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail {
  border: 1px solid #bbb;
  padding: 4px 8px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail .icon {
  color: #9768EB;
  font-size: 17px;
  margin: 0 6px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail .icon.inactive {
  color: #ccc;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides {
  margin: 20px 0;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides > div label span {
  margin-right: 9px;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides > div + div {
  margin-left: 25px;
}

.exercise_nav .list > div:not(.filler) .detail.hidden {
  display: none;
}

.exercise_nav .list > div.filler {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}

@-moz-document url-prefix()  {
  .exercise_nav .list {
    height: 0;
  }
}

.exercise_select {
  -webkit-flex: 1 0 300px;
  -ms-flex: 1 0 300px;
  flex: 1 0 300px;
  background-color: #ffffff;
}

.exercise_select .list {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 10px;
  overflow-y: auto;
}

.exercise_select .list > div:not(.filler) {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  border-bottom: 1px solid #ddd;
}

.exercise_select .list > div:not(.filler) .exercise-item > div {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.exercise_select .list > div:not(.filler) .exercise-item .name {
  font-size: 18px;
}

.exercise_select .list > div:not(.filler) .exercise-item .circled-icon {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  font-size: 14px;
  width: 40px;
  height: 40px;
  line-height: 36px;
  text-align: center;
  margin: 0 12px;
}

.exercise_select .list > div:not(.filler) .exercise-item .circled-icon:hover {
  color: #9768EB;
  border-color: #9768EB;
}

.exercise_select .list > div:not(.filler) .detail {
  margin-left: 30px;
  margin-right: 20px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail {
  border: 1px solid #bbb;
  padding: 4px 8px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail .icon {
  color: #9768EB;
  font-size: 17px;
  margin: 0 6px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail .icon.inactive {
  color: #ccc;
}

.exercise_select .list > div:not(.filler) .detail .body-sides {
  margin: 20px 0;
}

.exercise_select .list > div:not(.filler) .detail .body-sides > div label span {
  margin-right: 9px;
}

.exercise_select .list > div:not(.filler) .detail .body-sides > div + div {
  margin-left: 25px;
}

.exercise_select .list > div:not(.filler) .detail.hidden {
  display: none;
}

.exercise_select .list > div.filler {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}

@-moz-document url-prefix()  {
  .exercise_select .list {
    height: 0;
  }
}

.filters {
  max-height: 100px;
  min-height: 100px;
  height: 100px;
}

.filters > fusion-drop-down,
.filters > fusion-ordered-drop-down,
.filters > div {
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  /***** NOTE ******
    since the height is being recalculated
    only set the min-height
    @include lock-height(50px);
    ***** EBD NOTE ******/
  max-width: 50%;
  min-height: 50px;
  position: relative;
  border-bottom: 1px solid #bbb;
  border-right: 1px solid #bbb;
  padding-left: 20px;
  padding-right: 10px;
}

.filters > fusion-drop-down .select-toggle,
.filters > fusion-ordered-drop-down .select-toggle,
.filters > div .select-toggle {
  width: 100%;
  cursor: pointer;
}

.filters > fusion-drop-down .select-toggle.disabled,
.filters > fusion-ordered-drop-down .select-toggle.disabled,
.filters > div .select-toggle.disabled {
  cursor: default;
}

.filters > fusion-drop-down .select-toggle.disabled span,
.filters > fusion-ordered-drop-down .select-toggle.disabled span,
.filters > div .select-toggle.disabled span {
  font-style: italic;
}

.filters > fusion-drop-down .select-toggle.disabled i,
.filters > fusion-ordered-drop-down .select-toggle.disabled i,
.filters > div .select-toggle.disabled i {
  display: none;
}

.filters > fusion-drop-down .select-toggle span,
.filters > fusion-ordered-drop-down .select-toggle span,
.filters > div .select-toggle span {
  -webkit-flex: 0.9;
  -ms-flex: 0.9;
  flex: 0.9;
}

.filters > fusion-drop-down .select-toggle i.fa,
.filters > fusion-ordered-drop-down .select-toggle i.fa,
.filters > div .select-toggle i.fa {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.filters > fusion-drop-down .options,
.filters > fusion-ordered-drop-down .options,
.filters > div .options {
  position: absolute;
  top: 50px;
  left: 0;
  background-color: #ffffff;
  border-color: #999;
  box-shadow: 0 6px 10px 0 #999;
  max-height: 215px;
  min-width: 100%;
  overflow-y: scroll;
  z-index: 3;
}

.filters > fusion-drop-down .options > div,
.filters > fusion-ordered-drop-down .options > div,
.filters > div .options > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  white-space: nowrap;
}

.filters > fusion-drop-down .options > div:hover,
.filters > fusion-ordered-drop-down .options > div:hover,
.filters > div .options > div:hover {
  background-color: #ccc;
}

.filters > fusion-drop-down > div,
.filters > fusion-ordered-drop-down > div {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 48px;
  min-height: 48px;
  height: 48px;
}

.filters > fusion-drop-down.required .select-toggle > span,
.filters > fusion-ordered-drop-down.required .select-toggle > span {
  color: #ff0000;
}

.exercise-item {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  background-color: #ffffff;
  margin: 10px;
}

.exercise-item .icon {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.exercise-item .icon.toggle {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  font-size: 6px;
}

.exercise-item .icon.toggle.down {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  padding-top: 24px;
}

.exercise-item .icon.toggle.right {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.exercise-item .name {
  -webkit-flex: 0.9;
  -ms-flex: 0.9;
  flex: 0.9;
}

.exercise-item .name .no-wrap-ellipse {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.exercise-item.active-item {
  z-index: 1;
}

.exercise-item.active-item .icon {
  visibility: hidden;
}

.exercise-item.dragging-element {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
  transform: scale(1.1, 1.1) !important;
  transform-origin: right center !important;
}

.exercise-item.dragging-element .icon {
  visibility: hidden;
}

.no-match {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  font-size: 16px;
  font-weight: 600;
  margin: 10px;
}

/* modal junk */

.modal-container.modal-exercise-detail header {
  /* @include lock-height(75px); */
  border: none;
}

.modal-container.modal-exercise-detail header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-exercise-detail footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-exercise-detail section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-exercise-detail section:first-of-type {
  margin-top: 10px;
}

.modal-container.modal-exercise-detail section:last-of-type {
  margin-top: 20px;
  margin-bottom: 40px;
}

.modal-container.modal-exercise-detail section.video-view {
  max-width: 600px;
  min-width: 600px;
}

.modal-container.modal-exercise-detail section.image-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.modal-container.modal-exercise-detail section.image-view > img {
  max-width: 360px;
  min-width: 360px;
}

.modal-container.modal-exercise-detail .missing-media {
  width: 100%;
  border: 1px solid #efefef;
  color: #dedede;
  font-size: 24px;
  font-weight: 300;
}

.modal-container.modal-exercise-form header {
  border: none;
}

.modal-container.modal-exercise-form header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-exercise-form footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-exercise-form footer.smaller {
  margin-top: 5px;
}

.modal-container.modal-exercise-form form label button[type='reset'] {
  background-color: #dedede;
  border: none;
  border-radius: 4px;
  color: #fefefe;
  font-size: 13px;
  font-weight: bold;
  height: 33px;
  line-height: 33px;
  margin: 0px 10px;
  margin-left: 7px;
  min-height: 30px;
  min-width: auto;
  width: auto;
}

.modal-container.modal-exercise-form section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-exercise-form section:first-of-type {
  margin-top: 10px;
}

.modal-container.modal-exercise-form section:last-of-type {
  margin-top: 20px;
  margin-bottom: 40px;
}

.modal-container.modal-exercise-form section .filters {
  background-color: #f9f9f9;
  width: 100%;
}

.modal-container.modal-exercise-form section span {
  font-size: 16px;
}

.modal-container.modal-exercise-form section > span {
  margin: 10px;
  margin-left: 40px;
}

.modal-container.modal-exercise-form section > span.modal-error {
  margin-left: 230px;
  color: red;
}

.modal-container.modal-exercise-form section textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #bbb;
  font-size: 16px;
  font-weight: normal;
  margin: 10px 40px 10px 0;
  height: 140px;
  outline: 0;
  padding-top: 4px;
  padding-left: 4px;
}

.modal-container.modal-exercise-form section textarea.large {
  min-height: 300px;
}

.modal-container.modal-exercise-form section textarea.larger {
  min-height: 450px;
}

.modal-container.modal-exercise-form section label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  position: relative;
  border-top: 1px solid #bbb;
  min-height: 25px;
}

.modal-container.modal-exercise-form section label:last-of-type {
  border-bottom: 1px solid #bbb;
}

.modal-container.modal-exercise-form section label span {
  margin: 10px;
  margin-left: 40px;
  min-width: 150px;
}

.modal-container.modal-exercise-form section label input {
  -webkit-flex: 1 1 50%;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
  border: none;
  font-size: 16px;
  line-height: 30px;
  margin: 1px;
  outline: 0;
}

.modal-container.modal-exercise-form section label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  background-color: transparent;
  border: none;
  border-left: 1px solid #bbb;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  text-indent: 10px;
}

.modal-container.modal-exercise-form section label select:focus {
  outline: 0;
}

.modal-container.modal-exercise-form section label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.modal-container.modal-exercise-form section label select::-ms-expand {
  display: none;
}

.modal-container.modal-exercise-form section label select + i.fa {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  color: #ccc;
  font-size: 16px;
  width: 20px;
  height: 20px;
  margin: auto 0;
  pointer-events: none;
  text-align: center;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div label {
  border: none;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div span {
  font-size: 18px;
  margin: 0;
  min-width: 0;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div i {
  font-size: 18px;
  margin-left: 10px;
  cursor: pointer;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div + div {
  margin-left: 25px;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label {
  border-top: none;
  border-bottom: none;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label > select {
  border-left: none;
  text-indent: 40px;
  font-size: 18px;
  color: #75777a;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label + label > select {
  border-left: 1px solid #ebebeb;
}

.modal-container.modal-exercise-form .week-selection {
  padding: 5px 15px;
  cursor: default;
}

.modal-container.modal-exercise-form .week-selection > div {
  margin: 0 10px;
  min-height: 28px;
  font-size: 18px;
  color: #a0a4a8;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

.modal-container.modal-exercise-form .week-selection > div.active {
  color: #75777a;
  border-bottom-color: #9768EB;
}

/* drag-n-drop junk */

/* should be moved to own file (clearly) */

.drag-hidden {
  visibility: hidden;
}

.drag-move-scroll-anchor {
  position: fixed;
  left: 0;
  right: 0;
  background-color: rgba(155, 155, 155, 0.275);
  height: 20px;
  z-index: 1;
}

.drag-move-scroll-anchor.top {
  top: 0;
}

.drag-move-scroll-anchor.bottom {
  bottom: 0;
}

.drop-hidden {
  display: none;
}

.drop-target:not(.drop-empty) {
  border: 2px dashed #cdd3d7;
}

.drop-target.drop-target-over:not(.add-section) {
  border: 2px dashed #4cbb17 !important;
}

.drop-target.drop-target-over.add-section > div {
  border-color: #4cbb17 !important;
}

.drop-target.drop-target-over .add-exercise {
  display: none;
}

.dragging-element {
  position: absolute;
  border: 2px solid #888;
  transform: scale(0.9, 0.9) !important;
  transform-origin: left center !important;
  z-index: 10;
  pointer-events: none;
}

.catalog_container {
  -webkit-flex: 1 0 350px;
  -ms-flex: 1 0 350px;
  flex: 1 0 350px;
  min-height: 500px;
  position: relative;
}

.catalog_container > div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.catalog_container > div > div.opened-container {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: 100%;
}

.catalog_container > div > div.closed-container {
  -webkit-flex: 1 1 52px;
  -ms-flex: 1 1 52px;
  flex: 1 1 52px;
  max-height: 52px;
}

.catalog-banner {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #ebebeb;
  background-color: #020d41;
  margin: 1px 0;
}

.catalog-banner i.circled-icon {
  margin: 0 15px;
  border: 2px solid #9768EB;
  color: #9768EB;
}

.catalog-banner span {
  color: #efefef;
  font-size: 16px;
}

.catalog-search {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #ebebeb;
}

.catalog-search form {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: #fefefe;
}

.catalog-search form input[type='text'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: transparent;
  border: none;
  font-size: 20px;
  font-weight: 500;
  height: 49px;
  letter-spacing: 0.39px;
  text-indent: 15px;
  outline: none;
}

.catalog-search form button[type='reset'] {
  background-color: #dedede;
  border: none;
  border-radius: 4px;
  color: #fefefe;
  font-size: 13px;
  font-weight: bold;
  height: 33px;
  line-height: 33px;
  margin: 0px 10px;
  margin-left: 7px;
  min-height: 30px;
  min-width: auto;
  width: auto;
}

.catalog_nav_wrapper {
  height: 100%;
}

.catalog_nav {
  max-width: 350px;
  min-width: 350px;
  width: 350px;
  background-color: #ffffff;
  border-right: 1px solid #ebebeb;
  overflow-y: auto;
  height: auto;
}

.catalog_nav .category-icon {
  margin: 0 18px;
  min-width: 20px;
  font-size: 24px;
}

.catalog_nav .add-icon {
  font-size: 12px;
  margin: 0 15px;
  min-width: 12px;
}

ul.catalog_nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.catalog_nav li {
  background-color: #f0f0f0;
  font-size: 18px;
  font-weight: 400;
  margin: 5px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  cursor: pointer;
}

ul.catalog_nav li > span {
  min-height: 45px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

ul.catalog_nav li .category-state {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  font-size: 12px;
  margin: 0 20px;
  min-width: 12px;
}

ul.catalog_nav li .category-open .category-state:before {
  content: "\E620";
}

ul.catalog_nav li .category-close .category-state:before {
  content: "\E62F";
}

ul.catalog_nav li.exercise-technique > span {
  text-indent: 20px;
  font-size: 16px;
}

ul.catalog_nav li.exercise-technique > ul {
  padding: 0;
}

ul.catalog_nav li.exercise-technique > ul li {
  font-weight: normal;
  min-height: 24px;
}

ul.catalog_nav li.exercise-technique > ul li:hover {
  text-decoration: underline;
}

ul.catalog_nav li.exercise-technique > ul li > span {
  min-height: 24px;
  text-indent: 30px;
  text-transform: none;
}

ul.catalog_nav li > ul {
  background-color: #fff;
  margin: 0;
  padding: 10px 0 0 0;
}

ul.catalog_nav li > ul li {
  background-color: #fff;
  font-size: 12px;
  font-weight: 600;
}

ul.catalog_nav li > ul li > span {
  min-height: 30px;
  text-indent: 30px;
  text-transform: uppercase;
}

ul.catalog_nav li > ul li > ul {
  padding: 0;
}

ul.catalog_nav li > ul li > ul li {
  font-weight: normal;
  min-height: 30px;
  text-indent: 50px;
}

ul.catalog_nav li > ul li > ul li:hover {
  text-decoration: underline;
}

.login-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #efefef;
}

.login-container .login-modal {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 476px;
  min-width: 476px;
  width: 476px;
  background-color: #FCFCFC;
  border: 1px solid #efefef;
  border-radius: 6px;
  padding: 47px 0 22px;
}

.login-container .login-modal > img {
  -webkit-align-self: center;
  align-self: center;
}

.login-container .login-modal .login-banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 32px;
  margin: 28px 15px 30px;
  color: #9768EB;
}

.login-container .login-modal .login-form {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.login-container .login-modal .login-form > input::-ms-clear {
  display: none;
}

.login-container .login-modal .login-form > input {
  max-height: 51px;
  min-height: 51px;
  height: 51px;
  border-top: 1px solid #ddd;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  text-align: center;
}

.login-container .login-modal .login-form > input::-webkit-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input:-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input::-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input:-ms-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input + input {
  border-top: 0;
}

.login-container .login-modal .login-form .login-buttons {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-evenly;
  justify-content: space-evenly;
  margin: 0px 30px;
}

.login-container .login-modal .login-form .login-buttons > button {
  -webkit-align-self: center;
  align-self: center;
  max-height: 57px;
  min-height: 57px;
  height: 57px;
  width: 100%;
}

.login-container .login-modal .reset-form {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.login-container .login-modal .reset-form > input::-ms-clear {
  display: none;
}

.login-container .login-modal .reset-form > input {
  margin: 28px 0 0;
  max-height: 51px;
  min-height: 51px;
  height: 51px;
  border-top: 1px solid #ddd;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  text-align: center;
}

.login-container .login-modal .reset-form > input::-webkit-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input:-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input::-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input:-ms-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input + input {
  border-top: 0;
}

.login-container .login-modal .reset-form .secondPassword {
  margin: 0 0 0;
}

.login-container .login-modal .reset-form .button-collection {
  -webkit-align-self: center;
  align-self: center;
  margin: 28px 0 0;
}

.login-container .login-modal .reset-form .button-collection > button {
  max-height: 57px;
  min-height: 57px;
  height: 57px;
  width: 200px;
}

.login-container .login-modal .message {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 11px 15px;
}

.login-container .login-modal .description {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 70px;
  min-height: 70px;
  height: 70px;
  margin: 11px 15px;
}

.login-container .login-modal .login-link {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 12px;
}

.login-container .login-modal .login-link > a {
  color: #aaa;
  word-spacing: 2px;
}

.loginRememberMe {
  margin: 28px 0 0;
  -webkit-align-self: center;
  align-self: center;
  display: block;
}

.loginRememberMe .checkbox-input {
  -webkit-align-items: center;
  align-items: center;
}

.loginRememberMe .checkbox-input i {
  font-size: 25px;
}

.loginRememberMe .checkbox-input span {
  color: #75777A;
}

.loginForgotPassLink {
  margin: 31px 0 0;
  -webkit-align-self: center;
  align-self: center;
  cursor: pointer;
  color: #AAB0B7;
  text-decoration-line: underline;
  font-size: 14px;
}

.loginForgotPassLink a {
  color: inherit;
}

.modal-container section.profile-form {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 10px;
  min-width: 400px;
}

.modal-container section.profile-form label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  margin: 5px 9px;
  max-width: 325px;
}

.modal-container section.profile-form label span {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-right: 6px;
  min-width: 100px;
}

.modal-container section.profile-form label input {
  width: 100%;
}

.modal-container.modal-athlete-form {
  overflow: auto;
  width: 740px;
}

.modal-container.modal-athlete-form header {
  border: none;
}

.modal-container.modal-athlete-form header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-athlete-form footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-athlete-form footer.smaller {
  margin-top: 5px;
}

.modal-container.modal-athlete-form section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-athlete-form section:first-of-type {
  margin-top: 10px;
  border-bottom: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section:not(:first-of-type) {
  margin-top: 20px;
}

.modal-container.modal-athlete-form section div.section-label {
  margin-left: 40px;
  margin-bottom: 10px;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: bold;
  text-transform: uppercase;
}

.modal-container.modal-athlete-form section div.options-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
}

.modal-container.modal-athlete-form section div.option-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-left: 40px;
  padding-bottom: 35px;
}

.modal-container.modal-athlete-form section div.option-container div.option-label {
  font-size: 13px;
  max-width: 115px;
  min-width: 115px;
  width: 115px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .radio-input {
  margin-right: 20px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .radio-input > span {
  font-size: 13px;
}

.modal-container.modal-athlete-form section .row-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section .row-container:not(:first-of-type) {
  border-top: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section .row-container .space-between {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.modal-container.modal-athlete-form section > span {
  margin: 10px;
  margin-left: 40px;
}

.modal-container.modal-athlete-form section > span.modal-error {
  margin-left: 230px;
  color: red;
}

.modal-container.modal-athlete-form section .dob-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  border-right: 1px solid #ebebeb;
  width: 50%;
}

.modal-container.modal-athlete-form section .dob-field span {
  margin: 10px 10px 10px 40px;
}

.modal-container.modal-athlete-form section .dob-field input {
  border: none;
}

.modal-container.modal-athlete-form section label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  -webkit-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  position: relative;
  min-height: 25px;
}

.modal-container.modal-athlete-form section label:not(:first-of-type) {
  border-left: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section label.feet-field {
  -webkit-flex: 0.6 1 0%;
  -ms-flex: 0.6 1 0%;
  flex: 0.6 1 0%;
}

.modal-container.modal-athlete-form section label.inches-field {
  -webkit-flex: 0.395 1 0%;
  -ms-flex: 0.395 1 0%;
  flex: 0.395 1 0%;
}

.modal-container.modal-athlete-form section label span {
  margin: 10px;
  margin-left: 40px;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: 500;
}

.modal-container.modal-athlete-form section label .invalid-input {
  border: 1px solid red;
}

.modal-container.modal-athlete-form section label .validation-container {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section label .validation-container .validation-message {
  position: absolute;
  z-index: 10;
  top: 55px;
  padding: 3px 6px;
  border-radius: 5px;
  background-color: #2e2e2e;
  color: white;
  border: 1px solid #2e2e2e;
}

.modal-container.modal-athlete-form section label .validation-container .validation-message:after {
  position: absolute;
  left: 45%;
  top: -10px;
  border-color: #2e2e2e transparent;
  border-style: solid;
  border-width: 0px 10px 10px 10px;
  height: 0px;
  width: 0px;
  content: " ";
}

.modal-container.modal-athlete-form section label .validation-container .validation-message span {
  margin: 0px;
  color: inherit;
  font-weight: inherit;
}

.modal-container.modal-athlete-form section label input {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  border-radius: 0px;
  padding: 0px;
  font-size: 13px;
  line-height: 27px;
  outline: 0;
  margin: 1px;
  text-indent: 10px;
}

.modal-container.modal-athlete-form section label input.measurement {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  max-width: 55px;
  min-width: 55px;
  width: 55px;
}

.modal-container.modal-athlete-form section label .date-input {
  width: 220px;
}

.modal-container.modal-athlete-form section label .imperial-height {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 45%;
  position: relative;
}

.modal-container.modal-athlete-form section label .imperial-height.inches {
  min-width: 80%;
}

.modal-container.modal-athlete-form section label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  text-indent: 10px;
}

.modal-container.modal-athlete-form section label select:focus {
  outline: 0;
}

.modal-container.modal-athlete-form section label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.modal-container.modal-athlete-form section label select::-ms-expand {
  display: none;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down {
  position: absolute;
  top: 25px;
  right: 20px;
  color: #D9DBDC;
  font-size: 6px;
  pointer-events: none;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down.feet {
  top: 10px;
  right: 35px;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down.inches {
  top: 10px;
  right: 50px;
}

.modal-container.modal-athlete-form section label select.imperial {
  text-indent: 30px;
}

.select-all {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 25px;
}

.select-athlete-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 45px 65px 45px 65px;
  padding: 15px 0px;
  min-height: 80px;
  max-height: 400px;
  min-width: 300px;
  overflow-x: auto;
}

.select-athlete-list .athlete-name {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: 500;
  margin-right: 15px;
}

.select-athlete-list .athlete-name.all {
  font-size: 14px;
}

.modal-container.modal-terms {
  overflow: auto;
  width: 740px;
  padding: 20px 40px;
}

.modal-container.modal-terms footer {
  margin-top: 25px;
}

.modal-container.modal-terms footer button {
  width: auto;
}

.admin-menu {
  -webkit-align-items: flex-end;
  align-items: flex-end;
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.admin-menu > div {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 1px;
}

.admin-menu > div.active {
  border-bottom: 4px solid #9768EB;
  color: #efefef;
}

.admin-menu > div:not(.active):hover {
  border-bottom: 4px solid #a0a4a8;
  cursor: pointer;
}

.admin-menu > div a {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border: none;
  color: inherit;
  display: inline-block;
  outline: none;
  text-decoration: none;
}

.admin-menu > div span.marker {
  position: absolute;
  top: 0;
  right: -30px;
  width: 23px;
  height: 22px;
  background-color: #ff0000;
  border-radius: 50%;
  text-align: center;
}

.admin-menu > div + div {
  margin-left: 35px;
}

.admin-sub-menu {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: normal;
  position: relative;
  letter-spacing: 1px;
  margin-top: 10px;
}

.admin-sub-menu > div {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
}

.admin-sub-menu > div.active {
  border-bottom: 2px solid #9768EB;
  color: #efefef;
}

.admin-sub-menu > div:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.admin-sub-menu > div + div {
  margin-left: 20px;
}

.tab-menu {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 0 10px;
}

.tab-menu span {
  font-weight: 600;
}

.tab-menu.selected {
  background-color: #9768EB;
}

.tab-menu.selected span {
  color: #fefefe;
}

.tab-menu:first-child {
  border-left: 1px solid #ddd;
}

.tab-view {
  border: 1px solid #ccc;
  padding: 5px;
}

.tab-view-list {
  list-style-type: none;
  padding-left: 0;
}

.test-container-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-top: 25px;
}

.test-container-header .title {
  margin: 0;
  font-weight: 500;
  font-size: 34.5px;
  color: #75787B;
  line-height: 40px;
  letter-spacing: -0.6px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 46px;
}

.test-container-header .main-col {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  padding-right: 20px;
}

.test-container-header .side-col {
  text-align: right;
}

.test-container-header .side-col > div:not([class]) {
  font-size: 16.59px;
  letter-spacing: 0.31px;
  line-height: 22px;
}

.test-result-container {
  margin-bottom: 30px;
}

.test-result-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 0 0 10px;
}

.test-result-header .title {
  font-weight: 500;
  font-size: 34.5px;
  color: #9768EB;
  line-height: 40px;
  margin-bottom: 6px;
  letter-spacing: -0.6px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 46px;
  margin: 0 0 6px;
}

.input-results {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.results-column-container {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 4em;
  -moz-column-gap: 4em;
  column-gap: 4em;
}

.exercise-details {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid-column;
  -moz-column-break-inside: avoid;
  -o-column-break-inside: avoid;
  -ms-column-break-inside: avoid;
  break-inside: avoid-column;
}

.linked-results-header {
  font-weight: 500;
  font-size: 34.5px;
  color: #75787B;
  line-height: 40px;
  letter-spacing: -0.6px;
}

.tested-by {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
}

.perform-additional-results {
  background-color: #efefef;
}

.performance-results {
  padding: 80px 0 80px;
  max-width: 778px;
  margin: 0 auto;
}

.performance-results .h2 {
  margin: 0 0 20px;
}

.performance-results section {
  page-break-inside: avoid;
  padding-bottom: 32px;
}

.performance-results section + section {
  padding-top: 32px;
}

.perform-notes-section {
  max-width: 778px;
  margin: 0 auto;
  padding: 0 0 120px 0;
}

.perform-notes-section .header {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
  padding: 0 0 12px;
}

.perform-notes-section .prose {
  font-size: 14px;
  font-weight: 500;
  color: #929392;
  line-height: 1.5;
}

.stress-index-block {
  margin-top: 45px;
}

.stress-index-block > .header {
  margin-bottom: 6px;
}

.stress-index-block > .header .title {
  font-weight: 400;
  font-size: 18px;
  color: #75787B;
  letter-spacing: 1px;
  line-height: 1;
  text-transform: uppercase;
  margin: 0 0 18px;
}

.cat-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-weight: 400;
  font-size: 18px;
  color: #75787B;
  letter-spacing: 1px;
  line-height: 1;
  margin: 40px 0 18px;
}

.cat-score {
  color: #fff;
  padding: 3px 5px;
  margin-left: 20px;
}

.cat-score.green {
  background: #00B96D;
}

.cat-score.green + .dot {
  background: #00B96D;
}

.cat-score.yellow {
  background: #D7BB43;
}

.cat-score.yellow + .dot {
  background: #D7BB43;
}

.cat-score.red {
  background: #D1404B;
}

.cat-score.red + .dot {
  background: #D1404B;
}

.clinical-field {
  min-height: inherit;
  height: inherit;
}

textarea.clinical-notes {
  height: 70px;
  resize: none;
  margin-top: 10px;
}

.clinical-sub-note {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-left: 25px;
}

.tree-line {
  height: 35px;
  width: 25px;
  border-left: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}

.clinical-notes-section {
  margin: 38px 0 60px;
  max-width: 560px;
}

label.clinical-form-field {
  display: block;
  border: none;
  margin: 0 40px;
}

hr.clinical-report-line {
  border: none;
  padding: 0;
  height: 1px;
  background: #D8D8D8;
  margin: 40px 0;
  clear: both;
}

span.clinical-label {
  display: block;
  padding: 10px 0px;
  min-width: 0;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
}

fusion-ordered-drop-down.clinical-drop-down {
  border: 1px solid #bbb;
  max-width: 626px;
  width: 626px;
  padding-left: 20px !important;
  max-height: 100px !important;
}

fusion-ordered-drop-down.clinical-drop-down > div.column-container {
  line-height: 20px;
  max-height: 100px;
  height: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .select-toggle span.filtered {
  white-space: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .options {
  position: absolute;
  top: 50px;
  left: 0;
  background-color: #ffffff;
  border-color: #999;
  box-shadow: 0 6px 10px 0 #999;
  max-height: 600px;
  min-width: 100%;
  overflow-y: scroll;
  z-index: 3;
}

fusion-ordered-drop-down.clinical-drop-down .options > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  white-space: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .options > div:hover {
  background-color: #ccc;
}

.clinical-signature {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-top: 30px;
  font-size: 14px;
  font-weight: 500;
  color: #929392;
  line-height: 1.5;
}

.clinical-signature > div {
  padding: 0px 15px 0px 15px;
}

.print-only {
  display: none;
}

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

.test-athlete-name {
  color: #75777A;
  font-size: 18px;
  letter-spacing: 0.32px;
  font-weight: 400;
  line-height: 1.62;
  letter-spacing: 0.32px;
}

.perform-select {
  min-width: 133px;
  font-size: 18px;
  color: #75777A;
  border: 2px solid #D8D8D8;
  border-radius: 4px;
  height: 38px;
}

.recommended {
  margin-left: 10px;
  font-weight: bold;
  font-size: 13px;
  color: #c42a3b;
  text-transform: uppercase;
  display: inline-block;
  position: relative;
  top: -2px;
}

.recommended label {
  margin-left: 3px;
  position: relative;
  top: -2px;
}

/* --------------------------------------------
R+R Daily Test v2
----------------------------------------------*/

h3 span {
  color: #9768EB;
}

.rr-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
  max-width: 700px;
  height: 55px;
  border: 1px solid #cdcdcd;
  border-radius: 5px;
  background: #fff;
  overflow: hidden;
}

.rr-menu .custom {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.rr-menu .custom:not(:first-child) {
  border-left: 1px solid #cdcdcd;
}

.rr-menu .custom input {
  position: absolute;
  opacity: 0;
}

.rr-menu .custom input:checked ~ label {
  color: #fff;
  background: #9768EB;
}

.rr-menu .custom label {
  display: block;
  height: 55px;
  line-height: 55px;
  text-align: center;
  cursor: pointer;
  font-weight: bold;
}

.rr-menu .custom label:hover {
  background: #eee;
}

.rr-key {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 700px;
  margin-top: 10px;
  color: #9768EB;
}

.rr-key label {
  width: 33.3%;
}

.rr-key label:nth-child(2) {
  text-align: center;
}

.rr-key label:nth-child(3) {
  text-align: right;
}

.repeated-shift-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.repeated-shift-layout .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.repeated-shift-layout .test-row:first-of-type {
  margin-bottom: 5px;
}

.repeated-shift-layout .test-row:last-of-type {
  margin-bottom: 5px;
}

.repeated-shift-layout .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 15px;
}

.repeated-shift-layout .test-row .drop-off {
  color: #00B8E0;
  font-size: 18px;
  line-height: 1.62;
}

.repeated-shift-layout .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.repeated-shift-layout .test-row .measurement-field:first-of-type {
  margin-left: 289px;
}

.repeated-shift-layout .test-row .measurement-field:not(:first-of-type) {
  margin-left: 23px;
}

.repeated-shift-layout .measurement-label {
  color: #75777A;
  margin-right: 3px;
  padding-right: 18px;
  width: 10px;
}

.y-balance-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.y-balance-layout .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 5px;
}

.y-balance-layout .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 20px;
}

.y-balance-layout .test-row .sub-label {
  padding-left: 35px;
}

.y-balance-layout .test-row .diff {
  margin-left: 51px;
  color: #00B8E0;
  font-size: 18px;
  line-height: 1.92;
}

.y-balance-layout .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-right: 10px;
}

.y-balance-layout .test-row .measurement-field:first-of-type {
  margin-left: 275px;
}

.y-balance-layout .test-row .measurement-field .measurement-label {
  color: #75777A;
  margin-right: 3px;
  width: 10px;
}

.measurement-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.measurement-group .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 5px;
}

.measurement-group .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 20px;
}

.measurement-group .test-row .sub-label {
  padding-left: 35px;
}

.measurement-group .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-right: 23px;
}

.measurement-group .test-row .measurement-field:first-of-type {
  margin-left: 275px;
}

.measurement-group .test-row .measurement-field .measurement-label {
  color: #75777A;
  margin-right: 3px;
  width: 10px;
}

.test-results-button {
  width: 100%;
  width: -webkit-fill-available;
}

.progress-report-options {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 30px 0 5px;
}

.progress-report-options > div + div {
  margin-left: 10px;
}

.progress-report-options .date-ranges {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-left: 30px;
}

.progress-report-options .date-ranges > div + div {
  margin-left: 20px;
}

.progress-report-nodata {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 250px;
  font-size: 20px;
}

.report-chart-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.report-chart-container .report-chart-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 30px;
  margin-left: 20px;
}

.report-chart-container .report-chart-details .report-chart-detail {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.report-chart-container .report-chart-details .report-chart-detail.team,
.report-chart-container .report-chart-details .report-chart-detail.total {
  margin-top: 15px;
}

.report-chart-container .report-chart-details .report-chart-detail > div {
  min-width: 130px;
  min-height: 90px;
  margin: 0 10px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  line-height: 30px;
  padding-top: 15px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .score {
  font-size: 30px;
  font-weight: 100;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.increase {
  color: #20b769;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.increase i.fa {
  margin-top: 8px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.decrease {
  color: #c42a3b;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.decrease i.fa {
  margin-bottom: 4px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.perform-increase i.fa {
  margin-top: 8px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change i.fa {
  min-width: 12px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies {
  padding-top: 0px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-top: 10px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies .trophy-place {
  font-size: 30px;
  font-weight: 100;
  margin-left: 10px;
}

.report-summary-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 30px;
}

.report-summary-container .title {
  font-size: 20px;
}

.report-summary {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.report-summary > div {
  min-width: 240px;
  min-height: 90px;
  margin: 20px 10px 10px  0;
  border-right: 1px solid #ccc;
}

.report-summary .summary-container {
  max-width: 220px;
}

.report-summary .summary-container .summary-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 60px;
  margin: 0 3px;
}

.report-summary .summary-container .summary-info .score-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.report-summary .summary-container .summary-info .score-container .score {
  font-size: 24px;
  font-weight: 100;
}

.report-summary .summary-container .summary-info .score-container .change {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
}

.report-summary .summary-container .summary-info .score-container .change.increase {
  color: #20b769;
}

.report-summary .summary-container .summary-info .score-container .change.increase i.fa {
  margin-top: 8px;
}

.report-summary .summary-container .summary-info .score-container .change.decrease {
  color: #c42a3b;
}

.report-summary .summary-container .summary-info .score-container .change.decrease i.fa {
  margin-bottom: 4px;
}

.report-summary .summary-container .summary-info .score-container .change.perform-increase i.fa {
  margin-top: 8px;
}

.report-summary .summary-container .summary-info .score-container .change.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-summary .summary-container .summary-info .score-container .change i.fa {
  min-width: 12px;
}

.report-summary .summary-container .summary-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
}

.report-summary .summary-container .summary-chart > canvas {
  width: 220px;
  height: 30px;
}

.report-details-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-top: 30px;
  background-color: #ffffff;
}

.report-details-container .title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-self: center;
  align-self: center;
  max-width: 1024px;
  min-width: 1024px;
  width: 1024px;
  margin-bottom: 30px;
  font-size: 20px;
}

.report-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-bottom: 50px;
}

.report-details > div {
  padding-bottom: 10px;
}

.report-details .change {
  position: absolute;
  top: 0;
  right: -8px;
  min-width: 70px;
  line-height: 20px;
}

.report-details .change > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
  font-size: 12px;
}

.report-details .change > div.increase {
  color: #20b769;
}

.report-details .change > div.increase i.fa {
  margin-top: 8px;
}

.report-details .change > div.decrease {
  color: #c42a3b;
}

.report-details .change > div.decrease i.fa {
  margin-bottom: 4px;
}

.report-details .change > div.perform-increase i.fa {
  margin-top: 8px;
}

.report-details .change > div.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-details .change > div i.fa {
  min-width: 12px;
}

.report-details .names-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-width: 250px;
}

.report-details .names-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
  min-width: 180px;
  padding-left: 30px;
}

.report-details .names-container .header-row {
  background-color: #dfdfdf;
}

.report-details .names-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .names-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .names-container .detail-row > div {
  min-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.report-details .names-container .detail-row:nth-child(odd) {
  background-color: #242424;
  color: #f7f7f7;
}

.report-details .names-container .detail-row:nth-child(even) {
  background-color: #2e2e2e;
  color: #f7f7f7;
}

.report-details .names-container .detail-row.sub-total {
  background-color: #d4d4d4;
  color: #75787b;
  font-size: 12px;
  text-transform: uppercase;
}

.report-details .names-container .detail-row.sub-total + .sub-total {
  background-color: #dfdfdf;
}

.report-details .names-container .detail-row.total {
  background-color: #9768EB;
  color: #f7f7f7;
  font-size: 12px;
  text-transform: uppercase;
}

.report-details .names-container .detail-row .detail-row-position {
  margin-left: 15px;
}

.report-details .info-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.report-details .info-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
  min-width: 110px;
}

.report-details .info-container .header-row {
  background-color: #dfdfdf;
}

.report-details .info-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .info-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .info-container .detail-row:nth-child(odd) {
  background-color: #efefef;
}

.report-details .info-container .detail-row:nth-child(even) {
  background-color: #fefefe;
}

.report-details .scores-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: auto;
  white-space: nowrap;
  overflow-y: hidden;
  overflow-x: scroll;
  padding-right: 10px;
}

.report-details .scores-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.report-details .scores-container > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
  min-width: 210px;
}

.report-details .scores-container > div:first-child .header-row {
  border-left: 1px solid #ccc;
}

.report-details .scores-container > div:first-child .detail-row {
  border-left: 1px solid #ccc;
}

.report-details .scores-container .header-row {
  background-color: #dfdfdf;
  border-right: 1px solid #ccc;
}

.report-details .scores-container .header-row.right-left > span {
  min-width: 55px;
  text-align: center;
}

.report-details .scores-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .scores-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .scores-container .detail-row {
  border-right: 1px solid #ccc;
}

.report-details .scores-container .detail-row:nth-child(odd) {
  background-color: #efefef;
}

.report-details .scores-container .detail-row:nth-child(even) {
  background-color: #fefefe;
}

.report-details .scores-container .detail-row > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.report-details .scores-container .detail-row > div.right-left > span {
  min-width: 55px;
  font-size: 14px;
  text-align: center;
}

.report-details .scores-container .detail-row > div.change-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  position: relative;
}

.progress-report-bodymap {
  max-height: 213px;
  max-width: 100px;
}

.progress-report-hidden {
  visibility: hidden;
}

.program-group-dropdown-container {
  align-items: flex-end;
  width: 1024px;
  margin: 30px 0px 10px 0px;
  height: 50px;
}

.program-group-dropdown-container > span {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  float: left;
  padding-left: 30px;
  top: 50%;
  transform: translateY(-50%);
  position: relative;
}

.program-group-dropdown-container .program-type-button {
  display: inline-block;
  padding-left: 15px;
}

.report-programs-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-bottom: 50px;
  padding-bottom: 10px;
  background-color: #ffffff;
  overflow-x: auto;
}

.report-programs-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
}

.report-programs-container .header-row {
  background-color: #dfdfdf;
}

.report-programs-container .header-row span {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
}

.report-programs-container .header-row .program-data-chart {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.report-programs-container .data-row .program-name {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
}

.report-programs-container .data-row:nth-child(odd) {
  background-color: #efefef;
}

.report-programs-container .data-row:nth-child(odd) .program-name {
  background-color: #242424;
  color: #f7f7f7;
}

.report-programs-container .data-row:nth-child(even) {
  background-color: #fefefe;
}

.report-programs-container .data-row:nth-child(even) .program-name {
  background-color: #2e2e2e;
  color: #f7f7f7;
}

.report-programs-container .data-row.total .program-name {
  background-color: #9768EB;
  color: #f7f7f7;
}

.report-programs-container .data-row.total .program-name span {
  font-size: 12px;
  text-transform: uppercase;
}

.report-programs-container .data-row.position-total .program-name {
  background-color: #E1E3E5;
  color: #efefef;
}

.report-programs-container .data-row.position-total .program-name span {
  font-size: 12px;
  text-transform: uppercase;
}

.report-programs-container .program-name {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 346px;
  max-width: 500px;
  padding-left: 30px;
}

.report-programs-container .program-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 120px;
}

.report-programs-container .program-data.right {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  padding-right: 30px;
}

.report-programs-container .program-data-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 320px;
}

.report-programs-container .program-filler {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 60px;
}

.page-header-back-nav {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
}

.page-header-back-nav label {
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

.page-header-back-nav label i.icon {
  font-size: 16px;
}

.page-header-back-nav label span {
  margin-left: 8px;
  font-size: 13px;
}

.test-archives-options {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 30px 0 5px;
}

.test-archives-options > div + div {
  margin-left: 10px;
}

.test-archives-options .date-ranges {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-left: 30px;
}

.test-archives-options .date-ranges > div + div {
  margin-left: 20px;
}

.archive-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 30px 0;
}

.archive-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.archive-container > div span {
  font-size: 18px;
  cursor: default;
}

.archive-container > div i.icon {
  font-size: 16px;
  cursor: pointer;
}

.archive-container > div .archive-name,
.archive-container > div .archive-info,
.archive-container > div .archive-action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.archive-container > div .archive-name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.archive-container > div .archive-name span {
  cursor: pointer;
}

.archive-container > div .archive-info,
.archive-container > div .archive-action {
  -webkit-justify-content: center;
  justify-content: center;
}

.archive-container > div .archive-info {
  min-width: 140px;
}

.archive-container > div .archive-action {
  min-width: 60px;
}

.archive-container > div.header-row {
  min-height: 40px;
}

.archive-container > div.header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: default;
}

.header-content {
  -webkit-justify-content: initial;
  justify-content: initial;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  border-bottom: 1px solid #ccc;
}

.header-content .header-logo-container {
  position: relative;
  display: flex;
  align-items: center;
}

.header-content .header-logo {
  margin: 10px 35px;
}

.header-content .header-logo img {
  max-width: 180px;
  max-height: 70px;
}

.header-content .header-team-name,
.header-content .header-team-name-link {
  border-left: 1px solid #C8C8C9;
}

.header-content .header-team-name h3,
.header-content .header-team-name-link h3 {
  padding: 0px 18px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #11264b;
  text-transform: uppercase;
}

.header-content .header-team-name-link {
  cursor: pointer;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.header-content .team-switcher {
  cursor: pointer;
}

.header-content .team-switcher:after {
  position: absolute;
  top: 80%;
  left: 90%;
  font-family: FontAwesome;
  content: "\F0D7";
  color: #6d6e72;
}

.header-content .team-options {
  position: absolute;
  top: 102%;
  left: -1px;
  background-color: #f6f1f1;
  border: 1px solid #ebebeb;
  box-shadow: 0 2px 5px 0 rgba(68, 67, 76, 0.25);
  min-width: 130px;
  width: 100%;
  z-index: 3;
}

.header-content .team-options > div {
  padding: 5px 10px 5px 14px;
  white-space: nowrap;
}

.header-content .team-options > div:hover {
  background-color: #dedfde;
}

.header-content .white-field {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.header-content .white-field i.icon-shop {
  display: block;
  float: left;
  padding: 0px;
  margin-right: -5px;
  margin-left: 5px;
  font-size: 20px;
}

.header-content .white-field > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  margin: 0px;
}

.header-content .white-field > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 10px;
  font-size: 14px;
  cursor: pointer;
}

.header-content .white-field > div > div i {
  font-size: 26px;
  display: block;
  float: left;
  margin: -1px 8px 0px 0px;
}

.header-content .white-field > div > div:hover {
  color: #11264b;
}

.header-content .white-field > div > div.active {
  color: #11264b;
}

.header-content .white-field > div > div.current-athlete {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  border: none;
  font-size: 18px;
  font-weight: 600;
  min-width: auto;
  margin-right: auto;
}

.header-content .white-field > div > div.current-athlete span {
  cursor: pointer;
}

.header-content .white-field > div > div.current-athlete span:first-child {
  font-weight: normal;
}

.header-content .white-field > div > div.current-athlete span + span {
  margin-left: 10px;
}

.header-content .white-field > div > div.current-athlete span + span:hover {
  text-decoration: underline;
}

.header-content .white-field > div > div + div {
  margin-left: 5px;
}

.header-content .white-field > button.signout {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
}

.header-content .white-field > button.signout:hover {
  background-color: #9768EB;
  color: white;
}

.header-content .white-field > button:first-child {
  margin: 0 7px 0 15px;
}

.header-content .white-field > button:last-child {
  margin: 0 25px 0 7px;
}

.header-content .white-field > button > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.header-content .white-field > button > div i.fa {
  font-size: 22px;
  margin-right: 4px;
}

@media only screen and (max-width: 1053px) {
  .header-content-v2 .white-field > div > div {
    font-size: 12px;
    padding: 5px;
  }

  .header-content-v2 .white-field > div > div + div {
    margin-left: 0;
  }

  .header-content-v2 .white-field > div > div i {
    margin-top: -5px;
    margin-right: 5px;
  }

  .header-content-v2 .white-field i.icon-shop {
    margin: 0 5px 0 0;
  }
}

.whiteboard {
  min-width: 0;
}

ul.catalog_nav {
  max-width: none;
  min-width: 0;
  width: auto;
}

ul.catalog_nav li > span {
  padding: 11px 0;
  line-height: 1.2;
  min-height: 0;
}

ul.catalog_nav li > ul li > ul li {
  min-height: 0;
  text-indent: 0;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 50px;
}

.catalog-selected .title-container .return-link {
  white-space: nowrap;
}

.athlete-info-box .bio-header {
  line-height: 1.1;
  padding: 0 15px;
}

.athlete-info-box .bio-header .athlete-number {
  margin-left: 0;
}

@media only screen and (max-width: 900px) {
  .athlete-info-box .bio-header {
    font-size: 15px;
    padding: 0 10px;
  }
}

.athlete-info-box .bio-body .athlete-profile {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic {
  width: 100%;
  height: auto;
  display: block;
  max-height: 100px;
}

.athlete-info-box .bio-body .athlete-stats {
  -webkit-flex: 2;
  -ms-flex: 2;
  flex: 2;
}

.athlete-info-box .bio-body .athlete-stats > div + div {
  margin-top: 5px;
}

.athlete-info-box .bio-body canvas {
  width: 100%;
  display: block;
}

.athlete-list-view.view-layout .athlete-number {
  max-width: 53px;
  min-width: 53px;
  width: 53px;
  white-space: nowrap;
  line-height: 0.9;
  padding-left: 10px;
}

.athlete-list-view.view-layout .athlete-name {
  padding: 0 15px 0 5px;
  min-width: 0;
}

.profile-summary .today-program,
.profile-summary .today-notice {
  max-width: none;
  min-width: 0;
  width: auto;
  max-height: none;
  height: auto;
  padding: 10px 6px;
}

@media only screen and (min-width: 1054px) {
  .column-container.profile-score + div {
    width: 380px;
  }
}

@media only screen and (max-width: 1053px) {
  body .view-container {
    width: 994px;
    max-width: 100%;
    min-width: 0;
    padding-left: 15px;
    padding-right: 15px;
  }

  body .view-container .view-container {
    padding-left: 0;
    padding-right: 0;
  }

  body .week-wrapper .week-day-column {
    min-width: 0;
    width: 100%;
  }

  body .header-content .white-field > div {
    margin: 0px 20px;
  }

  body .profile-detail {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body .profile-detail .profile-pic {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
  }

  body .profile-detail .profile-pic img {
    width: 100%;
    display: block;
    height: auto;
  }

  body .profile-detail .profile-action {
    width: 100%;
  }

  body .profile-summary {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 4;
    -ms-flex: 4;
    flex: 4;
    padding-left: 15px;
  }

  body .profile-summary > .row-container.divided > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body .profile-summary > .row-container.divided > div + div {
    padding-left: 15px;
  }

  body .profile-summary .score-container {
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 20px;
  }

  body .profile-summary .score-container .profile-score {
    max-width: none;
    min-width: 0;
    width: auto;
    width: 100%;
  }

  body .profile-summary .score-container .profile-score .profile-score-graph-canvas {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100%;
  }

  body .chart-menu .chart-menu-item {
    margin-right: 18px;
  }

  body .program-chart,
  body .line-chart {
    -webkit-flex: 2;
    -ms-flex: 2;
    flex: 2;
  }

  body .program-chart {
    max-width: none;
    min-width: 0;
    width: auto;
    min-height: 0;
  }

  body .view-layout .view-container .line-chart .line-chart-canvas {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100% !important;
    height: auto !important;
  }

  body .chart-details {
    max-width: none;
    min-width: 0;
    width: auto;
    padding-left: 15px;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body canvas {
    max-width: 100% !important;
    height: auto !important;
  }

  body .calendar-month {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 2;
    -ms-flex: 2;
    flex: 2;
  }

  body .calendar-month .week-day-labels {
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  body .calendar-month .week-day-labels > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: none;
    min-width: 0;
  }

  body .calendar-month .calendar-days .calendar-day {
    max-width: none;
    min-width: 0;
    width: auto;
    width: 14.28571%;
  }

  body .calendar-month.notes-calendar {
    max-width: 492px;
  }

  body .calendar-day-info {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 15px;
  }

  body .athlete-list-view.view-layout .athlete-stat {
    -webkit-flex: 0;
    -ms-flex: 0;
    flex: 0;
    max-width: 7.5%;
    min-width: 7.5%;
    width: 7.5%;
    letter-spacing: 0;
  }

  body .athlete-list-view.view-layout .athlete-programs {
    max-width: 18%;
    min-width: 18%;
    width: 18%;
  }

  body .athlete-list-view.view-layout .athlete-last-activity {
    max-width: 18%;
    min-width: 18%;
    width: 18%;
  }

  body .athlete-list-view.view-layout .athlete-row {
    font-size: 15px;
    letter-spacing: 0.5px;
  }

  body .modal {
    max-width: calc(100% - 30px);
  }

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

  body .tl-entry-header .tl-select,
  body .tl-entry .tl-select {
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .tl-entry-header .tl-input,
  body .tl-entry .tl-input {
    max-width: 86px;
    min-width: 86px;
    width: 86px;
  }

  body .tl-entry .tl-input > .basic-input.small {
    width: 100%;
  }

  body .tl-entry-header .field-label {
    line-height: 1.2;
  }

  body input.basic-input,
  body div.basic-input,
  body div.basic-input-readonly {
    width: 100px;
  }

  body .athlete-menu .athlete-search {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: auto;
  }

  body .athlete-menu .athlete-filter-sort {
    min-width: 0;
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box {
    min-width: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label {
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 15px 17px 15px 10px;
    font-size: 12px;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label:after {
    font-size: 9px;
    right: 7px;
    top: 38%;
  }

  body .athlete-menu .athlete-reset-view {
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 0 8px;
    font-size: 12px;
  }

  body .athlete-menu .athlete-toggle-view {
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
    max-width: none;
    min-width: 0;
    width: auto;
  }

  body .header-content .white-field > div > div {
    font-size: 12px;
    padding: 5px;
  }

  body .header-content .white-field > div > div + div {
    margin-left: 0;
  }

  body .header-content .white-field > div > div i {
    margin-top: -5px;
    margin-right: 5px;
  }

  body .header-content .white-field i.icon-shop {
    margin: 0 5px 0 0;
  }

  body .header-content button {
    min-width: 0;
    padding: 0 5px;
  }

  body .header-content .logo {
    margin-left: 15px;
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .header-content .white-field > button:last-child {
    margin-right: 15px;
  }

  body .line-chart-menu .chart-legend {
    white-space: nowrap;
    margin: 0 0 0 16px;
  }

  body .line-chart-menu .chart-legend > .fa {
    margin-right: 2px;
  }

  body .prompt-box {
    padding: 15px;
  }

  body .test-landing .prompt-box {
    min-height: 196px;
  }

  body .report-chart-container {
    display: block;
  }

  body .report-chart-container .line-chart {
    display: block;
  }

  body .report-chart-container .report-chart-details {
    display: block;
    margin: 0;
  }

  body .report-summary > div {
    width: calc(33.33% - 10px);
  }

  body .report-details-container .title {
    max-width: none;
    min-width: 0;
    width: auto;
  }
}

@media only screen and (max-width: 900px) {
  body .admin-menu > div + div {
    margin-left: 18px;
  }

  body .catalog_container {
    -webkit-flex: 1 0 200px;
    -ms-flex: 1 0 200px;
    flex: 1 0 200px;
  }

  body .catalog-search form {
    padding: 0 5px;
    width: 100%;
  }

  body .catalog-search form input[type='text'] {
    min-width: 0;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-indent: 0;
    font-size: 15px;
  }

  body .catalog-search form button[type='reset'] {
    margin: 0;
    padding: 0 5px;
    font-size: 10px;
  }

  body .catalog-feature .feature-container .feature-content {
    left: 40px;
  }

  body .practitionersTable > .row-container > div > span,
  body .teamsTable > .row-container > div > span {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(1) {
    max-width: 112px !important;
    min-width: 112px !important;
    width: 112px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(2) {
    max-width: 96px !important;
    min-width: 96px !important;
    width: 96px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(3) {
    max-width: 108px !important;
    min-width: 108px !important;
    width: 108px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(4) {
    min-width: 0 !important;
    max-width: none !important;
    -webkit-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important;
  }

  body .practitionersTable > .row-container > div:nth-child(5) {
    max-width: 110px !important;
    min-width: 110px !important;
    width: 110px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(6) {
    max-width: 88px !important;
    min-width: 88px !important;
    width: 88px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(6) button {
    padding: 0 6px;
  }

  body .teamsTable > .row-container > div:nth-child(1) {
    max-width: 96px !important;
    min-width: 96px !important;
    width: 96px !important;
  }

  body .teamsTable > .row-container > div:nth-child(2) {
    max-width: 100px !important;
    min-width: 100px !important;
    width: 100px !important;
  }

  body .teamsTable > .row-container > div:nth-child(3) {
    max-width: 100px !important;
    min-width: 100px !important;
    width: 100px !important;
  }

  body .teamsTable > .row-container > div:nth-child(4) {
    min-width: 0 !important;
    max-width: none !important;
    -webkit-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important;
  }

  body .teamsTable > .row-container > div:nth-child(5) {
    max-width: 70px !important;
    min-width: 70px !important;
    width: 70px !important;
  }

  body .teamsTable > .row-container > div:nth-child(6) {
    max-width: 212px !important;
    min-width: 212px !important;
    width: 212px !important;
  }
}

@media only screen and (max-width: 900px) and (max-width: 1053px) {
  body .header-logo {
    margin: 0 15px;
  }

  body .header-logo img {
    width: 100%;
  }

  body .header-content .white-field > div > div i {
    display: none;
  }

  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  body .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    width: calc(50% - 20px);
  }

  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box .bio-body .athlete-profile .profile-pic {
    max-height: none;
  }
}

@media only screen and (max-width: 900px) {
  body body .athlete-dashboard .athlete-dashboard-container {
    width: calc(100% + 20px);
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  body body .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  body body .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    min-height: 0;
    max-height: none;
    height: auto;
  }
}

.arrowTabs {
  display: flex;
  align-items: stretch;
  margin: 0 -2px;
}

.arrowTabs > * {
  padding: 0 2px;
}

.arrowTabs > span {
  flex: 1;
  display: block;
  text-align: center;
  display: flex;
  align-items: stretch;
  position: relative;
  cursor: pointer;
}

.arrowTabs > span:before {
  content: " ";
  position: absolute;
  left: 50%;
  margin-left: -8px;
  bottom: -6px;
  height: 0;
  width: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 6px solid #9768EB;
  display: none;
}

.arrowTabs > span span {
  padding: 12px 8px;
  display: block;
  width: 100%;
  background: #F2F4F5;
  color: #ABB0B3;
  font-weight: bold;
  font-size: 14px;
}

.arrowTabs > span:first-child span {
  border-radius: 5px 0 0 5px;
}

.arrowTabs > span:last-child span {
  border-radius: 0 5px 5px 0;
}

.arrowTabs > span.active:before {
  display: block;
}

.arrowTabs > span.active span {
  background: #9768EB;
  color: #fff;
}

.programScheduleTable {
  table-layout: fixed;
  text-align: center;
  border-collapse: collapse;
  width: 100%;
}

@media only screen and (min-width: 1164px) {
  .programScheduleTable {
    width: calc(100% + 70px);
    margin-left: -70px;
  }
}

.programScheduleTable tr > *:first-child {
  width: 70px;
  padding-right: 10px;
}

.programScheduleTable tr > * + * {
  width: calc((100/7*1%) - 10px);
}

.programScheduleTable tr > * + * + * {
  padding-left: 5px;
}

.programScheduleTable tr + tr > * {
  padding-top: 5px;
}

.programScheduleTable thead th {
  color: #BDC1C5;
  font-size: 14px;
  padding: 0 0 15px;
  font-weight: 400;
}

.programScheduleTable tbody th {
  text-align: left;
  vertical-align: middle;
  color: #848990;
  font-size: 14px;
  text-transform: uppercase;
}

.activityPillGroup {
  position: relative;
  background: #F2F4F5;
  border-radius: 8px;
  padding: 8px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 117.3px;
  width: 100%;
}

.activityPillGroup .activityPill {
  height: calc(33.333% - 2px);
}

.activityPillGroup .activityPill + .activityPill {
  margin-top: 3px;
}

.activityPillGroup .addIcon {
  display: none;
  color: #CDD3D7;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  font-size: 40px;
}

.activityPill {
  text-align: center;
  border-radius: 4px;
  padding: 0 5px;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.activityPill--prompt {
  background: #E4E9EC;
  color: #BDC1C5;
  cursor: pointer;
}

.activityPill--active {
  background: #9768EB;
  color: #fff;
  position: relative;
  padding: 0 15px;
}

.activityPill--active .closeIcon {
  position: absolute;
  top: 50%;
  margin-top: -5px;
  font-size: 10px;
  right: 5px;
  cursor: pointer;
}

.activityPillGroup--empty {
  cursor: pointer;
}

.activityPillGroup--empty .addIcon {
  display: block;
}

.selectAddPill {
  padding: 10px;
  background: #fff;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
  border-radius: 4px;
}

.selectAddPill .tl-entry .tl-select,
.selectAddPill .tl-entry .tl-select-input .select-toggle {
  min-width: 0;
  max-width: none;
}

.selectAddPill button.primary {
  max-height: none;
  min-height: 0;
  height: auto;
}

.selectAddPill > *:first-child {
  flex: 1;
}

.selectAddPill > * + * {
  margin-left: 15px;
}

.openFieldWidth--max100 {
  max-width: 100%;
}

.openFieldWidth--small {
  width: 52px;
}

.openFieldWidth--medium {
  width: 148px;
}

.openFieldWidth--rpe {
  width: 200px;
}

.cellWidth--trainingLoad {
  width: 132px;
}

.scoreNum {
  font-weight: 500;
  font-size: 18px;
}

.openField--centered input {
  text-align: center;
}

.tlFiltersHeader {
  padding: 15px 15px;
}

.tlFiltersHeaderMain {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.tlFiltersHeaderMain > * + * {
  padding-left: 15px;
}

.flTable tr > * {
  text-align: left;
  padding-right: 0;
  padding-left: 0;
}

.flTable tr > * + * {
  padding-left: 15px;
}

.flTable tr > *:first-child {
  padding-left: 15px;
}

.flTable tr > *:last-child {
  padding-right: 15px;
}

.flTable .proccessArrow {
  margin-right: -15px;
}

.flTableColWidth {
  box-sizing: content-box;
}

@media only screen and (min-width: 1054px) {
  .flTableColWidth--title {
    width: 300px;
  }

  .flTableColWidth--session {
    width: 300px;
  }
}

.flTableColWidth--durationTarget {
  width: auto;
}

.smallFieldLabel {
  padding: 0 0 7px;
  font-size: 14px;
  color: #75787B;
}

.tlFiltersHeaderSide {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.numName {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.numName__num {
  opacity: 0.4;
}

.numName__name {
  padding-left: 15px;
}

.numName--light {
  color: #75777A;
}

.openField--medium {
  height: 39px;
}

.selectBar {
  background: #41BAEC;
  color: #fff;
  font-size: 15px;
  border-radius: 4px;
  padding: 9px 15px;
  line-height: 21px;
}

.selectBar.tall {
  padding: 12.5px 15px;
}

.selectBar i {
  display: none;
  padding-left: 5px;
  font-size: 11px;
}

.selectBar.isSelected {
  background: #F4F4F4;
  color: #C7CBCE;
}

.selectBar.isSelected i {
  display: inline;
}

.submenu__numTextWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 13px;
}

.submenu__numTextWrap .num {
  box-sizing: content-box;
  font-weight: 700;
  color: #6C6D6C;
  width: 15px;
  padding-right: 5px;
}

.submenu__numTextWrap .text {
  font-weight: 400;
  text-transform: none;
}

.contentWithProcessArrowWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.contentWithProcessArrowWrap > *:first-child {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.contentWithProcessArrowWrap .proccessArrow {
  text-align: center;
  width: 40px;
  color: #EFF1F2;
  font-size: 15px;
}

@media only screen and (min-width: 1054px) {
  .contentWithProcessArrowWrap .proccessArrow {
    width: 100px;
  }
}

.openFieldSelect__trigger .icon-target {
  font-size: 19px;
  color: #AAABAF;
  padding-right: 8px;
}

.TL-Duration input:invalid {
  border: 1px solid #CC0000;
  border-radius: 4px;
  height: 100%;
  background: #FFCCCC;
}

.backToLink {
  margin: 0 0 20px;
  display: inline-block;
  color: #41BAEC;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.backToLink i {
  font-size: 15px;
  display: block;
}

.backToLink .text {
  display: block;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  padding-left: 10px;
}

.compactFormStack > * + * {
  margin-top: 10px;
}

.inlineOverlayWrap {
  position: relative;
}

.inlineOverlay {
  position: absolute;
  z-index: 10;
  top: calc(100% - 15px);
  left: 50%;
  transform: translate(-50%, 0);
  background: #fff;
  width: 377px;
  max-width: calc(100% - 30px);
  padding: 15px;
  border: 1px solid #EEEEEE;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.13);
  border-radius: 4px;
}

.inlineOverlay__triangle {
  position: absolute;
  top: 3px;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 29px;
  height: 17px;
  background: url(../images/overlay-triangle.png) center center no-repeat;
  background-size: contain;
}

.inlineOverlay__close {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 17px;
  color: #9768EB;
  cursor: pointer;
}

.inlineOverlay__title {
  margin: 0 0 20px;
  padding: 0 30px;
  font-size: 18px;
  font-weight: 500;
  color: #75787B;
  text-align: center;
}

.chart-date-header + .dlRow {
  margin: 10px 0 20px;
}

.dlRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.dlRow + .chart-date-header {
  margin-top: 30px;
}

.dlRow + .dlRow {
  margin-top: 20px;
}

.dlItem__label {
  font-weight: 500;
  color: #75777A;
  font-size: 14px;
}

.dlItem__num {
  font-weight: 100;
  font-size: 30px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.dlItem__num .scoreChangeIcon {
  font-size: 7px;
  vertical-align: middle;
  padding-right: 8px;
}

.menu-pointer {
  cursor: pointer;
}

.weeklyScoreChangeIcon {
  font-size: 7px;
  vertical-align: middle;
  padding-right: 4px;
  margin-right: 4px;
}

.profileTLChangeIcon {
  font-size: 10px;
  vertical-align: middle;
  padding-right: 1px;
  padding-bottom: 3px;
}

.review-container .review-tabs + div {
  padding-top: 10px;
  border-top: 1px solid #0af;
}

.review-container .review-frame {
  display: flex;
  align-items: center;
  flex: 0.95;
  padding-left: 5px;
  min-height: 40px;
  font-size: 20px;
  border-bottom: solid 1px #c0c0c0;
  cursor: pointer;
}

.review-container .review-frame.error {
  font-size: 18px;
  font-weight: normal;
  color: #222;
  cursor: not-allowed;
}

.review-container .review-frame i.fa.fa-trash {
  color: #c0c0c0;
}

.review-container .review-frame i.fa.fa-trash:hover {
  color: #990000;
}

.review-container .review-frame img {
  max-width: 18px;
}

.review-container input[type=radio] {
  display: none;
}

.review-container input[type=radio]:checked + label {
  color: #0af;
  border: 1px solid #abc;
  border-top: 2px solid #0af;
  border-bottom: 1px solid #fff;
}

.review-container label[for*="Keypoints"],
.review-container label[for*="Reps"],
.review-container label[for*="Compensations"] {
  display: inline-block;
  margin: 0 0 -1px;
  padding: 10px 25px;
  font-size: 16px;
  text-align: center;
  color: #abc;
  border: 1px solid transparent;
}

.review-container label[for*="Keypoints"]:before,
.review-container label[for*="Reps"]:before,
.review-container label[for*="Compensations"]:before {
  font-family: fontawesome;
  font-weight: normal;
  margin-right: 10px;
}

.review-container label[for*="Keypoints"]:hover,
.review-container label[for*="Reps"]:hover,
.review-container label[for*="Compensations"]:hover {
  color: #789;
  cursor: pointer;
}

.review-container label[for*="Keypoints"]:before {
  content: '\F192';
}

.review-container label[for*="Reps"]:before {
  content: '\F0CB';
}

.review-container label[for*="Compensations"]:before {
  content: '\F1FE';
}

.review-container .comps input {
  display: none;
}

.review-container .comps label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #00B96D;
  border: 1px solid #00B96D;
  border-radius: 5px;
  min-width: 80px;
  line-height: 35px;
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
}

.review-container .comps label.found {
  background-color: #D1404B;
  border-color: #D1404B;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9mdXNpb25ldGljcy1hbmd1bGFyLXByb3RvdHlwZS5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Jhc2Uuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19tb2RhbC5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2xvYWRpbmcuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19kYXNoYm9hcmRfbWVudS5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9saXN0LnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fZGFzaGJvYXJkX2dyaWQuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19kYXNoYm9hcmRfYXRobGV0ZS5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2ZpbGVfYXRobGV0ZS5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fY2F0YWxvZy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fZWRpdC5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fd2hpdGVib2FyZC5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2NhbGVuZGFyLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2hhcnRpbmcuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19ub3Rlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3RpbWVfcGlja2VyLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdG9vbHRpcC5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3VwbG9hZGluZy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2V4ZXJjaXNlX25hdi5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2NhdGFsb2dfbmF2LnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9naW4uc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19tb2RhbF9wcm9maWxlX2Zvcm0uc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19tb2RhbF9hdGhsZXRlX2VkaXQuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19tb2RhbF9zZWxlY3RfYXRobGV0ZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL190ZXJtcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2FkbWluX21haW4uc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL190ZXN0X3Jlc3VsdHMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19jbGluaWNhbF9yZXBvcnQuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL190ZXN0cy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3BlcmZvcm1fdGVzdHMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wcm9ncmVzc19yZXBvcnQuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL190ZXN0X2FyY2hpdmVzLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9faGVhZGVyLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcmVzcG9uc2l2ZW5lc3NfdHdlYWtzLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZ3JhbV9jYWxlbmRhcnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCJEOi9Qcm9qZWN0cy9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVhbS10bC5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiRDovUHJvamVjdHMvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGluczIuc2NzcyIsIkQ6L1Byb2plY3RzL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19yZXBvcnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYmFzZVwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9tb2RhbFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9sb2FkaW5nXCI7XHJcblxyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfbWVudVwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfbGlzdFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfZ3JpZFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfYXRobGV0ZVwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9maWxlX2F0aGxldGVcIjtcclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV9jYXRhbG9nXCI7XHJcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Byb2dyYW1fZWRpdFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmFtX3doaXRlYm9hcmRcIjtcclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvY2FsZW5kYXJcIjtcclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvY2hhcnRpbmdcIjtcclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbm90ZXNcIjtcclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGltZV9waWNrZXJcIjtcclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdG9vbHRpcFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS91cGxvYWRpbmdcIjtcclxuXHJcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2V4ZXJjaXNlX25hdlwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jYXRhbG9nX25hdlwiO1xyXG5cclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbG9naW5cIjtcclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbW9kYWxfcHJvZmlsZV9mb3JtXCI7XHJcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsX2F0aGxldGVfZWRpdFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9tb2RhbF9zZWxlY3RfYXRobGV0ZXNcIjtcclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVybXNcIjtcclxuXHJcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2FkbWluX21haW5cIjtcclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVzdF9yZXN1bHRzXCI7XHJcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2NsaW5pY2FsX3JlcG9ydFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90ZXN0c1wiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wZXJmb3JtX3Rlc3RzXCI7XHJcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Byb2dyZXNzX3JlcG9ydFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90ZXN0X2FyY2hpdmVzXCI7XHJcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2hlYWRlclwiO1xyXG5cclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcmVzcG9uc2l2ZW5lc3NfdHdlYWtzXCI7XHJcblxyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmFtX2NhbGVuZGFyc1wiO1xyXG5cclxuLy8gdGhpcyBpcyBuZXcuLi5cclxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVhbS10bFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9yZXBvcnRzXCI7IiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XHJcbiAgQGluY2x1ZGUgYm94LXNpemluZyhpbmhlcml0KTtcclxuICBAaW5jbHVkZSB1c2VyLXNlbGVjdChub25lKTtcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgJi5kYXJrcm9vbTphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjcpO1xyXG4gIH1cclxuXHJcbiAgLmRhcmtyb29tLWJhbm5lciB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICA+IC5iYW5uZXIge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDI4MHB4KTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xyXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcclxuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG5cclxuaW5wdXQge1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblxyXG4gICZbdHlwZT0ndGV4dCddIHtcclxuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gIH1cclxuXHJcbiAgJlt0eXBlPSdwYXNzd29yZCddIHtcclxuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gIH1cclxuXHJcbiAgJi5yZXF1aXJlZCB7XHJcbiAgICBjb2xvcjogI2ZmMDAwMDtcclxuICB9XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcclxuICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNnB4KTtcclxuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgYm9yZGVyOiAycHggc29saWQgJGJsdWU7XHJcbiAgY29sb3I6ICRibHVlO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICBtaW4td2lkdGg6IDExMHB4O1xyXG4gIG91dGxpbmU6IDA7XHJcbiAgcGFkZGluZzogMCAxMHB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICYuc2hvcnQge1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XHJcbiAgfVxyXG5cclxuICAmLnNtYWxsIHtcclxuICAgIG1pbi13aWR0aDogODBweDtcclxuICB9XHJcblxyXG4gICYubWVkaXVtIHtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTUwcHgpO1xyXG4gIH1cclxuXHJcbiAgJi5wcmltYXJ5LCAmLmJsdWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJi5kaXNhYmxlZCB7XHJcbiAgICBjb2xvcjogI2NkY2RjZDtcclxuICAgIGJvcmRlci1jb2xvcjogI2NkY2RjZDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICB9XHJcbiAgXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBjb2xvcjogI2NkY2RjZDtcclxuICAgIGJvcmRlci1jb2xvcjogI2NkY2RjZDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICB9XHJcblxyXG4gICYucmVzdW1lIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNEMTQwNEI7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG5cclxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcbn1cclxuXHJcbmJ1dHRvbiArIGJ1dHRvbiB7XHJcbiAgbWFyZ2luLWxlZnQ6IDhweDtcclxufVxyXG5cclxuLmlucHV0LWNoZWNrYm94IHtcclxuICBjb2xvcjogJGJsdWU7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG5cclxuICAmLmRpc2FibGVkIHtcclxuICAgIGNvbG9yOiAjY2RjZGNkO1xyXG4gIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb250ZW50IHtcclxuICAvKlxyXG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgKi9cclxuICBwYWRkaW5nOiAyMHB4IDAgMjBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyX2JhY2tncm91bmQ7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuW25nXFw6Y2xvYWtdLCBbbmctY2xvYWtdLCAubmctY2xvYWsge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmhlYWRlci1jb250ZW50IHtcclxuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChpbml0aWFsKTtcclxuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg5MHB4KTtcclxuXHJcbiAgLmxvZ28ge1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoOTBweCk7XHJcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDE0MHB4KTtcclxuICB9XHJcblxyXG4gIC53aGl0ZS1maWVsZCB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxuXHJcbiAgICBpLmljb24tc2hvcCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xyXG4gICAgICBtYXJnaW46IDBweCAzMHB4O1xyXG5cclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICBtYXJnaW46IC0xcHggOHB4IDBweCAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jdXJyZW50LWF0aGxldGUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xyXG5cclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblxyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBzcGFuICsgc3BhbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgPiBkaXYgKyBkaXYge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBidXR0b24ge1xyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW46IDAgN3B4IDAgMjVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW46IDAgMjVweCAwIDdweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcblxyXG4gICAgICAgIGkuZmEge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWVudS1jb250ZW50IHtcclxuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcclxufVxyXG5cclxuLmJvZHktY29udGVudCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5yZWQtYmFja2dyb3VuZCB7IGJhY2tncm91bmQtY29sb3I6ICNjNDJhM2I7ICB9XHJcbi55ZWxsb3ctYmFja2dyb3VuZCB7IGJhY2tncm91bmQtY29sb3I6ICNkZmMwM2Y7IH1cclxuLmdyZWVuLWJhY2tncm91bmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBiNzY5OyB9XHJcbi5ibHVlLXRleHQgeyBjb2xvcjogIzk3NjhFQjsgfVxyXG4ucmVkLXRleHQgeyBjb2xvcjogI2M0MmEzYjsgfVxyXG4uZ3JleS10ZXh0IHsgY29sb3I6ICM4MDgwODA7IH1cclxuLmxpZ2h0LWdyZXktdGV4dCB7IGNvbG9yOiAjYTdhN2E3OyB9XHJcbi55ZWxsb3ctdGV4dCB7IGNvbG9yOiAjZGZjMDNmOyB9XHJcbi5ncmVlbi10ZXh0IHsgY29sb3I6ICMyMGI3Njk7IH1cclxuXHJcbi53aGl0ZWJnIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG4uZ3JleWJnIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xyXG59XHJcblxyXG4uZHJrZ3JleWJnIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xyXG59XHJcblxyXG4uYmx1ZWJnIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc2OEVCO1xyXG59XHJcblxyXG4ubWFpbi12aWV3IHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnZpZXctZmxleCB7XHJcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XHJcbn1cclxuXHJcbi52aWV3LXN0YXRpYyB7XHJcbiAgQGluY2x1ZGUgZmxleCgwIDAgYXV0byk7XHJcbn1cclxuXHJcbi52aWV3LWxheW91dCB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG59XHJcblxyXG4udmlldy1zdGFjayB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxufVxyXG5cclxuLnZpZXctY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMTAyNHB4KTtcclxuXHJcbiAgJi5jZW50ZXJlZCB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTsgfVxyXG4gICYuZGl2aWRlZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pOyB9XHJcbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cclxuICAmLndyYXAgeyBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7IH1cclxuICAmLm1pZGRsZSB7IEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpOyB9XHJcblxyXG4gICYuY29sdW1uIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICAmLmNlbnRlciB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY29sdW1uLWNvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuXHJcbiAgJi5mdWxsIHsgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7IH1cclxuICAmLnRvcCB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7IH1cclxuICAmLmJvdHRvbSB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpOyB9XHJcbiAgJi5jZW50ZXIgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7IH1cclxuICAmLm1pZGRsZSB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7IH1cclxuICAmLmRpdmlkZWQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTsgfVxyXG4gICYuc3BhY2VkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYXJvdW5kKTsgfVxyXG4gICYuc3RhcnQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTsgfVxyXG4gICYuZW5kIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpOyB9XHJcbiAgJi53cmFwIHsgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApOyB9XHJcbn1cclxuXHJcbi5yb3ctY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG5cclxuICAmLmZ1bGwgeyBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTsgfVxyXG4gICYudG9wIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTsgfVxyXG4gICYuYm90dG9tIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7IH1cclxuICAmLmNlbnRlciB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTsgfVxyXG4gICYubWlkZGxlIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTsgfVxyXG4gICYuZGl2aWRlZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pOyB9XHJcbiAgJi5zcGFjZWQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpOyB9XHJcbiAgJi5zdGFydCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpOyB9XHJcbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cclxuICAmLndyYXAgeyBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7IH1cclxufVxyXG5cclxuLmhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gcmFuZ2UgaW5wdXQgYXR0ZW1wdFxyXG5pbnB1dFt0eXBlPXJhbmdlXSB7XHJcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwLCAjNDFiYWVjKSwgY29sb3Itc3RvcCgwLCAjZThlOGU4KSk7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjRiNGI0O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjRiNGI0O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxuXHJcbiAgJjo6LW1zLXRyYWNrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxNnB4IDA7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOjotbXMtdGh1bWIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I0YjRiNDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZDogI2U4ZThlODtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6Oi1tcy10b29sdGlwIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOjotbXMtZmlsbC1sb3dlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjNDFiYWVjO1xyXG4gICAgYm9yZGVyOiAwLjJweCBzb2xpZCAjNDFiYWVjO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIH1cclxuXHJcbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2U4ZThlODtcclxuICAgIGJvcmRlcjogMC4ycHggc29saWQgI2U4ZThlODtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICB9XHJcblxyXG4gICY6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyIHtcclxuICAgIGJhY2tncm91bmQ6ICM0MWJhZWM7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xyXG4gIH1cclxufVxyXG4iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG4ubW9kYWwtb3ZlcmxheSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjNGM0YzQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTYsIDE5NiwgMTk2LCAuNyk7XHJcblxyXG4gICYubmctZW50ZXIsICYubmctbGVhdmUge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcclxuICAgICAgIC1tb3otdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XHJcbiAgICAgICAgIC1vLXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcclxuICB9XHJcblxyXG4gICYubmctZW50ZXIsICYubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICAmLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSwgJi5uZy1sZWF2ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLm1vZGFsLXZpZXcge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcblxyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgei1pbmRleDogMTAwMTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAubW9kYWwge1xyXG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAgIC8vIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcblxyXG4gICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcblxyXG4gICAgcG9zaXRpb246IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIC8qIHRvcDogMDsgKi9cclxuICAgIC8qIHJpZ2h0OiAwOyAqL1xyXG4gICAgLyogYm90dG9tOiAwOyAqL1xyXG4gICAgLyogbGVmdDogMDsgKi9cclxuICAgIC8qIHotaW5kZXg6IDEwNTA7ICovXHJcbiAgICAvKiBkaXNwbGF5OiBub25lOyAqL1xyXG4gICAgLyogb3ZlcmZsb3c6IGhpZGRlbjsgKi9cclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgIC8qIG91dGxpbmU6IDA7ICovXHJcblxyXG5cclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XHJcbiAgICAgICAtbW96LXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xyXG4gICAgICAgICAtby10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XHJcblxyXG4gICAgJi5uZy1sZWF2ZSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy1lbnRlciB7XHJcbiAgICAubW9kYWwge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUge1xyXG4gICAgLm1vZGFsIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm1vZGFsLWFuaW1hdGUtY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIC8vIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNzcwcHgpO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gID4gLm1vZGFsLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcclxuICAgICAgIC1tb3otdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcclxuICAgICAgICAgLW8tdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcclxuXHJcbiAgICAmLm5nLWxlYXZlIHtcclxuICAgICAgJi5zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgICAgJi5zbGlkZS1yaWdodCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUsICYubmctaGlkZS1hZGQge1xyXG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XHJcbiAgICAgICYuc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cclxuICAgIH1cclxuXHJcbiAgICAmLm5nLWVudGVyLCAmLm5nLWhpZGUtcmVtb3ZlIHtcclxuICAgICAgJi5zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxyXG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUge1xyXG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tb2RhbC1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYm94LXNoYWRvdzogOHB4IDhweCAyMHB4IDBweCAjNGE0YTRhO1xyXG5cclxuICAmLmxhcmdlIHtcclxuICAgIHdpZHRoOiA5NzBweDtcclxuICB9XHJcblxyXG4gIGhlYWRlciB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XHJcblxyXG4gICAgYnV0dG9uLmxpbmsge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgbWluLWhlaWdodDogMzBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuXHJcbiAgICAgIGkubGVmdCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmNvbmZpcm0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIGkuZmEge1xyXG4gICAgICAgIG1hcmdpbjogMCA0cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBtYXJnaW46IDAgOHB4O1xyXG4gICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgIG9wYWNpdHk6IC4yO1xyXG4gICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjY2NjO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWN0aW9uIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG5cclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgbWluLWhlaWdodDogODBweDtcclxuICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgfVxyXG5cclxuICBmb290ZXIge1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcclxuXHJcbiAgICBidXR0b246bGFzdC1vZi10eXBlIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiRyZWQ6ICNjNDJhM2I7XHJcbiRibHVlOiAjOTc2OEVCO1xyXG4kZGFya19ibHVlOiAjMTEyNjRiO1xyXG4kZ3JleTogIzgwODA4MDtcclxuJGdyZWVuOiAjMjBiNzY5O1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiR5ZWxsb3c6ICNkOGI2MmY7XHJcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xyXG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xyXG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XHJcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XHJcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XHJcblxyXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XHJcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XHJcbiIsIlxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xyXG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XHJcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XHJcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XHJcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdygpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xyXG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcclxuICBoZWlnaHQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWU7XHJcbiAgd2lkdGg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1pbi13aWR0aDogMDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgbWluLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XHJcbn1cclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcclxuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcclxuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbi8vICRzbU1pbjogNzY4cHg7XHJcbiRzbU1heDogOTAwcHg7XHJcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGlmICRtZWRpYSA9PSBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4geHBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xyXG59XHJcbkBtaXhpbiB5cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWQ7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XHJcbn1cclxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tbGVmdDogJGdhcDtcclxuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XHJcbn1cclxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tdG9wOiAkZ2FwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XHJcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xyXG5cclxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xyXG4gID4gKiAge1xyXG4gICAgJjpmaXJzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcblxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuXHJcbi5sb2FkaW5nLXZpZXcge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgXHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6IDk5O1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDsgIFxyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgLjUpO1xyXG5cclxuICAubG9hZGluZy1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICBcclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgbWluLXdpZHRoOiAyMDBweDtcclxuXHJcbiAgICAuZmEtc3Bpbm5lciB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiJHJlZDogI2M0MmEzYjtcclxuJGJsdWU6ICM5NzY4RUI7XHJcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XHJcbiRncmV5OiAjODA4MDgwO1xyXG4kZ3JlZW46ICMyMGI3Njk7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJHllbGxvdzogI2Q4YjYyZjtcclxuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XHJcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XHJcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcclxuJHNjb3JlLXJlZDogI0QxNDA0QjtcclxuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcclxuXHJcbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcclxuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcclxuIiwiXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XHJcbn1cclxuXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XHJcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcclxuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcclxuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcclxuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcclxuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XHJcbiAgbWluLWhlaWdodDogJHZhbHVlO1xyXG4gIGhlaWdodDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZTtcclxuICBtaW4td2lkdGg6ICR2YWx1ZTtcclxuICB3aWR0aDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiB1bmxvY2std2lkdGggIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XHJcbiAgbWF4LWhlaWdodDogbm9uZTtcclxuICBtaW4taGVpZ2h0OiAwO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcclxuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcclxufVxyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiByZXNwb25kXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xyXG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xyXG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuLy8gJHNtTWluOiA3NjhweDtcclxuJHNtTWF4OiA5MDBweDtcclxuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XHJcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAaWYgJG1lZGlhID09IGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiB4cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XHJcbn1cclxuQG1peGluIHlwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLXRvcDogJHBhZDtcclxuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcclxufVxyXG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xyXG4gIG1hcmdpbi1yaWdodDogJGdhcDtcclxufVxyXG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi10b3A6ICRnYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxuICBtYXJnaW4tbGVmdDogJHcvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcclxuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59XHJcbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XHJcblxyXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XHJcbiAgPiAqICB7XHJcbiAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcclxufVxyXG5cclxuXHJcbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIm1peGluc1wiO1xyXG5cclxuLmF0aGxldGUtc2VsZWN0aW9uIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XHJcbiAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbiAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcblxyXG4gID4gZGl2IHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgY29sb3I6ICNjYmNiY2I7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZGJkYjtcclxuICAgICAgY29sb3I6ICM3NTc4N2I7XHJcbiAgICAgIC5zdGF0dXMgIHtcclxuICAgICAgICBjb2xvcjogIzQxQkFFQztcclxuICAgICAgfVxyXG4gICAgICAuY2xvc2Uge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZGJkYjtcclxuICAgICAgY29sb3I6ICM3NTc4N2I7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhdHVzIHtcclxuICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgIG1pbi13aWR0aDogMjVweDtcclxuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hbWUge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2Uge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIG1pbi13aWR0aDogMjVweDtcclxuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA+IGRpdi50ZWFtLW5hdiB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgbWluLXdpZHRoOiA2NXB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5hdGhsZXRlLWNvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG59XHJcblxyXG4uYXRobGV0ZS1tZW51IHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ4cHgpO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLmF0aGxldGUtc2VhcmNoIHtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0X2dyZXk7XHJcbiAgICB3aWR0aDogMTQwcHg7XHJcblxyXG4gICAgaW5wdXRbdHlwZT0ndGV4dCddIHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XHJcbiAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICB9XHJcblxyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYXRobGV0ZS1yZXNldC12aWV3IHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDEwMHB4KTtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTAwcHgpO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAkZGFya19ncmV5O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkbGlnaHRfZ3JleTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hdGhsZXRlLXRvZ2dsZS12aWV3IHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDEwMHB4KTtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTAwcHgpO1xyXG4gICAgZm9udC1zaXplOiAyM3B4O1xyXG5cclxuICAgICYgPiBpIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBtYXJnaW46IDhweDtcclxuICAgICAgY29sb3I6ICRsaWdodF9ncmV5O1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcclxuICAgICAgfVxyXG4gICAgICAmLmFjdGl2ZSAge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmF0aGxldGUtZmlsdGVyLXNvcnQge1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gICAgbWluLXdpZHRoOiA2MDBweDtcclxuXHJcbiAgICAmID4gLmF0aGxldGUtc29ydC1ib3gge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcclxuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIG1pbi13aWR0aDogMTEwcHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcclxuICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAzNSU7XHJcbiAgICAgICAgICByaWdodDogMTBweDtcclxuXHJcbiAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xyXG4gICAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3B0aW9ucyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTJweDtcclxuICAgICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmYxZjE7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDY4LCA2NywgNzYsIDAuMjUpO1xyXG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogMztcclxuXHJcbiAgICAgICAgLm9wdGlvbnMtaXRlbSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTRweDtcclxuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRmZGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vcHRpb25zLWl0ZW0tc2VsZWN0ZWQge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNvcnQtaXRlbS1zZWxlY3RlZCB7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5mYS1jaXJjbGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAmLm5vdC1hY3RpdmUge1xyXG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmZhLXNvcnQtYXNjIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5mYS1zb3J0LWRlc2Mge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG4uYXRobGV0ZS1saXN0LXZpZXcge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgXHJcbiAgLmF0aGxldGUtaGVhZGVyIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJiA+IGRpdiB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk7XHJcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5hdGhsZXRlLW51bWJlciB7XHJcbiAgICAgIG1pbi13aWR0aDogNzBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXRobGV0ZS1uYW1lIHtcclxuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcclxuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgICAgIG1pbi13aWR0aDogMTcwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmF0aGxldGUtc3RhdCB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjUpO1xyXG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcclxuICAgICAgbWluLXdpZHRoOiAxNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXRobGV0ZS1sYXN0LWFjdGl2aXR5IHtcclxuICAgICAgbWluLXdpZHRoOiAxNzBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hdGhsZXRlLXJvdyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChjZW50ZXIpO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG5cclxuICAgICYgPiBkaXYge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcclxuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTNweCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmF0aGxldGUtbnVtYmVyIHtcclxuICAgICAgY29sb3I6ICM5Mzk0OTc7XHJcbiAgICAgIG1pbi13aWR0aDogNzBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4XHJcbiAgICB9XHJcblxyXG4gICAgLmF0aGxldGUtbmFtZSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XHJcbiAgICAgIGNvbG9yOiAjZjdmN2Y3O1xyXG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmF0aGxldGUtc3RhdCB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjUpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMS4yNXB4O1xyXG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICBtaW4td2lkdGg6IDE0MHB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hdGhsZXRlLWxhc3QtYWN0aXZpdHkge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIG1pbi13aWR0aDogMTcwcHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICA+IGRpdiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmF0aGxldGUtbnVtYmVyLCAuYXRobGV0ZS1uYW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuYXRobGV0ZS1udW1iZXIsIC5hdGhsZXRlLW5hbWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDI0MjQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG4uYXRobGV0ZS1kYXNoYm9hcmQtbGF5b3V0IHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWYwZWY7XHJcblxyXG4gIC5hdGhsZXRlLWRhc2hib2FyZC1sYXlvdXQtc2lkZSB7XHJcbiAgICBAaW5jbHVkZSBmbGV4KC4xKTtcclxuICB9XHJcbn1cclxuXHJcbi5hdGhsZXRlLWRhc2hib2FyZCB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuXHJcbiAgJGRhc2hib2FyZC13aWR0aDogOTkwcHg7XHJcblxyXG4gIC5hdGhsZXRlLWRhc2hib2FyZC1tZW51IHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgICBtaW4taGVpZ2h0OiA4NXB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgd2lkdGg6ICRkYXNoYm9hcmQtd2lkdGg7XHJcblxyXG4gICAgJiA+IGRpdiB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAmID4gc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG5cclxuICAgICAgICAmID4gaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJGF0aGxldGVEYXNoYm9hcmRHYXA6IDEwcHg7XHJcbiAgLmF0aGxldGUtZGFzaGJvYXJkLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46ICRhdGhsZXRlRGFzaGJvYXJkR2FwKi0xO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLmF0aGxldGUtaW5mby1ib3gsXHJcbiAgICAuYXRobGV0ZS1hZGQtYm94IHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uLWNlbnRlcigpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyOThweCk7XHJcbiAgICAgIG1pbi13aWR0aDogMjk4cHg7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAjeyRhdGhsZXRlRGFzaGJvYXJkR2FwKjJ9KTsgLy8gYWRkIHRoZSBhYmlsaXR5IHRvIHNjYWxlIGRvd24gYXQgMTAyNHB4IHdpbmRvdyBzaXplXHJcbiAgICAgIFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIG1hcmdpbjogJGF0aGxldGVEYXNoYm9hcmRHYXA7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoc20pICB7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjYwcHgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmF0aGxldGUtYWRkLWJveCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXI6IDFweCBkYXNoZWQgI2NjYztcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBjb2xvcjogJGxpZ2h0X2dyZXk7XHJcblxyXG4gICAgICAuYWRkLWJ1dHRvbi10ZXh0IHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgICAgXHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgICAgICAgIFxyXG4gICAgICB9XHJcblxyXG4gICAgICAuYWRkLWJ1dHRvbi1pY29uIHtcclxuICAgICAgICBmb250LXNpemU6IDQ1cHg7XHJcbiAgICAgICAgbWFyZ2luOiA4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYXRobGV0ZS1pbmZvLWJveCA+IGRpdiB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uYXRobGV0ZS1kYXNoYm9hcmQtYWN0aW9ucyB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgbWFyZ2luLXRvcDogMzVweDtcclxuICAuYWN0aW9uIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAuYWN0aW9uLWljb24ge1xyXG4gICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgfVxyXG4gICAgLmFjdGlvbi10ZXh0IHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG4uYXRobGV0ZS1pbmZvLWJveCB7XHJcblxyXG4gIC5iaW8taGVhZGVyIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgQGluY2x1ZGUgZmxleCgxIDAgNDBweCk7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxNywzOCw3NSwxKTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIC5hdGhsZXRlLW51bWJlciB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hdGhsZXRlLW5hbWUge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXRobGV0ZS1udW1iZXIgKyAuYXRobGV0ZS1uYW1lIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxNywzOCw3NSwuODUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJpby1ib2R5IHtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAxIDEwMCUpO1xyXG4gICAgcGFkZGluZzogMTdweDtcclxuICAgICYgPiBkaXYge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxuICAgIH1cclxuICAgIC5hdGhsZXRlLXByb2ZpbGUge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgIG1heC13aWR0aDogMTIwcHg7XHJcblxyXG4gICAgICAucHJvZmlsZS1waWMtdGh1bWIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucHJvZmlsZS1waWMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcclxuICAgICAgICAvLyBtYXJnaW46IDVweCAxMHB4ICRhdGhsZXRQcm9maWxlU3ViUGljR2FwO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcclxuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAuYXRobGV0ZS1wb3NpdGlvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hdGhsZXRlLXdlaWdodCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYXRobGV0ZS1zdGF0cyB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgLy8gbWFyZ2luLXRvcDogMTRweDtcclxuICAgICAgLy8gcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblxyXG4gICAgICAuYXRobGV0ZS1zY29yZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hdGhsZXRlLXNjb3JlLXRsLWRhdGEge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgLnRlc3QtdHlwZSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLnRlc3Qtc2NvcmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJpby1mb290ZXIge1xyXG4gICAgQGluY2x1ZGUgZmxleCgxIDAgNTBweCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgbWF4LWhlaWdodDogNTBweDtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCA1MCUpO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcclxuICAgICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgICYuaWNvbi10ZXN0ICB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTg7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBkaXYgKyBkaXYge1xyXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNFOEU4RTg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiRyZWQ6ICNjNDJhM2I7XHJcbiRibHVlOiAjOTc2OEVCO1xyXG4kZGFya19ibHVlOiAjMTEyNjRiO1xyXG4kZ3JleTogIzgwODA4MDtcclxuJGdyZWVuOiAjMjBiNzY5O1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiR5ZWxsb3c6ICNkOGI2MmY7XHJcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xyXG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xyXG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XHJcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XHJcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XHJcblxyXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XHJcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XHJcbiIsIlxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xyXG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XHJcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XHJcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XHJcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdygpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xyXG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcclxuICBoZWlnaHQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWU7XHJcbiAgd2lkdGg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1pbi13aWR0aDogMDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgbWluLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XHJcbn1cclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcclxuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcclxuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbi8vICRzbU1pbjogNzY4cHg7XHJcbiRzbU1heDogOTAwcHg7XHJcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGlmICRtZWRpYSA9PSBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4geHBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xyXG59XHJcbkBtaXhpbiB5cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWQ7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XHJcbn1cclxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tbGVmdDogJGdhcDtcclxuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XHJcbn1cclxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tdG9wOiAkZ2FwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XHJcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xyXG5cclxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xyXG4gID4gKiAge1xyXG4gICAgJjpmaXJzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcblxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuXHJcbi5wcm9maWxlLW1lbnUge1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xyXG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDY1cHgpO1xyXG5cclxuICA+IGRpdiB7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcclxuICAgIGNvbG9yOiAjYTBhNGE4O1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibHVlO1xyXG4gICAgICBjb2xvcjogI2VmZWZlZjtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjYTBhNGE4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuLm1hcmtlciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogLTMwcHg7XHJcbiAgICAgIHdpZHRoOiAyM3B4O1xyXG4gICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgPiBkaXYgKyBkaXYge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvZmlsZS1kZXRhaWwge1xyXG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMjEwcHgpO1xyXG5cclxuICAuZGF0YS1lbXBoYXNpcyB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxuXHJcbiAgLnByb2ZpbGUtcGljIHtcclxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE3NXB4KTtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjAwcHgpO1xyXG4gIH1cclxuXHJcbiAgLnByb2ZpbGUtYWN0aW9uIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblxyXG4gICAgaSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmludmlzaWJsZSB7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9maWxlLWRhdGEtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uLWNlbnRlcigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcblxyXG4gICAgLnByb2ZpbGUtZGF0YSA+IHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9maWxlLWdyb3VwLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbi1jZW50ZXIoKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG5cclxuICAgIC5ncm91cC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q5REFEOTtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIG1hcmdpbjogNnB4IDAgMDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgd2lkdGg6IDExNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgIC5ncm91cC1pY29uIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICB3aWR0aDogMTJweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmdyb3VwLXNhdmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5ncm91cC1jbG9zZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi5wcm9maWxlLXN1bW1hcnkge1xyXG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNzgwcHgpO1xyXG5cclxuICAucHJvZmlsZS1uYW1lIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICYgPiBkaXYge1xyXG4gICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnByb2ZpbGUtYWN0aXZpdHkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgJjpudGgtY2hpbGQobisyKTpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgICAgIGNvbnRlbnQ6ICd8JztcclxuICAgICAgICBtYXJnaW46IDAgOXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmID4gc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmx1ZS10ZXh0IHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNjb3JlLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xyXG4gICAgbWluLWhlaWdodDogMjBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG5cclxuICAuc2NvcmUtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzgwcHgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cclxuICAgIC5wcm9maWxlLXNjb3JlIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDg1cHgpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMzMHB4KTtcclxuXHJcbiAgICAgICYubGFiZWwtb25seSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wcm9maWxlLXNjb3JlLWluZm8ge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG5cclxuICAgICAgICAucHJvZmlsZS1zY29yZS1uYW1lIHtcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuMjVweDtcclxuXHJcblxyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgY29sb3I6ICNBRUFFQUU7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcm9maWxlLXNjb3JlLWRhdGUge1xyXG5cclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICAgIGNvbG9yOiAjQUVBRUFFO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnByb2ZpbGUtc2NvcmUtZ3JhcGgtY2FudmFzIHtcclxuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2MHB4KTtcclxuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMzMHB4KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnByb2ZpbGUtc2NvcmUtbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgICAucHJvZmlsZS10bC1jaGFuZ2Uge1xyXG4gICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50b2RheS1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMTBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxuXHJcbiAgLnRvZGF5LXByb2dyYW0ge1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzgwcHgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDdweDtcclxuICAgIHBhZGRpbmc6IDAgNnB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICYgPiBkaXYge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpdi5pY29uLWNoZWNrYm94LWNoZWNrZWQgIHtcclxuICAgICAgY29sb3I6ICNBRkIwQUU7XHJcbiAgICAgICYuYmx1ZS1jaGVjayB7XHJcbiAgICAgICAgY29sb3I6ICM5NzY4RUI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHJvZ3JhbSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgLmxpZ2h0LWdyZXktdGV4dCAge1xyXG4gICAgICAgIGNvbG9yOiAjQUZCMUIzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudG9kYXktbm90aWNlIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoODBweCk7XHJcbiAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XHJcbiAgICBwYWRkaW5nOiAwIDZweDtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5ub3RpY2Uge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gICAgICAvLyBtb3JlIHJlc3BvbnNpdmUgdG8gbm8gZml4IGhlaWdodHNcclxuICAgICAgLy8gYW5kIGluc3RlYWQgdXNlIHBhZGRpbmcvbWFyZ2lucy4uXHJcbiAgICAgIC8vIG1pbi1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XHJcblxyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm5vdGljZS1idXR0b24ge1xyXG4gICAgICA+IGJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnllbGxvdyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmMwM2Y7XHJcblxyXG4gICAgICAubm90aWNlIHtcclxuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm5vdGljZS1idXR0b24ge1xyXG4gICAgICAgID4gYnV0dG9uIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWI3NGU7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gbWlzYyBzZWN0aW9uIHNwYWNpbmdcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4uc3BhY2VkLXRvcC1sYXJnZSAge1xyXG4gIG1hcmdpbi10b3A6IDQ1cHg7XHJcbn1cclxuLnNwYWNlZC1ib3R0b20tbWVkaXVtICB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxufVxyXG4iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiXHJcbi5jYXRhbG9nLWZlYXR1cmUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZjZmNmO1xyXG4gIGhlaWdodDogNDAwcHg7XHJcblxyXG4gIC5mZWF0dXJlLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IHRvcDtcclxuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICYucnVubmluZy1tYW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvcHJvZ3JhbV9jYXRhbG9nX2JhY2tncm91bmQucG5nJyk7XHJcbiAgICAgIFxyXG4gICAgICAuZmVhdHVyZS1jb250ZW50IHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xyXG4gICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lc3NhZ2UtdGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmVhdHVyZS1jb250ZW50IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDQwcHg7XHJcbiAgICAgIGxlZnQ6IDgwcHg7XHJcbiAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgY29sb3I6ICNlZmVmZWY7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1O1xyXG5cclxuICAgICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBoMiwgLnRpdGxlLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNTVweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBwLCAubWVzc2FnZS10ZXh0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmVhdHVyZS1idXR0b24ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMzVweDtcclxuICAgICAgbGVmdDogODBweDtcclxuICAgICAgY29sb3I6ICNlZmVmZWY7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWFya2VycyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAubWFya2VyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBtYXJnaW46IDZweDtcclxuICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICB3aWR0aDogMTBweDtcclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiYWVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2F0YWxvZy1zZWxlY3RlZCB7XHJcbiAgcGFkZGluZzogMzVweDtcclxuXHJcbiAgLnRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG5cclxuICAgIC50aXRsZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hbWUge1xyXG4gICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJldHVybi1saW5rIHtcclxuICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICA+IGRpdiB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBpIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZXRhaWwtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgIC5pbmZvLXJvdy1oZWFkZXIge1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIG1heC13aWR0aDogMjYwcHg7XHJcblxyXG4gICAgICA+IGRpdiB7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMzBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbmZvLXJvdyB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcclxuXHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGRpdiArIGRpdiB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaW5mbyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjcmlwdGlvbi1yb3cge1xyXG4gICAgICBmb250LXNpemU6MTJweDtcclxuICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgd2lkdGg6IDIwMHB4O1xyXG5cclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYnV0dG9uICsgYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNhbXBsZS1jb250YWluZXIge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuXHJcbiAgICAgIC52aWRlby1sYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC52aWRlby1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMjM5cHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MjVweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyMzlweDtcclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1pc3NpbmctbWVkaWEge1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZXhlcmNpc2Utc2VsZWN0ZWQge1xyXG4gIHBhZGRpbmc6IDM1cHg7XHJcblxyXG4gIC50aXRsZS1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuXHJcbiAgICAudGl0bGUge1xyXG4gICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5uYW1lIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZXR1cm4tbGluayB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gaSB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGV0YWlsLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAuaW5mby1yb3ctaGVhZGVyIHtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG5cclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbmZvLXJvdyB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuXHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gZGl2ICsgZGl2IHtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pbmZvIHtcclxuICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRlc2NyaXB0aW9uLXJvdyB7XHJcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICB3aWR0aDogMjAwcHg7XHJcblxyXG4gICAgICBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBidXR0b24gKyBidXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2FtcGxlLWNvbnRhaW5lciB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cclxuICAgICAgLnZpZGVvLWxhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnZpZGVvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAyMzlweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDQyNXB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzOXB4O1xyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1pc3NpbmctbWVkaWEge1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZXhlcmNpc2UtaW5mby1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgZmxleCgwIDAgNDAwcHgpO1xyXG4gIH1cclxuXHJcbiAgLnNhbXBsZS1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgZmxleCgxIDAgMzUwcHgpO1xyXG5cclxuICAgIC5maWxlLWlucHV0LXdyYXBwZXIge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuXHJcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuXHJcbiAgICAgID4gYnV0dG9uIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm0tZmllbGRzICB7XHJcbiAgICBcclxuICAgIC53ZWVrLXNlbGVjdGlvbiB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuXHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBtaW4td2lkdGg6IDgwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcclxuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGJsdWU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgIFxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYmx1ZTtcclxuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkYmx1ZTtcclxuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xyXG4gICAgICAgICAgY29sb3I6ICNlZmVmZWY7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWJkN2VhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7XHJcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCAge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbWluLWhlaWdodDogNTBweDtcclxuICAgICAgcGFkZGluZzogMnB4O1xyXG5cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICAgIG1pbi13aWR0aDogMTIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIGlucHV0ICB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IDIxcHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzZWxlY3Qge1xyXG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAzcHg7XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xyXG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBzZWxlY3QgKyBpLmljb24tY2FyZXQtZG93biB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMjVweDtcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICBjb2xvcjogI0Q5REJEQztcclxuICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhdGFsb2ctaGlzdG9yeSB7XHJcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XHJcbiAgbWluLWhlaWdodDogMjc1cHg7XHJcblxyXG4gIC5saW5rLWNvbnRhaW5lciB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcclxuXHJcbiAgICAubGluayB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMzVweDtcclxuICAgICAgbWluLWhlaWdodDogMzVweDtcclxuICAgICAgbWluLXdpZHRoOiAxMDBweDtcclxuICAgICAgY29sb3I6ICNhYWE7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIHNwYW4uYWN0aXZlIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzk3NjhFQjtcclxuICAgICAgICBjb2xvcjogIzc1Nzg3YjtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ub3RpZnktY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgcGFkZGluZzogMCA0MHB4O1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMTAwJSk7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDU1cHgpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jbG9zZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcclxuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLndhcm5pbmcge1xyXG4gICAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNkOTVlOyAqL1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFjMjU1O1xyXG4gICAgICBjb2xvcjogI2ZlZmVmZTtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICNlOWQyNWU7ICovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYjc0ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNsb3NlIHtcclxuICAgICAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5saXN0IHtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XHJcblxyXG4gICAgLmxpc3Qtc2Nyb2xsLWNvbnRhaW5lciB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIDEwMCUpO1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgICAgLmxpc3Qtc2Nyb2xsIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxNzdweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XHJcblxyXG4gICAgICAgIC5zY2hlZHVsZS1wcm9ncmFtIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yb3cge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgcGFkZGluZzogMCA0MHB4O1xyXG4gICAgICBjb2xvcjogIzg4ODtcclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmhlYWRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICNhYWE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50ZXh0LWNvbHVtbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcclxuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZGF0ZS1jb2x1bW4ge1xyXG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuYWN0aW9uLWNvbHVtbiB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG4ucHJvZ3JhbS1oZWFkZXItY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBmbGV4KDEpO1xyXG59XHJcblxyXG4ucHJvZ3JhbS1lZGl0LWhlYWRlciB7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoODVweCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucHJvZ3JhbS10eXBlLXNlbGVjdGlvbiB7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XHJcbiAgPiAudHlwZS1pdGVtIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGNvbG9yOiAjZGRkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLnBpbGwge1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIGNvbG9yOiAjNzU3NzdBO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgYmFja2dyb3VuZDogI0FGQjFCNDtcclxuICAgICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgY29sb3I6ICM3NTc4N2I7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgPiAudHlwZS1pdGVtICsgLnR5cGUtaXRlbSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICB9XHJcbiAgPiAuY29weS1jb250cm9scyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSAwJSk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xyXG4gIH1cclxufVxyXG5cclxuLnByb2dyYW0tc2NoZWR1bGUtY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcclxuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XHJcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XHJcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEzMHB4KTtcclxuICB9XHJcbn1cclxuXHJcbi5wcm9ncmFtLWVkaXQge1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cclxuICAucHJvZ3JhbS1zdHJhdGVneS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAucHJvZ3JhbS1zdHJhdGVneSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgIGkge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMCAzMHB4KTtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgLnN0cmF0ZWd5LW5hbWUge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSBhdXRvKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgfVxyXG4gICAgICAuc3RyYXRlZ3ktYWN0aW9uIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMTMwcHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciArIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLnByb2dyYW0tdGVjaG5pcXVlIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAjZWZlZmVmO1xyXG4gICAgLmNvdW50ZXIge1xyXG4gICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgLm5hbWUge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxuICAgICAgPiBzcGFuIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjdGlvbiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgXHJcbiAgICAgIC5pY29uLXBsdXMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICB9XHJcbiAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZ3JhbS1leGVyY2lzZS1jb250YWluZXIge1xyXG4gICAgbWluLWhlaWdodDogODBweDtcclxuICAgID4gZGl2IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgICBtYXJnaW46IDFweCAwO1xyXG4gICAgICBtaW4taGVpZ2h0OiA4MHB4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgJi5hY3RpdmUtaXRlbSB7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAucHJvZ3JhbS1leGVyY2lzZSB7XHJcbiAgICAgICAgICAuZHJhZy1pY29uIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmFjdGlvbnMge1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIC5zb3J0LWljb25zIC5pY29uOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgID4gZGl2Omxhc3QtY2hpbGQge1xyXG4gICAgICAuc29ydC1pY29ucyAuaWNvbjpsYXN0LWNoaWxkIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcm9ncmFtLW5vdGUge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogOTBweDtcclxuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIH1cclxuICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcclxuICAgICAgbWluLWhlaWdodDogODBweDtcclxuICAgICAgbWluLXdpZHRoOiA2MDBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIC5kcmFnLWljb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDI4cHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XHJcbiAgICAgICAgY29sb3I6ICNiYmI7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgLnNvcnQtaWNvbnMge1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XHJcbiAgICAgICAgY29sb3I6ICNiYmI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgIGNvbG9yOiAjZGVkZWRlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmluZm8ge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hdHRyaWJ1dGVzID4gZGl2IHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYXR0cmlidXRlcyA+IGRpdiArIGRpdiB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmFjdGlvbnMge1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM4cHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTgwcHgpO1xyXG4gICAgICAgIGNvbG9yOiAjZGRkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnByb2dyYW0tZWRpdC1mb290ZXIge1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcclxuICBtYXJnaW46IDE1cHggMzBweDtcclxufSIsIiRyZWQ6ICNjNDJhM2I7XHJcbiRibHVlOiAjOTc2OEVCO1xyXG4kZGFya19ibHVlOiAjMTEyNjRiO1xyXG4kZ3JleTogIzgwODA4MDtcclxuJGdyZWVuOiAjMjBiNzY5O1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiR5ZWxsb3c6ICNkOGI2MmY7XHJcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xyXG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xyXG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XHJcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XHJcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XHJcblxyXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XHJcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XHJcbiIsIlxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xyXG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XHJcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XHJcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XHJcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdygpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xyXG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcclxuICBoZWlnaHQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWU7XHJcbiAgd2lkdGg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1pbi13aWR0aDogMDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgbWluLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XHJcbn1cclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcclxuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcclxuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbi8vICRzbU1pbjogNzY4cHg7XHJcbiRzbU1heDogOTAwcHg7XHJcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGlmICRtZWRpYSA9PSBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4geHBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xyXG59XHJcbkBtaXhpbiB5cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWQ7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XHJcbn1cclxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tbGVmdDogJGdhcDtcclxuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XHJcbn1cclxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tdG9wOiAkZ2FwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XHJcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xyXG5cclxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xyXG4gID4gKiAge1xyXG4gICAgJjpmaXJzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcblxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuXHJcbi53aGl0ZWJvYXJkIHtcclxuICBtaW4td2lkdGg6IDY0MHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAmID4gc2VjdGlvbiB7XHJcbiAgICBtYXJnaW46IDE1cHggMzBweDtcclxuICB9XHJcbn1cclxuXHJcbi53aGl0ZWJvYXJkLXNjaGVkdWxlIHtcclxuICBtaW4td2lkdGg6IDY0MHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAud2hpdGVib2FyZC1wcm9ncmFtIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDMwcHggMCAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLndoaXRlYm9hcmQtcHJvZ3JhbSB7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMTQwcHgpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XHJcbiAgcGFkZGluZzogMzBweCAzMHB4IDE1cHg7XHJcblxyXG4gIC5uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgbWluLWhlaWdodDogMzBweDtcclxuICB9XHJcblxyXG4gIC5vcmlnaW4ge1xyXG4gICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgLmVkaXQge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgbWluLWhlaWdodDogMjVweDtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLndoaXRlYm9hcmQtZGF0ZSB7XHJcbiAgc3BhbiB7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcblxyXG4gIC5kYXRlLWlucHV0IHtcclxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xyXG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMzBweCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcclxuICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICB0ZXh0LWluZGVudDogNXB4O1xyXG4gICAgICBvdXRsaW5lOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbnB1dC1pY29uIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcclxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XHJcblxyXG4gICAgICBpLmZhIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kYXRlLWRpc2FibGVkIHtcclxuICAgIC5pbnB1dC1pY29uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2dyZXk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLndlZWstbGlzdCB7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxuICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcblxyXG4gIC53ZWVrLWl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgbWluLWhlaWdodDogMjhweDtcclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53ZWVrLWNvcHkge1xyXG4gICAgQGluY2x1ZGUgZmxleCgxIDEgMCUpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcclxuICB9XHJcbn1cclxuXHJcbi5kYXktbGlzdCB7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XHJcbiAgbWFyZ2luOiAyMHB4IDA7XHJcblxyXG4gIC5kYXktaXRlbSB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibHVlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlO1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbWluLWhlaWdodDogNDVweDtcclxuICAgIG1pbi13aWR0aDogODBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgY29sb3I6ICNmZWZlZmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY1LCAxODcsIDIzMSwgMC41KTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRibHVlO1xyXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYmx1ZTtcclxuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kYXktbGlzdC1zY2hlZHVsZSB7XHJcblxyXG4gIC5kYXktaXRlbSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG5cclxuICAgIC5kcmFnLWljb24ge1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMHB4KTtcclxuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMHB4KTtcclxuICAgICAgY3Vyc29yOiBtb3ZlO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubmFtZSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGF5LWl0ZW0gKyAuZGF5LWl0ZW0ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvZ3JhbS1zZWN0aW9uIHtcclxuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcclxuXHJcbiAgJi5hY2NlcHQtZHJvcCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcblxyXG4gICAgLmFjdGlvbi13aXRoLWljb24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLm5hbWUgPiBpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uYW1lIHtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSk7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMTBweCk7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIGkuZmEge1xyXG4gICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvZ3JhbS1zZWN0aW9uLXBsYWNlaG9sZGVyIHtcclxuXHJcbiAgJiA+IGRpdiB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNiYmI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBtYXJnaW46IDRweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIHNwYW4udGV4dCB7XHJcbiAgICAgIGNvbG9yOiAjYmJiO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvZ3JhbS1leGVyY2lzZS1jb250YWluZXIge1xyXG4gIG1pbi1oZWlnaHQ6IDg2cHg7XHJcblxyXG4gICYgPiBkaXYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIG1hcmdpbjogMnB4O1xyXG4gICAgbWluLWhlaWdodDogODBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICYuYWN0aXZlLWl0ZW0ge1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAucHJvZ3JhbS1leGVyY2lzZSB7XHJcbiAgICAgICAgLmRyYWctaWNvbiB7XHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY3Rpb25zIHtcclxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hZGQtZXhlcmNpc2Uge1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgIGNvbG9yOiAjYWFhO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNDREQzRDc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIGNvbG9yOiAjQ0REM0Q3O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnByb2dyYW0tbm90ZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDkwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gIH1cclxuXHJcbiAgLnByb2dyYW0tZXhlcmNpc2Uge1xyXG4gICAgbWluLWhlaWdodDogODBweDtcclxuICAgIG1pbi13aWR0aDogNjAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAuZHJhZy1pY29uIHtcclxuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XHJcbiAgICAgIGNvbG9yOiAjYmJiO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbmZvIHtcclxuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcclxuXHJcbiAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hdHRyaWJ1dGVzID4gZGl2IHtcclxuICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hdHRyaWJ1dGVzID4gZGl2ICsgZGl2IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hY3Rpb25zIHtcclxuICAgICAgY29sb3I6ICNkZGQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5hY2NlcHQtZHJvcC1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcblxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkY2RjZDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNSwgMjI1LCAyMjUsIC41KTtcclxuICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG5cclxuICA+IHNwYW4ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgJi5oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5zb3J0LW9yZGVyLWNvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICB6LWluZGV4OiAxO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RjZGNkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgLjUpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBmb250LXNpemU6IDI0cHg7XHJcblxyXG4gID4gc3BhbiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAmLmhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLnNjaGVkdWxlLXNlbGVjdGVkLWF0aGxldGVzIHtcclxuICBtYXJnaW4tbGVmdDogNTBweDtcclxuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gIHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgY29sb3I6ICM3NTc3N0E7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgfVxyXG4gIC5hdGhsZXRlLW5hbWVzIHtcclxuICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICAuYXRobGV0ZS1uYW1lcy1tb3JlIHtcclxuICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYnVsay1zY2hlZHVsZS1kaXZpZGVyIHtcclxuICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aWR0aDogNDdweDtcclxuICBpIHtcclxuICAgIGNvbG9yOiAjRDdEOURBO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLndoaXRlYm9hcmQtZm9vdGVyIHtcclxuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XHJcbn1cclxuIiwiJHJlZDogI2M0MmEzYjtcclxuJGJsdWU6ICM5NzY4RUI7XHJcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XHJcbiRncmV5OiAjODA4MDgwO1xyXG4kZ3JlZW46ICMyMGI3Njk7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJHllbGxvdzogI2Q4YjYyZjtcclxuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XHJcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XHJcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcclxuJHNjb3JlLXJlZDogI0QxNDA0QjtcclxuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcclxuXHJcbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcclxuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcclxuIiwiXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XHJcbn1cclxuXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XHJcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcclxuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcclxuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcclxuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcclxuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XHJcbiAgbWluLWhlaWdodDogJHZhbHVlO1xyXG4gIGhlaWdodDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZTtcclxuICBtaW4td2lkdGg6ICR2YWx1ZTtcclxuICB3aWR0aDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiB1bmxvY2std2lkdGggIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XHJcbiAgbWF4LWhlaWdodDogbm9uZTtcclxuICBtaW4taGVpZ2h0OiAwO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcclxuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcclxufVxyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiByZXNwb25kXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xyXG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xyXG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuLy8gJHNtTWluOiA3NjhweDtcclxuJHNtTWF4OiA5MDBweDtcclxuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XHJcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAaWYgJG1lZGlhID09IGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiB4cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XHJcbn1cclxuQG1peGluIHlwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLXRvcDogJHBhZDtcclxuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcclxufVxyXG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xyXG4gIG1hcmdpbi1yaWdodDogJGdhcDtcclxufVxyXG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi10b3A6ICRnYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxuICBtYXJnaW4tbGVmdDogJHcvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcclxuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59XHJcbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XHJcblxyXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XHJcbiAgPiAqICB7XHJcbiAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcclxufVxyXG5cclxuXHJcbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIm1peGluc1wiO1xyXG5cclxuLmNhbGVuZGFyLW1lbnUge1xyXG4gIG1hcmdpbjogMjBweCAwO1xyXG5cclxuICA+IGRpdiB7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcclxuICAgIGNvbG9yOiAjYTBhNGE4O1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBsYXJnZS10YWJzLXN0eWxlO1xyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EwYTRhODtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgPiBkaXYgKyBkaXYge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRsYXJnZS10YWJzLXNwYWNpbmc7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FsZW5kYXItcGFyZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1tb250aCB7XHJcbiAgQGluY2x1ZGUgZmxleCgxIDAgNjkwcHgpO1xyXG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNjkwcHgpO1xyXG4gIG1hcmdpbjogMXB4IDAgMDsgXHJcblxyXG4gIC5jYWxlbmRhci1oZWFkZXIge1xyXG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbWFyZ2luOiAtMXB4IDAgMCAtMXB4O1xyXG5cclxuICAgIFxyXG4gICAgLmZhICB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgcGFkZGluZzogMTBweDsgICAgICBcclxuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICB9XHJcblxyXG4gICAgJiA+IGRpdiB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyMHB4KTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyMHB4KTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC55ZWFyLWNvbnRhaW5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgc2VsZWN0LnllYXItc2VsZWN0IHtcclxuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG1lbnVsaXN0KTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4KC4xIDAgMCk7ICAgICAgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAxcHg7XHJcbiAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICBjb2xvcjogJGdyZXk7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDBweDtcclxuXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjotbW96LWZvY3VzcmluZyB7XHJcbiAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Oi1tcy1leHBhbmQge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgKyBpLmljb24tY2FyZXQtZG93biB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDEwcHg7ICAgICAgICBcclxuICAgICAgICAgIHJpZ2h0OiAtMTJweDtcclxuICAgICAgICAgIGNvbG9yOiAjRDlEQkRDO1xyXG4gICAgICAgICAgZm9udC1zaXplOiA2cHg7XHJcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53ZWVrLWRheS1sYWJlbHMge1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChmbGV4LXN0YXJ0KTtcclxuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcclxuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcclxuICAgIGNvbG9yOiAjYzBjMGMwO1xyXG5cclxuICAgICYubGVmdCB7XHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBkaXYge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcclxuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5OS41cHgpO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICM5OTk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgbWFyZ2luOiAtMXB4IDAgMCAtMXB4O1xyXG5cclxuICAgICAgLmFjY2VwdC1kcm9wLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5Ny41cHgpO1xyXG4gICAgICAgIHJpZ2h0OiBpbml0aWFsO1xyXG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI2NjYztcclxuICAgIH1cclxuXHJcbiAgICBkaXY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2NjYztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYWxlbmRhci1kYXlzIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxuXHJcbiAgICAuY2FsZW5kYXItZGF5IHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDgwcHgpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDk5LjVweCk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgbWFyZ2luOiAtMXB4IDAgMCAtMXB4O1xyXG4gICAgICBwYWRkaW5nOiA4cHggMTJweDsgXHJcblxyXG4gICAgICAmLmRheS1hY3Rpdml0aWVzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDBCOTZEO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmN1cnJlbnQtZGF5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRibHVlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAmLnByb2dyYW0tcmFuZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5lbXB0eSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNhbGVuZGFyLWRheS1udW1iZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgPiAubW9udGgtYWJicmV2IHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmNhbGVuZGFyLWRheS1jb25jZXJuLCAuY2FsZW5kYXItZGF5LWV4aXN0aW5nIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcclxuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDg1cHgpO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgIG1hcmdpbjogMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmNhbGVuZGFyLWRheS1jb25jZXJuIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2FsZW5kYXItZGF5LXNjaGVkdWxlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcclxuICAgICAgICBmb250LXNpemU6IDlweDtcclxuXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICBtYXJnaW46IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaW5wdXQtY3RsIHtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDI4MHB4KTtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjgwcHgpO1xyXG4gICAgYm94LXNoYWRvdzogNnB4IDZweCAxOHB4IDBweCAjNGE0YTRhO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNDBweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIG1hcmdpbjogMXB4IDA7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG5cclxuICAgIC5jYWxlbmRhci1oZWFkZXIge1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jYWxlbmRhci13ZWVrLWhlYWRlciB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyOHB4KTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcclxuXHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM1cHgpO1xyXG4gICAgICAgIGNvbG9yOiAjZGZkZmRmO1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIG1hcmdpbjogMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNhbGVuZGFyLWRheXMge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcblxyXG4gICAgICAuY2FsZW5kYXItZGF5IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzVweCk7XHJcbiAgICAgICAgbWFyZ2luOiAycHg7XHJcbiAgICAgICAgYm9yZGVyOiAyLjEyNzVweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICYuZW1wdHkge1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jdXJyZW50LWRheSB7XHJcbiAgICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkICM5NzY4RUI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmN1cnJlbnQtcmFuZ2Uge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjVmZDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmNhbGVuZGFyLWRheS1udW1iZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogIzhkOGQ4ZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KC5lbXB0eSkge1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FsZW5kYXItZGF5LW51bWJlciB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyLWRheS1pbmZvIHtcclxuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcclxuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwMHB4KTtcclxuICBcclxuICAuZGF5LWRhdGUge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luOiAzNXB4IDAgMjBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgID4gLmljb24tY2FsZW5kYXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogN3B4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBjb2xvcjogI2VmZWZlZjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kYXktcHJvZ3JhbSB7XHJcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDI5NXB4KTtcclxuICAgIFxyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNzVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgLmxpZ2h0LWdyZXktdGV4dCAge1xyXG4gICAgICBjb2xvcjogI0E3QThBNztcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGlvbiB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi53ZWVrLXdyYXBwZXIge1xyXG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gIG1pbi1oZWlnaHQ6IDQyNXB4O1xyXG4gIC8qIGhlaWdodDogNDI1OyAqL1xyXG5cclxuICAmLnNtYWxsIHtcclxuICAgIG1pbi1oZWlnaHQ6IDIyNXB4O1xyXG4gICAgLyogaGVpZ2h0OiAyMjVweDsgKi9cclxuICB9XHJcbiAgXHJcbiAgLndlZWstYnV0dG9uLWNvbHVtbiB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIG1pbi13aWR0aDogMjBweDtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgICAgICAgICAgICAgXHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSByZXNwb25kKGxnKSAge1xyXG4gICAgICAkd2Vlay1idXR0b24tZWRnZS1wdWxsOiAtMjVweDtcclxuICAgICAgLmZhLWFuZ2xlLWxlZnQgIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogJHdlZWstYnV0dG9uLWVkZ2UtcHVsbDtcclxuICAgICAgfVxyXG4gICAgICAuZmEtYW5nbGUtcmlnaHQgIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICR3ZWVrLWJ1dHRvbi1lZGdlLXB1bGw7XHJcbiAgICAgIH0gXHJcbiAgICB9ICAgXHJcbiAgfVxyXG5cclxuICAud2Vlay1kYXktY29sdW1uIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcclxuICAgIG1pbi13aWR0aDogMTQwcHg7XHJcblxyXG4gICAgLmRheS1udW1iZXIge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoZmxleC1zdGFydCk7XHJcbiAgICAgIGNvbG9yOiAjYWFhO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIG1hcmdpbjogMTBweCAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC53ZWVrLWRheS1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNhYWE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC53ZWVrLWRheS1wcm9ncmFtIHtcclxuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEzMHB4KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICBjb2xvcjogI2JiYjtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuICAgICAgICBtYXJnaW46IDRweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweDtcclxuXHJcbiAgICAgICAgJi5hY3Rpb24ge1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VycmVudC1kYXkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAuZGF5LW51bWJlciB7XHJcbiAgICAgICAgY29sb3I6ICM4MDgwODA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC53ZWVrLWRheS1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGJsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAud2Vlay1kYXktcHJvZ3JhbSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xyXG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcblxyXG4gICAgICAgICAgLndlZWstZGF5LXByb2dyYW0tdGl0bGU6bm90KC5saWdodC1ncmV5LXRleHQpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC53ZWVrLWRheS1wcm9ncmFtLW5hbWU6bm90KC5saWdodC1ncmV5LXRleHQpIHtcclxuICAgICAgICAgICAgY29sb3I6ICM4ODg4ODg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiRyZWQ6ICNjNDJhM2I7XHJcbiRibHVlOiAjOTc2OEVCO1xyXG4kZGFya19ibHVlOiAjMTEyNjRiO1xyXG4kZ3JleTogIzgwODA4MDtcclxuJGdyZWVuOiAjMjBiNzY5O1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiR5ZWxsb3c6ICNkOGI2MmY7XHJcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xyXG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xyXG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XHJcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XHJcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XHJcblxyXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XHJcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XHJcbiIsIlxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xyXG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XHJcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XHJcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XHJcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdygpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xyXG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcclxuICBoZWlnaHQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWU7XHJcbiAgd2lkdGg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1pbi13aWR0aDogMDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgbWluLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XHJcbn1cclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcclxuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcclxuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbi8vICRzbU1pbjogNzY4cHg7XHJcbiRzbU1heDogOTAwcHg7XHJcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGlmICRtZWRpYSA9PSBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4geHBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xyXG59XHJcbkBtaXhpbiB5cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWQ7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XHJcbn1cclxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tbGVmdDogJGdhcDtcclxuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XHJcbn1cclxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tdG9wOiAkZ2FwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XHJcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xyXG5cclxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xyXG4gID4gKiAge1xyXG4gICAgJjpmaXJzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcblxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuXHJcbi5jaGFydC1tZW51IHtcclxuICBtYXJnaW46IDUwcHggMCAzMHB4IDA7XHJcblxyXG4gIC5jaGFydC1tZW51LWl0ZW0ge1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XHJcbiAgICBAaW5jbHVkZSBsYXJnZS10YWJzLXN0eWxlO1xyXG4gICAgY29sb3I6ICNhMGE0YTg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XHJcbiAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EwYTRhODtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmxpbmUtY2hhcnQge1xyXG4gIG1hcmdpbjogMjVweCAwIDAgMDtcclxuXHJcbiAgLmxpbmUtY2hhcnQtY2FudmFzIHtcclxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1MHB4KTtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNzAwcHgpO1xyXG5cclxuICAgICYuc21hbGwge1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyNzVweCk7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNTUwcHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxpbmUtY2hhcnQtbWVudSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW46IDI1cHggMDtcclxuICB9XHJcbn1cclxuXHJcbi5wcm9ncmFtLWNoYXJ0IHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChmbGV4LXN0YXJ0KTtcclxuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcclxuICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XHJcbiAgQGluY2x1ZGUgbG9jay13aWR0aCg3MDBweCk7XHJcbiAgbWFyZ2luOiAyNXB4IDAgMCAwO1xyXG4gIG1pbi1oZWlnaHQ6IDM1MHB4O1xyXG5cclxuICAucHJvZ3JhbS1jb21wbGV0ZSB7XHJcbiAgICBtYXJnaW46IDVweCAxNXB4O1xyXG5cclxuICAgIC5wcm9ncmFtLWluZm8ge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xyXG4gICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuXHJcbiAgICAgIC5wcm9ncmFtLXRpdGxlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wcm9ncmFtLW5hbWUge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBjb2xvcjogI2NkY2RjZDtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjYW52YXMge1xyXG4gICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgIHdpZHRoOiAzMTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zZWxlY3Rpb24tY29tcG9uZW50IHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xyXG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMTAwcHgpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgY29udGVudDogJz4nO1xyXG4gICAgZm9udDogNjAwIDEycHggJ0NvbnNvbGFzJywgbW9ub3NwYWNlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA2cHg7XHJcbiAgICByaWdodDogMTJweDtcclxuICAgIHBhZGRpbmc6IDAgMCAzcHg7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XHJcbiAgfVxyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHJpZ2h0OiA2cHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0IHtcclxuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5jaGFydC1sZWdlbmQge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBtYXJnaW46IDAgMjBweDtcclxuXHJcbiAgJiA+IC5mYSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHJcbiAgICAmLmF2ZXJhZ2Uge1xyXG4gICAgICBjb2xvcjogcmdiYSgyMDcsIDIxOCwgMjIwLCAwLjUpO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2NvcmUge1xyXG4gICAgICBjb2xvcjogcmdiYSgwLCAxODIsIDIzNSwgMC45KTtcclxuICAgIH1cclxuXHJcbiAgICAmLnRlYW0tYXZlcmFnZSB7XHJcbiAgICAgIGNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNzUpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY29tcGxldGVkIHtcclxuICAgICAgY29sb3I6IHJnYmEoMzIsIDE4MywgMTA1LCAwLjgpO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2NoZWR1bGVkIHtcclxuICAgICAgY29sb3I6IHJnYmEoMjIzLCAyMjMsIDIyMywgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2hhcnQtZGV0YWlscyB7XHJcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgzMDBweCk7XHJcbiAgbWFyZ2luLXRvcDogMTZweDtcclxuXHJcbiAgLmNoYXJ0LWRhdGUtaGVhZGVyICB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBpICB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgZGlzcGxheTogbm9uZTsgLy8gXCJzaGFyZVwiIGZlYXR1cmUgd2lsbCBjb21lIGxhdGVyLi4uXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2hhcnQtZGF0ZSB7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMnB4KTtcclxuICAgIGNvbG9yOiAjNzU3NzdBO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG5cclxuICAubWFpbi1zY29yZSB7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgfVxyXG5cclxuICAudmFsdWUtYmFkZ2Uge1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gICAgZm9udC1zaXplOiA0OHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IC02cHg7XHJcbiAgfVxyXG5cclxuICAudmFsdWUtbGFyZ2Uge1xyXG4gICAgZm9udC1zaXplOiA1NnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLnZhbHVlLWNoYW5nZS1pY29uIHtcclxuICAgICYuZmEtc29ydC1hc2Mge1xyXG4gICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5mYS1zb3J0LWRlc2Mge1xyXG4gICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi51bmNoYW5nZWQge1xyXG4gICAgICBjb2xvcjogJGdyZXk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pbmNyZWFzZSB7XHJcbiAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICB9XHJcblxyXG4gICAgJi5kZWNyZWFzZSB7XHJcbiAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnZhbHVlLWNoYW5nZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuXHJcbiAgICAmLnVuY2hhbmdlZCB7XHJcbiAgICAgIGNvbG9yOiAkZ3JleTtcclxuICAgIH1cclxuXHJcbiAgICAmLmluY3JlYXNlIHtcclxuICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgIH1cclxuXHJcbiAgICAmLmRlY3JlYXNlIHtcclxuICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5mby1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcblxyXG4gIC5jaGFydC1zdGF0cy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9XHJcbiAgXHJcbiAgLnRlc3QtcmVzdWx0cy1idXR0b24tY29udGFpbmVyIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDBweDtcclxuICB9XHJcblxyXG4gIC5jaGFydC1zdGF0cyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICAgIHBhZGRpbmc6IDE1cHggMDtcclxuXHJcbiAgICAubmFtZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAudmFsdWUge1xyXG4gICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNoYXJ0LXN0YXRzLWdyaWQge1xyXG4gICAgLmNoYXJ0LXN0YXRzIHtcclxuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgNTAlKTtcclxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKC1uKzIpIHtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBpZS1jaGFydC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xyXG4gIH1cclxuXHJcbiAgLnBpZS1jaGFydCB7XHJcbiAgICBjb2xvcjogI2FhYTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgJiA+IGRpdiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnBpZS1jaGFydC1jYW52YXMge1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3MHB4KTtcclxuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg3MHB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ycGUtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gICAgLnJlZC10ZXh0LCAuZ3JlZW4tdGV4dCB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2ICsgZGl2IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZ3JhbS13ZWVrIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxOHB4IDA7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG4gIH1cclxuXHJcbiAgLnRyb3BoaWVzIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG5cclxuICAgIC50cm9waHktaW1hZ2Uge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMjhweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMTNweDtcclxuICAgICAgJi50cm9waHktaW1hZ2UtLWJhZGdlICB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50cm9waHktaWNvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcclxuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyOHB4KTtcclxuICAgICAgbWFyZ2luLXRvcDogLTExcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICBpbWcgIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50cm9waHktcGxhY2Uge1xyXG4gICAgICAvLyBAaW5jbHVkZSBmbGV4KDAgMSBhdXRvKTtcclxuICAgICAgLy8gQGluY2x1ZGUgZmxleCgxKVxyXG4gICAgICBwYWRkaW5nOiAwIDZweDtcclxuICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC50cm9waHktbmFtZSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xyXG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDE1MHB4KTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEzcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubm8tZGV0YWlscyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgQGluY2x1ZGUgZmxleCgxKTtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzAwcHgpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG4gIH1cclxufVxyXG4iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG5AbWl4aW4gZGF5Y29sd2lkdGggIHtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIHdpZHRoOiAxMDAvNyoxJTtcclxufVxyXG5cclxuLm5vdGVzLW1lbnUge1xyXG4gIG1hcmdpbjogMTVweCAwO1xyXG5cclxuICAubm90ZXMtbWVudS1pdGVtIHtcclxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xyXG4gICAgY29sb3I6ICNhMGE0YTg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcclxuICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTBhNGE4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubm90ZXMtbWVudS1pdGVtICsgLm5vdGVzLW1lbnUtaXRlbSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNDVweDtcclxuICB9XHJcbn1cclxuXHJcbi5ub3Rlcy1jYWxlbmRhciB7XHJcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XHJcbiAgQGluY2x1ZGUgbG9jay13aWR0aCg0OTJweCk7XHJcblxyXG4gIC5jYWxlbmRhci1oZWFkZXIge1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XHJcbiAgICBtYXJnaW46IDFweCAxcHggMCAtMXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud2Vlay1kYXktbGFiZWxzIHtcclxuICAgIG1hcmdpbjogMCAxcHggMCAwO1xyXG4gICAgPiBkaXYge1xyXG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xyXG4gICAgICBAaW5jbHVkZSBkYXljb2x3aWR0aDtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBjb2xvcjogIzk5OTtcclxuICAgICAgQGluY2x1ZGUgZmxleC1yb3c7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2FsZW5kYXItZGF5cyB7XHJcbiAgICBtYXJnaW46IDAgMXB4IDVweCAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcclxuICAgIC5jYWxlbmRhci1kYXkge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcclxuICAgICAgLy8gQGluY2x1ZGUgbG9jay1oZWlnaHQoMzhweCk7XHJcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XHJcbiAgICAgIEBpbmNsdWRlIGRheWNvbHdpZHRoO1xyXG4gICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICBoZWlnaHQ6IDYycHg7XHJcbiAgICAgIG1hcmdpbjogLTFweCAwcHggMHB4IC0xcHg7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZGNkY2Q7XHJcblxyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGNvbG9yOiAjY2RjZGNkO1xyXG4gICAgICAmLmN1cnJlbnQtZGF5ICB7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyAmLmVtcHR5IHsgICAgICAgIFxyXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgICAmLmRheS1hY3Rpdml0aWVzIHtcclxuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkOGIwMDtcclxuICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgLy9ib3JkZXItY29sb3I6ICNjMmQ0NzQ7XHJcbiAgICAgICAgIC8vY29sb3I6ICNlZmVmZWY7XHJcbiAgICAgICAgIC8vY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAvLyY6aG92ZXIge1xyXG4gICAgICAgICAvLyAgYmFja2dyb3VuZC1jb2xvcjogI2MyZDQ3NDtcclxuICAgICAgICAgLy8gIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAvL31cclxuICAgICAgIH1cclxuXHJcbiAgICAgIC8vICYuY3VycmVudC1kYXkge1xyXG4gICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICNjMmQ0NzQ7XHJcbiAgICAgIC8vICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICM1NDdiNDI7XHJcbiAgICAgIC8vICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgICY6bm90KC5lbXB0eSk6bm90KC5kYXktYWN0aXZpdGllcykge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2FsZW5kYXItZGF5LW51bWJlciB7XHJcbiAgICAgICAgcGFkZGluZzogMXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJjLXNlY3Rpb24sIC50bC1zZWN0aW9uLCAuc29hcC1zZWN0aW9uIHtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uc29hcC1sYWJlbCB7XHJcbiAgJi5maWVsZHMtaGVhZGVyLmhpZ2gtbGV2ZWwtZmllbGQtbGFiZWwge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9XHJcbn1cclxuXHJcbi5iYy1ib2R5ZmF0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gID4gLmJhc2ljLWlucHV0LnNtYWxsIHtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gIH1cclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJSc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiA2MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjogI2JiYjtcclxuICB9XHJcbn1cclxuXHJcbi5iYy1hbGVydCB7XHJcbiAgd2lkdGg6IDc1JTtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4udGwtdG90YWwtbG9hZCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZGNkY2Q7XHJcbiAgICBjb2xvcjogJGJsdWU7XHJcbiAgfVxyXG59XHJcblxyXG4uYmMtZW50cnktaGVhZGVyLCAuYmMtZW50cnkge1xyXG4gID4gLmZpZWxkLWxhYmVsICsgLmZpZWxkLWxhYmVsIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLmJjLWlucHV0IHsgXHJcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxNjBweDtcclxuICB9XHJcblxyXG4gIC5iYy1maWxsZXIge1xyXG4gICAgbWluLXdpZHRoOiAxMHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnRsLWVudHJ5LWhlYWRlciwgLnRsLWVudHJ5IHtcclxuICA+IC5maWVsZC1sYWJlbCArIC5maWVsZC1sYWJlbCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICB9XHJcblxyXG4gIC50bC1zZWxlY3Qge1xyXG4gICAgbWluLXdpZHRoOiAyMTVweDtcclxuICAgIG1heC13aWR0aDogMjE1cHg7XHJcbiAgfVxyXG5cclxuICAudGwtaW5wdXQgeyBcclxuICAgIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gIH1cclxuXHJcbiAgLnRsLWZpbGxlciB7XHJcbiAgICBtaW4td2lkdGg6IDEwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uYmMtZW50cnkge1xyXG4gIC5iYy1pbnB1dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xyXG4gICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICdsYnMnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMTAwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGNvbG9yOiAjYmJiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJjLWNoYW5nZSB7XHJcbiAgICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XHJcbiAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NkY2RjZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5iYy1kZWxldGUge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnRsLWVudHJ5IHtcclxuICAudGwtc2VsZWN0LWlucHV0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTNweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAuc2VsZWN0LXRvZ2dsZSB7XHJcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XHJcbiAgICAgIG1heC13aWR0aDogMTg1cHg7XHJcblxyXG4gICAgICBpIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxNHB4O1xyXG4gICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9wdGlvbnMge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMzdweDtcclxuICAgICAgbGVmdDogMHB4O1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xyXG4gICAgICBtaW4td2lkdGg6IDIyMHB4O1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxODBweDtcclxuICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAudGwtaW5wdXQgeyBcclxuICAgID4gLmJhc2ljLWlucHV0LnNtYWxsIHtcclxuICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRsLWNhbGN1bGF0ZWQtbG9hZCB7XHJcbiAgICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XHJcbiAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NkY2RjZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50bC1kZWxldGUge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuLmJjLWZyZWUtZm9ybSwgLnRsLWZyZWUtZm9ybSB7XHJcbiAgd2lkdGg6IDc1JTtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5zb2FwLWRhdGUge1xyXG4gID4gKiB7XHJcbiAgICB3aWR0aDogMTcwcHg7XHJcbiAgfVxyXG5cclxuICAuZGF0ZS1pbnB1dCA+IC5pbnB1dC1pY29uIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xyXG4gICAgbWluLXdpZHRoOiA0MHB4O1xyXG4gICAgbWF4LXdpZHRoOiA0MHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5zb2FwLXRleHQtY29udGFpbmVyIHtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbn1cclxuXHJcbi5zb2FwLXRyZWF0bWVudHMge1xyXG4gIC5jaGVja2JveC1pbnB1dCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgfVxyXG5cclxuICAuc29hcC10cmVhdG1lbnQtb3B0aW9ucyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICAuY2hlY2tib3gtaW5wdXQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc29hcC10cmVhdG1lbnQtdGV4dCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICAuYmFzaWMtaW5wdXQge1xyXG4gICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zb2FwLW9iamVjdGl2ZSB7XHJcbiAgJi5maWVsZCBkaXYgdGV4dGFyZWEge1xyXG4gICAgaGVpZ2h0OiA4NXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB9XHJcbn1cclxuXHJcbi5mYS1ub3RlcyB7XHJcbiAgICBtYXJnaW46IC0xMHB4IDBweCAwcHggMTJweDtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIGZvbnQtc2l6ZTogN3B4O1xyXG59XHJcbiIsIiRyZWQ6ICNjNDJhM2I7XHJcbiRibHVlOiAjOTc2OEVCO1xyXG4kZGFya19ibHVlOiAjMTEyNjRiO1xyXG4kZ3JleTogIzgwODA4MDtcclxuJGdyZWVuOiAjMjBiNzY5O1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiR5ZWxsb3c6ICNkOGI2MmY7XHJcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xyXG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xyXG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XHJcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XHJcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XHJcblxyXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XHJcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XHJcbiIsIlxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xyXG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XHJcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XHJcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XHJcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdygpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xyXG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcclxuICBoZWlnaHQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWU7XHJcbiAgd2lkdGg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1pbi13aWR0aDogMDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgbWluLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XHJcbn1cclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcclxuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcclxuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbi8vICRzbU1pbjogNzY4cHg7XHJcbiRzbU1heDogOTAwcHg7XHJcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGlmICRtZWRpYSA9PSBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4geHBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xyXG59XHJcbkBtaXhpbiB5cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWQ7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XHJcbn1cclxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tbGVmdDogJGdhcDtcclxuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XHJcbn1cclxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tdG9wOiAkZ2FwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XHJcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xyXG5cclxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xyXG4gID4gKiAge1xyXG4gICAgJjpmaXJzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcblxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuXHJcbi50aW1lLXNwYW4tcXVlc3Rpb24ge1xyXG5cdEBpbmNsdWRlIGZsZXgtY29sdW1uO1xyXG59XHJcblxyXG4udGltZS1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93LXN0YXJ0O1xyXG5cdG1hcmdpbi10b3A6IDI0cHg7XHJcbn1cclxuXHJcbi50aW1lLWxhYmVsIHtcclxuICB3aWR0aDogMTAzcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAuMjFweDtcclxuICBsaW5lLWhlaWdodDogMTlweDtcclxuICBjb2xvcjogIzZDNkQ2QztcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4uYnV0dG9uLXNlbGVjdCAge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0KyAuYnV0dG9uLXNlbGVjdCAge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDZweDtcclxuXHR9XHJcblx0Ji5zZWNvbmRhcnkgIHtcclxuXHRcdC5zZWxlY3QtdHJpZ2dlciAge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjRDlEQkRDO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmLnNtYWxsICB7XHJcblx0XHQuc2VsZWN0LXRyaWdnZXIgIHtcclxuXHRcdFx0d2lkdGg6IDY5cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuaW5kZW50ZWQgIHtcclxuXHRcdC5zZWxlY3QtdHJpZ2dlciAge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zZWxlY3QtdHJpZ2dlciAge1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRiYWNrZ3JvdW5kOiAjNDFCQUVDO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdFx0d2lkdGg6IDY5cHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQuY3VycmVudC1zZWxlY3Rpb24ge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LXJvdztcclxuICAgIFx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XHJcblx0XHRcdHBhZGRpbmc6IDEwcHggOHB4IDEwcHggMTBweDtcclxuXHRcdFx0LmN1cnJlbnQgIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMTRweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0fVxyXG5cdFx0XHQuaWNvbi1jYXJldC1kb3duICB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiA1cHg7XHJcblx0XHRcdFx0Ym90dG9tOiAtNHB4O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnRpbWUtb3B0aW9ucy1oaWRkZW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdFx0LnRpbWUtb3B0aW9ucyB7XHJcblx0XHRcdGNvbG9yOiAjNDFCQUVDO1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICM0MUJBRUM7IFxyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMHB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcHggMHB4IDNweCAzcHg7XHJcblx0XHRcdHdpZHRoOiA2OXB4O1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHotaW5kZXg6IDEwO1xyXG5cdFx0XHQmLnNlY29uZGFyeSB7XHJcblx0XHRcdFx0Y29sb3I6ICNEOURCREM7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjRDlEQkRDO1xyXG5cdFx0XHRcdC50aW1lLW9wdGlvbiB7XHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNEOURCREM7XHJcblx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnRpbWUtb3B0aW9uIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAzcHggMTRweCAzcHggN3B4O1xyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjNDFCQUVDO1xyXG5cdFx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHRcdFx0XHRcclxuXHR9XHJcbn0iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG4udG9vbHRpcEhpZGRlbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRvb2x0aXAge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRtaW4td2lkdGg6IDMwMHB4O1xyXG5cdG1heC13aWR0aDogMzYwcHg7XHJcblx0d2lkdGg6IG1heC1jb250ZW50O1xyXG4gIHdpZHRoOiAtd2Via2l0LW1heC1jb250ZW50O1xyXG5cdG1pbi1oZWlnaHQ6IDcycHg7XHJcblx0dG9wOiAtMTMwJTtcclxuXHRsZWZ0OiA2NXB4O1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRwYWRkaW5nOiAyMHB4IDI1cHg7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGZvbnQtZmFtaWx5OiBOdWRpc3RhLXdlYjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDYsNDYsNDYpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRsaW5lLWhlaWdodDogMjRweDtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdGxldHRlci1zcGFjaW5nOiAuMzVweDtcclxuXHJcblx0LnR0Q29udGVudCB7XHJcblx0XHRjb2xvcjogIzkyOTM5MjtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHR9O1xyXG5cclxuXHQudHRUaXRsZSB7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHR9O1xyXG59XHJcblxyXG4udG9vbHRpcC1yaWdodCB7IC8vIHJpZ2h0IGlzIHRoZSBkZWZhdWx0XHJcblx0QGV4dGVuZCAudG9vbHRpcDtcclxufVxyXG5cclxuLnRvb2x0aXAtYm90dG9tIHtcclxuXHRAZXh0ZW5kIC50b29sdGlwO1xyXG5cdHRvcDogNTVweDtcclxuXHRsZWZ0OiAtMTI1cHg7XHJcbn1cclxuXHJcbi50b29sdGlwLWF1dG9zY2hlZHVsZSB7XHJcblx0QGV4dGVuZCAudG9vbHRpcDtcclxuXHRsZWZ0OiAtODVweDtcclxuICB0b3A6IC0yOTBweDtcclxufVxyXG5cclxuLnRvb2x0aXAtbGVmdCB7XHJcblx0QGV4dGVuZCAudG9vbHRpcDtcclxuXHRsZWZ0OiBpbmhlcml0O1xyXG5cdHJpZ2h0OiA0NXB4O1xyXG59XHJcblxyXG4udG9vbHRpcDphZnRlciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IC0yMHB4O1xyXG5cdHRvcDogMTVweDtcclxuXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJnYig0Niw0Niw0Nik7XHJcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRib3JkZXItd2lkdGg6IDIwcHggMjBweCAyMHB4IDBweDtcclxuXHRoZWlnaHQ6IDBweDtcclxuXHR3aWR0aDogMHB4O1xyXG5cdGNvbnRlbnQ6IFwiIFwiO1xyXG59XHJcblxyXG4udG9vbHRpcC1yaWdodDphZnRlciB7XHJcblx0QGV4dGVuZCAudG9vbHRpcDphZnRlcjtcclxufVxyXG5cclxuLnRvb2x0aXAtYm90dG9tOmFmdGVyIHtcclxuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xyXG5cdGxlZnQ6IDEzMHB4O1xyXG5cdHRvcDogLTIwcHg7XHJcblx0Ym9yZGVyLWNvbG9yOiByZ2IoNDYsNDYsNDYpIHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci13aWR0aDogMHB4IDIwcHggMjBweCAyMHB4O1xyXG59XHJcblxyXG4udG9vbHRpcC1hdXRvc2NoZWR1bGU6YWZ0ZXIge1xyXG5cdEBleHRlbmQgLnRvb2x0aXA6YWZ0ZXI7XHJcblx0bGVmdDogMTYwcHg7XHJcbiAgdG9wOiAyNTZweDtcclxuXHRib3JkZXItY29sb3I6IHJnYig0Niw0Niw0NikgdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyLXdpZHRoOiAyMHB4IDIwcHggMHB4IDIwcHg7XHJcbn1cclxuXHJcbi50b29sdGlwLWxlZnQ6YWZ0ZXIge1xyXG5cdEBleHRlbmQgLnRvb2x0aXA6YWZ0ZXI7XHJcblx0bGVmdDogaW5oZXJpdDtcclxuXHRyaWdodDogLTIwcHg7XHJcblx0Ym9yZGVyLXdpZHRoOiAyMHB4IDBweCAyMHB4IDIwcHg7XHJcbn1cclxuXHJcbi50b29sdGlwQ2xvc2Uge1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRwYWRkaW5nOiAwcHggMTBweCAzcHggMHB4O1xyXG5cdGNvbG9yOiBsaWdodGJsdWU7XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdGZvbnQtc2l6ZTogMjRweDtcclxufVxyXG5cclxuQG1peGluIGNoYXJ0LXRvb2x0aXAtY2FyZXQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMHB4O1xyXG5cdGhlaWdodDogMHB4O1xyXG5cdG1hcmdpbjogYXV0bztcclxuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG59XHJcblxyXG4uY2hhcnQtdG9vbHRpcCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdG1pbi13aWR0aDogMjU1cHg7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxuXHRtaW4taGVpZ2h0OiAxMDBweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XHJcblx0ei1pbmRleDogMTtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG5cdC5oZWFkZXIge1xyXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRjb2xvcjogI2VmZWZlZjtcclxuXHR9XHJcblxyXG5cdC5jb250ZW50IHtcclxuXHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdG1hcmdpbi10b3A6IDZweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDZweDtcclxuXHJcblx0XHQ+IGRpdiB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuXHRcdFx0bWluLWhlaWdodDogMjBweDtcclxuXHRcdFx0bWF4LWhlaWdodDogMjBweDtcclxuXHJcblx0XHRcdD4gaSB7IG1pbi13aWR0aDogMTZweDsgfVxyXG5cdFx0XHQ+IGRpdiB7IG1hcmdpbi1sZWZ0OiA2cHg7IH1cclxuXHJcblx0XHRcdCYuY29tcGxldGVkIHsgY29sb3I6ICMxNjg4NGU7IH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaGlkZGVuIHtcclxuXHRcdHZpc2libGl0eTogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0Ji5ib3R0b206YWZ0ZXIge1xyXG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJvdHRvbTogLThweDtcclxuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci13aWR0aDogMTBweCAxMHB4IDAgMTBweDtcclxuXHR9XHJcblxyXG5cdCYuYm90dG9tLWxlZnQ6YWZ0ZXIge1xyXG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcclxuXHRcdGxlZnQ6IDEwcHg7XHJcblx0XHRib3R0b206IC04cHg7XHJcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XHJcblx0fVxyXG5cclxuXHQmLmJvdHRvbS1yaWdodDphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xyXG5cdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHRib3R0b206IC04cHg7XHJcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XHJcblx0fVxyXG5cclxuXHQmLnRvcDphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0dG9wOiAtOHB4O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjMmUyZTJlIHRyYW5zcGFyZW50O1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xyXG5cdH1cclxuXHJcblx0Ji50b3AtbGVmdDphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xyXG5cdFx0bGVmdDogMTBweDtcclxuXHRcdHRvcDogLThweDtcclxuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHggMTBweDtcclxuXHR9XHJcblxyXG5cdCYudG9wLXJpZ2h0OmFmdGVyIHtcclxuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XHJcblx0XHRyaWdodDogMTBweDtcclxuXHRcdHRvcDogLThweDtcclxuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHggMTBweDtcclxuXHR9XHJcblxyXG5cdCYubGVmdDphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0bGVmdDogLThweDtcclxuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJlMmUyZTtcclxuXHRcdGJvcmRlci13aWR0aDogMTBweCAxMHB4IDEwcHggMDtcclxuXHR9XHJcblxyXG5cdCYucmlnaHQ6YWZ0ZXIge1xyXG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcclxuXHRcdHRvcDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdHJpZ2h0OiAtOHB4O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMmUyZTJlO1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmZhIHsgLy8gdGhpcyBmb250IGF3ZXNvbWUgc3R5bGUgKHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCkpIGlzIGJyZWFraW5nIHotaW5kZXggYmVoYXZpb3IgYW5kIGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGFueSB2aXN1YWwgZWZmZWN0LiAgU28gSSdtIHR1cm5pbmcgaXQgb2ZmLlxyXG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG59IiwiJHJlZDogI2M0MmEzYjtcclxuJGJsdWU6ICM5NzY4RUI7XHJcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XHJcbiRncmV5OiAjODA4MDgwO1xyXG4kZ3JlZW46ICMyMGI3Njk7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJHllbGxvdzogI2Q4YjYyZjtcclxuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XHJcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XHJcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcclxuJHNjb3JlLXJlZDogI0QxNDA0QjtcclxuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcclxuXHJcbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcclxuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcclxuIiwiXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XHJcbn1cclxuXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XHJcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcclxuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcclxuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcclxuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcclxuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XHJcbiAgbWluLWhlaWdodDogJHZhbHVlO1xyXG4gIGhlaWdodDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZTtcclxuICBtaW4td2lkdGg6ICR2YWx1ZTtcclxuICB3aWR0aDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiB1bmxvY2std2lkdGggIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XHJcbiAgbWF4LWhlaWdodDogbm9uZTtcclxuICBtaW4taGVpZ2h0OiAwO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcclxuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcclxufVxyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiByZXNwb25kXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xyXG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xyXG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuLy8gJHNtTWluOiA3NjhweDtcclxuJHNtTWF4OiA5MDBweDtcclxuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XHJcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAaWYgJG1lZGlhID09IGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiB4cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XHJcbn1cclxuQG1peGluIHlwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLXRvcDogJHBhZDtcclxuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcclxufVxyXG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xyXG4gIG1hcmdpbi1yaWdodDogJGdhcDtcclxufVxyXG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi10b3A6ICRnYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxuICBtYXJnaW4tbGVmdDogJHcvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcclxuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59XHJcbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XHJcblxyXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XHJcbiAgPiAqICB7XHJcbiAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcclxufVxyXG5cclxuXHJcbiIsIi51cGxvYWQtY29udGFpbmVyIHtcclxuICAudXBsb2FkLXNlY3Rpb24ge1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjAwcHgpO1xyXG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg0MDBweCk7XHJcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI2RkZDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAjYmJiO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgID4gLnVwbG9hZC1tZXNzYWdlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICA+IC51cGxvYWQtcHJldmlldyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgPiBpbnB1dFt0eXBlPSdmaWxlJ10ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9ICBcclxufVxyXG5cclxuZGl2LmltYWdlLWNvbnRyb2xcclxue1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjgwcHgpO1xyXG4gIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgLmltYWdlLWxhYmVsIHtcclxuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gIH1cclxuICAuc2lsZW50LWZpbGUtaW5wdXQge1xyXG4gICAgd2lkdGg6IDI0MHB4O1xyXG4gIH0gICAgICAgICAgICAgICAgXHJcbn1cclxuXHJcbi5pbWFnZS1idXR0b25zIHtcclxuICBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjVweCk7XHJcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDg1cHgpO1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmFjdGl2ZS11cGxvYWQge1xyXG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMzUwcHgpO1xyXG4gIFxyXG4gIC5maWxlLWluZm8ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIC5maWxlLWluZm8tc2l6ZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE4cHgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcclxuXHJcbiAgICA+IC5wcm9ncmVzcy1iYXIge1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxOHB4KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBjb2xvcjogI2VmZWZlZjtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDZweDtcclxuXHJcbiAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuZXJyb3Ige1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZjBhMmY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZXNzYWdlIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgfVxyXG59IiwiLmV4ZXJjaXNlX2NvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgZmxleCgxIDAgNDAwcHgpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmV4ZXJjaXNlX25hdiB7XHJcbiAgQGluY2x1ZGUgZmxleCgxIDAgNDAwcHgpO1xyXG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNDAwcHgpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuXHJcbiAgLnNlYXJjaCB7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JiYjtcclxuXHJcbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuICAgICAgaGVpZ2h0OiA0OXB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uW3R5cGU9J3Jlc2V0J10ge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoMCk7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xyXG4gICAgICBtYXJnaW46IDBweDtcclxuICAgICAgbWluLWhlaWdodDogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICBpLmZhIHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBjb2xvcjogI2JiYjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hZGQge1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG5cclxuICAgIGkuZmEge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KC4xKTtcclxuICAgIH1cclxuXHJcbiAgICBzdHJvbmcge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KC45NzUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxpc3Qge1xyXG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xyXG4gICAgbWluLWhlaWdodDogMTBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgJiA+IGRpdjpub3QoLmZpbGxlcikge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XHJcblxyXG4gICAgICAuZGV0YWlsIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblxyXG4gICAgICAgIC52aWV3LWRldGFpbCB7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xyXG4gICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgNnB4O1xyXG5cclxuICAgICAgICAgICAgJi5pbmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICNjY2M7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib2R5LXNpZGVzIHtcclxuICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG5cclxuICAgICAgICAgICYgPiBkaXYgbGFiZWwgc3BhbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYgPiBkaXYgKyBkaXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaGlkZGVuIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiA+IGRpdi5maWxsZXIge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XHJcbiAgICAubGlzdCB7XHJcbiAgICAgIGhlaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5leGVyY2lzZV9zZWxlY3Qge1xyXG4gIEBpbmNsdWRlIGZsZXgoMSAwIDMwMHB4KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gIC5saXN0IHtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xyXG4gICAgbWluLWhlaWdodDogMTBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgJiA+IGRpdjpub3QoLmZpbGxlcikge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcblxyXG4gICAgICAuZXhlcmNpc2UtaXRlbSB7XHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hbWUge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2lyY2xlZC1pY29uIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5kZXRhaWwge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuXHJcbiAgICAgICAgLnZpZXctZGV0YWlsIHtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XHJcbiAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xyXG5cclxuICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA2cHg7XHJcblxyXG4gICAgICAgICAgICAmLmluYWN0aXZlIHtcclxuICAgICAgICAgICAgICBjb2xvcjogI2NjYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJvZHktc2lkZXMge1xyXG4gICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcblxyXG4gICAgICAgICAgJiA+IGRpdiBsYWJlbCBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJiA+IGRpdiArIGRpdiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5oaWRkZW4ge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmID4gZGl2LmZpbGxlciB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIDEwMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcclxuICAgIC5saXN0IHtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZpbHRlcnMge1xyXG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDEwMHB4KTtcclxuXHJcbiAgPiBmdXNpb24tZHJvcC1kb3duLFxyXG4gID4gZnVzaW9uLW9yZGVyZWQtZHJvcC1kb3duLFxyXG4gID4gZGl2IHtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDUwJSk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgLyoqKioqIE5PVEUgKioqKioqXHJcbiAgICBzaW5jZSB0aGUgaGVpZ2h0IGlzIGJlaW5nIHJlY2FsY3VsYXRlZFxyXG4gICAgb25seSBzZXQgdGhlIG1pbi1oZWlnaHRcclxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xyXG4gICAgKioqKiogRUJEIE5PVEUgKioqKioqL1xyXG4gICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuXHJcbiAgICAuc2VsZWN0LXRvZ2dsZSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgoLjkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpLmZhIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4KC4xKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcHRpb25zIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwcHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5O1xyXG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcclxuICAgICAgbWF4LWhlaWdodDogMjE1cHg7XHJcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICB6LWluZGV4OiAzO1xyXG5cclxuICAgICAgJiA+IGRpdiB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgPiBmdXNpb24tZHJvcC1kb3duID4gZGl2LFxyXG4gID4gZnVzaW9uLW9yZGVyZWQtZHJvcC1kb3duID4gZGl2IHtcclxuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0OHB4KTtcclxuICB9XHJcblxyXG4gID4gZnVzaW9uLWRyb3AtZG93bi5yZXF1aXJlZCxcclxuICA+IGZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93bi5yZXF1aXJlZCB7XHJcbiAgICAuc2VsZWN0LXRvZ2dsZSA+IHNwYW4ge1xyXG4gICAgICBjb2xvcjogI2ZmMDAwMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5leGVyY2lzZS1pdGVtIHtcclxuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG5cclxuICAuaWNvbiB7XHJcbiAgICBAaW5jbHVkZSBmbGV4KC4xKTtcclxuXHJcbiAgICAmLnRvZ2dsZSB7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwcHgpO1xyXG4gICAgICBmb250LXNpemU6IDZweDtcclxuXHJcbiAgICAgICYuZG93biB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnJpZ2h0IHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmFtZSB7XHJcbiAgICBAaW5jbHVkZSBmbGV4KC45KTtcclxuXHJcbiAgICAubm8td3JhcC1lbGxpcHNlIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZS1pdGVtIHtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmRyYWdnaW5nLWVsZW1lbnQge1xyXG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubm8tbWF0Y2gge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG59XHJcblxyXG4vKiBtb2RhbCBqdW5rICovXHJcbi5tb2RhbC1jb250YWluZXIge1xyXG4gICYubW9kYWwtZXhlcmNpc2UtZGV0YWlsIHtcclxuICAgIGhlYWRlciB7XHJcbiAgICAgIC8qIEBpbmNsdWRlIGxvY2staGVpZ2h0KDc1cHgpOyAqL1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmb290ZXIge1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3NXB4KTtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHNlY3Rpb24ge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xyXG5cclxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnZpZGVvLXZpZXcge1xyXG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiA2MDBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5pbWFnZS12aWV3IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcblxyXG4gICAgICAgID4gaW1nIHtcclxuICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDM2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5taXNzaW5nLW1lZGlhIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XHJcbiAgICAgIGNvbG9yOiAjZGVkZWRlO1xyXG4gICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm1vZGFsLWV4ZXJjaXNlLWZvcm0ge1xyXG4gICAgaGVhZGVyIHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9vdGVyIHtcclxuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICYuc21hbGxlciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybSBsYWJlbCBidXR0b25bdHlwZT0ncmVzZXQnXSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICBjb2xvcjogI2ZlZmVmZTtcclxuICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgaGVpZ2h0OiAzM3B4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcclxuICAgICAgbWFyZ2luOiAwcHggMTBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcclxuICAgICAgbWluLWhlaWdodDogMzBweDtcclxuICAgICAgbWluLXdpZHRoOiBhdXRvO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBzZWN0aW9uIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcclxuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgbWluLXdpZHRoOiA2MDBweDtcclxuXHJcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZpbHRlcnMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAmLm1vZGFsLWVycm9yIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIzMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGV4dGFyZWEge1xyXG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCA0MHB4IDEwcHggMDtcclxuICAgICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcclxuXHJcbiAgICAgICAgJi5sYXJnZSB7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sYXJnZXIge1xyXG4gICAgICAgICAgbWluLWhlaWdodDogNDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2JiYjtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xyXG5cclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgNTAlKTtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAxcHg7XHJcbiAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYmJiO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgIG1hcmdpbjogMXB4O1xyXG4gICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAgIHRleHQtaW5kZW50OiAxMHB4O1xyXG5cclxuICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xyXG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6Oi1tcy1leHBhbmQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYgKyBpLmZhIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5zaW5nbGUtbGluZS1mb3JtLWZpZWxkcyBsYWJlbCAuYm9keS1zaWRlcyB7XHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGRpdiArIGRpdiB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuc2luZ2xlLWxpbmUtZm9ybS1maWVsZHMgLmV2ZW4tY29scyB7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcblxyXG4gICAgICAgICAgPiBzZWxlY3Qge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgY29sb3I6ICM3NTc3N2E7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsYWJlbCArIGxhYmVsIHtcclxuICAgICAgICAgID4gc2VsZWN0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC53ZWVrLXNlbGVjdGlvbiB7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgICA+IGRpdiB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgY29sb3I6ICNhMGE0YTg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgY29sb3I6ICM3NTc3N2E7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYmx1ZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogZHJhZy1uLWRyb3AganVuayAqL1xyXG4vKiBzaG91bGQgYmUgbW92ZWQgdG8gb3duIGZpbGUgKGNsZWFybHkpICovXHJcbi5kcmFnLWhpZGRlbiB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59O1xyXG5cclxuLmRyYWctbW92ZS1zY3JvbGwtYW5jaG9yIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1NSwgMTU1LCAxNTUsIC4yNzUpO1xyXG4gIGhlaWdodDogMjBweDtcclxuICB6LWluZGV4OiAxO1xyXG5cclxuICAmLnRvcCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgfVxyXG5cclxuICAmLmJvdHRvbSB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgfVxyXG59O1xyXG5cclxuLmRyb3AtaGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZHJvcC10YXJnZXQge1xyXG5cclxuICAmOm5vdCguZHJvcC1lbXB0eSkge1xyXG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNjZGQzZDc7XHJcbiAgfVxyXG5cclxuICAmLmRyb3AtdGFyZ2V0LW92ZXIge1xyXG4gICAgJjpub3QoLmFkZC1zZWN0aW9uKSB7XHJcbiAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjNGNiYjE3ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hZGQtc2VjdGlvbiA+IGRpdiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogIzRjYmIxNyAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5hZGQtZXhlcmNpc2Uge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmRyYWdnaW5nLWVsZW1lbnQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjODg4O1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMC45MCwgMC45MCkgIWltcG9ydGFudDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbiIsIi5jYXRhbG9nX2NvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgZmxleCgxIDAgMzUwcHgpO1xyXG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgPiBkaXYge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICYub3BlbmVkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuY2xvc2VkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgNTJweCk7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhdGFsb2ctYmFubmVyIHtcclxuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjBkNDE7XHJcbiAgbWFyZ2luOiAxcHggMDtcclxuXHJcbiAgaS5jaXJjbGVkLWljb24ge1xyXG4gICAgbWFyZ2luOiAwIDE1cHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZTtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICB9XHJcblxyXG4gIHNwYW4ge1xyXG4gICAgY29sb3I6ICNlZmVmZWY7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59XHJcblxyXG4uY2F0YWxvZy1zZWFyY2gge1xyXG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlYmViZWI7XHJcbiAgXHJcbiAgZm9ybSB7XHJcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuXHJcbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIGhlaWdodDogNDlweDtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzlweDtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uW3R5cGU9J3Jlc2V0J10ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgY29sb3I6ICNmZWZlZmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGhlaWdodDogMzNweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XHJcbiAgICAgIG1hcmdpbjogMHB4IDEwcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2F0YWxvZ19uYXZfd3JhcHBlciB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uY2F0YWxvZ19uYXYge1xyXG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMzUwcHgpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAuY2F0ZWdvcnktaWNvbiB7XHJcbiAgICBtYXJnaW46IDAgMThweDtcclxuICAgIG1pbi13aWR0aDogMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICB9XHJcblxyXG4gIC5hZGQtaWNvbiB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBtYXJnaW46IDAgMTVweDtcclxuICAgIG1pbi13aWR0aDogMTJweDtcclxuICB9XHJcbn1cclxuXHJcbnVsLmNhdGFsb2dfbmF2IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG5cclxuICBsaSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICBtaW4taGVpZ2h0OiA0NXB4O1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhdGVnb3J5LXN0YXRlIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcclxuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICAgIG1pbi13aWR0aDogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAuY2F0ZWdvcnktb3BlbiB7XHJcbiAgICAgIC5jYXRlZ29yeS1zdGF0ZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNjIwXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2F0ZWdvcnktY2xvc2Uge1xyXG4gICAgICAuY2F0ZWdvcnktc3RhdGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTYyZlwiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsaS5leGVyY2lzZS10ZWNobmlxdWUge1xyXG4gICAgPiBzcGFuIHtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDIwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICA+IHVsIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDMwcHg7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxpID4gdWwge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gICAgICA+IHNwYW4ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDMwcHg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICB0ZXh0LWluZGVudDogNTBweDtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuXHJcbi5sb2dpbi1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xyXG5cclxuICAubG9naW4tbW9kYWwge1xyXG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDQ3NnB4KTtcclxuICAgIFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRkNGQztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBwYWRkaW5nOiA0N3B4IDAgMjJweDtcclxuXHJcbiAgICA+IGltZyB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpbi1iYW5uZXIge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG5cclxuICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICBtYXJnaW46IDI4cHggMTVweCAzMHB4O1xyXG4gICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luLWZvcm0ge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcclxuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTsgICAgICBcclxuXHJcbiAgICAgIC8vID4gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAvLyAgIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICAvLyA+IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgLy8gICBmb250LXdlaWdodDogMjAwO1xyXG4gICAgICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgPiBpbnB1dDo6LW1zLWNsZWFyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGlucHV0IHtcclxuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MXB4KTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciAge1xyXG4gICAgICAgICAgY29sb3I6ICM3NTc3N0E7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICBcclxuICAgICAgICAgIG9wYWNpdHk6IDE7ICBcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICArIGlucHV0ICB7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmxvZ2luLWJ1dHRvbnMge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtZXZlbmx5KTtcclxuICAgICAgICBtYXJnaW46IDBweCAzMHB4O1xyXG4gICAgICAgID4gYnV0dG9uIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xyXG4gICAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTdweCk7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICBcclxuICAgIH1cclxuXHJcbiAgICAucmVzZXQtZm9ybSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyAgICAgIFxyXG5cclxuICAgICAgPiBpbnB1dDo6LW1zLWNsZWFyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGlucHV0IHtcclxuICAgICAgICBtYXJnaW46IDI4cHggMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUxcHgpO1xyXG5cclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIgIHtcclxuICAgICAgICAgIGNvbG9yOiAjNzU3NzdBO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgXHJcbiAgICAgICAgICBvcGFjaXR5OiAxOyAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgKyBpbnB1dCAge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zZWNvbmRQYXNzd29yZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmJ1dHRvbi1jb2xsZWN0aW9uIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xyXG4gICAgICAgICAgbWFyZ2luOiAyOHB4IDAgMDtcclxuICAgICAgICAgID4gYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTdweCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lc3NhZ2Uge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xyXG4gICAgICBtYXJnaW46IDExcHggMTVweDsgLy8gd2hlbiBhIG1lc3NhZ2UgaXMgaGVyZSBpcyBzaG91bGQgYmUgdmVyaXRjYWxseSBzcGFjZWQgYSBiaXRcclxuICAgIH1cclxuXHJcbiAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3MHB4KTtcclxuICAgICAgbWFyZ2luOiAxMXB4IDE1cHg7IC8vIHdoZW4gYSBtZXNzYWdlIGlzIGhlcmUgaXMgc2hvdWxkIGJlIHZlcml0Y2FsbHkgc3BhY2VkIGEgYml0XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luLWxpbmsge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG5cclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG5cclxuICAgICAgPiBhIHtcclxuICAgICAgICBjb2xvcjogI2FhYTtcclxuICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ubG9naW5SZW1lbWJlck1lICB7XHJcbiAgbWFyZ2luOiAyOHB4IDAgMDtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICAuY2hlY2tib3gtaW5wdXQgIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgIGkgIHtcclxuICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgfVxyXG4gICAgc3BhbiAge1xyXG4gICAgICBjb2xvcjogIzc1Nzc3QTtcclxuICAgIH0gXHJcbiAgfSAgXHJcbn1cclxuLmxvZ2luRm9yZ290UGFzc0xpbmsgIHtcclxuICBtYXJnaW46IDMxcHggMCAwO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpOyBcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6ICNBQUIwQjc7XHJcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgYSAge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgfVxyXG59IiwiJHJlZDogI2M0MmEzYjtcclxuJGJsdWU6ICM5NzY4RUI7XHJcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XHJcbiRncmV5OiAjODA4MDgwO1xyXG4kZ3JlZW46ICMyMGI3Njk7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJHllbGxvdzogI2Q4YjYyZjtcclxuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XHJcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XHJcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcclxuJHNjb3JlLXJlZDogI0QxNDA0QjtcclxuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcclxuXHJcbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcclxuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcclxuIiwiXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XHJcbn1cclxuXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XHJcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcclxuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcclxuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcclxuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcclxuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XHJcbiAgbWluLWhlaWdodDogJHZhbHVlO1xyXG4gIGhlaWdodDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZTtcclxuICBtaW4td2lkdGg6ICR2YWx1ZTtcclxuICB3aWR0aDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiB1bmxvY2std2lkdGggIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XHJcbiAgbWF4LWhlaWdodDogbm9uZTtcclxuICBtaW4taGVpZ2h0OiAwO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcclxuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcclxufVxyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiByZXNwb25kXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xyXG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xyXG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuLy8gJHNtTWluOiA3NjhweDtcclxuJHNtTWF4OiA5MDBweDtcclxuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XHJcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAaWYgJG1lZGlhID09IGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiB4cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XHJcbn1cclxuQG1peGluIHlwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLXRvcDogJHBhZDtcclxuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcclxufVxyXG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xyXG4gIG1hcmdpbi1yaWdodDogJGdhcDtcclxufVxyXG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi10b3A6ICRnYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxuICBtYXJnaW4tbGVmdDogJHcvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcclxuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59XHJcbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XHJcblxyXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XHJcbiAgPiAqICB7XHJcbiAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcclxufVxyXG5cclxuXHJcbiIsIlxyXG4ubW9kYWwtY29udGFpbmVyIHNlY3Rpb24ucHJvZmlsZS1mb3JtIHtcclxuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcclxuICBtYXJnaW46IDEwcHg7XHJcbiAgbWluLXdpZHRoOiA0MDBweDtcclxuICBcclxuICBsYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoc3RyZXRjaCk7XHJcbiAgICBtYXJnaW46IDVweCA5cHg7XHJcbiAgICBtYXgtd2lkdGg6IDMyNXB4O1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLm1vZGFsLWNvbnRhaW5lciB7XHJcblxyXG4gICYubW9kYWwtYXRobGV0ZS1mb3JtIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgd2lkdGg6IDc0MHB4O1xyXG5cclxuICAgIGhlYWRlciB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZvb3RlciB7XHJcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDc1cHgpO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAmLnNtYWxsZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlY3Rpb24ge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xyXG5cclxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRpdi5zZWN0aW9uLWxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBjb2xvcjogIzc1Nzc3QTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRpdi5vcHRpb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIGRpdi5vcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xyXG4gICAgICAgIGRpdi5vcHRpb24tbGFiZWwge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMTVweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpdi5jaG9pY2VzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICAgICAgLnJhZGlvLWlucHV0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnJvdy1jb250YWluZXJcclxuICAgICAge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmIC5zcGFjZS1iZXR3ZWVuIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAmLm1vZGFsLWVycm9yIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIzMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmRvYi1maWVsZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ViZWJlYjtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHggMTBweCA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIDAlKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjVweDtcclxuXHJcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ViZWJlYjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZmVldC1maWVsZCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KC42IDEgMCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5pbmNoZXMtZmllbGQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleCguMzk1IDEgMCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoMTIwcHgpO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgY29sb3I6ICM3NTc3N0E7XHJcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwOyAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbnZhbGlkLWlucHV0IHtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC52YWxpZGF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgdG9wOiA1NXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig0Niw0Niw0Nik7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDQ2LDQ2LDQ2KTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIGxlZnQ6IDQ1JTtcclxuICAgICAgICAgICAgICB0b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiKDQ2LDQ2LDQ2KSB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMHB4IDEwcHggMTBweCAxMHB4O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAwcHg7XHJcbiAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcbiAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgICAgbWFyZ2luOiAxcHg7XHJcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcclxuICAgICAgICAgICYubWVhc3VyZW1lbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1NXB4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kYXRlLWlucHV0IHtcclxuICAgICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbXBlcmlhbC1oZWlnaHQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xyXG4gICAgICAgICAgbWluLXdpZHRoOiA0NSU7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAvLyAmLmZlZXQge1xyXG4gICAgICAgICAgLy8gICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICYuaW5jaGVzIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA4MCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgbWFyZ2luOiAxcHg7XHJcbiAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDEwcHg7XHJcblxyXG4gICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjotbW96LWZvY3VzcmluZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjo6LW1zLWV4cGFuZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9ICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICYgKyBpLmljb24tY2FyZXQtZG93biB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgY29sb3I6ICNEOURCREM7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgJi5mZWV0IHtcclxuICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgcmlnaHQ6IDM1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pbmNoZXMge1xyXG4gICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICByaWdodDogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5pbXBlcmlhbCB7XHJcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuXHJcbi5zZWxlY3QtYWxsIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5zZWxlY3QtYXRobGV0ZS1saXN0IHtcclxuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG5cclxuICAgIG1hcmdpbjogNDVweCA2NXB4IDQ1cHggNjVweDtcclxuICAgIHBhZGRpbmc6IDE1cHggMHB4O1xyXG4gICAgbWluLWhlaWdodDogODBweDtcclxuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICAuYXRobGV0ZS1uYW1lIHtcclxuICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICBjb2xvcjogIzc1Nzc3QTtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgJi5hbGwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHJlZDogI2M0MmEzYjtcclxuJGJsdWU6ICM5NzY4RUI7XHJcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XHJcbiRncmV5OiAjODA4MDgwO1xyXG4kZ3JlZW46ICMyMGI3Njk7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJHllbGxvdzogI2Q4YjYyZjtcclxuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XHJcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XHJcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcclxuJHNjb3JlLXJlZDogI0QxNDA0QjtcclxuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcclxuXHJcbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcclxuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcclxuIiwiXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XHJcbn1cclxuXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XHJcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcclxuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcclxuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcclxuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcclxuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XHJcbiAgbWluLWhlaWdodDogJHZhbHVlO1xyXG4gIGhlaWdodDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZTtcclxuICBtaW4td2lkdGg6ICR2YWx1ZTtcclxuICB3aWR0aDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiB1bmxvY2std2lkdGggIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XHJcbiAgbWF4LWhlaWdodDogbm9uZTtcclxuICBtaW4taGVpZ2h0OiAwO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcclxuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcclxufVxyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiByZXNwb25kXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xyXG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xyXG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuLy8gJHNtTWluOiA3NjhweDtcclxuJHNtTWF4OiA5MDBweDtcclxuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XHJcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAaWYgJG1lZGlhID09IGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiB4cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XHJcbn1cclxuQG1peGluIHlwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLXRvcDogJHBhZDtcclxuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcclxufVxyXG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xyXG4gIG1hcmdpbi1yaWdodDogJGdhcDtcclxufVxyXG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi10b3A6ICRnYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxuICBtYXJnaW4tbGVmdDogJHcvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcclxuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59XHJcbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XHJcblxyXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XHJcbiAgPiAqICB7XHJcbiAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcclxufVxyXG5cclxuXHJcbiIsIi5tb2RhbC1jb250YWluZXIge1xyXG5cclxuICAmLm1vZGFsLXRlcm1zIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgd2lkdGg6IDc0MHB4O1xyXG4gICAgcGFkZGluZzogMjBweCA0MHB4O1xyXG4gICAgZm9vdGVyIHtcclxuICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIlxyXG4uYWRtaW4tbWVudSB7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XHJcblxyXG4gID4gZGl2IHtcclxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xyXG4gICAgY29sb3I6ICNhMGE0YTg7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGJsdWU7XHJcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNhMGE0YTg7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ubWFya2VyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAtMzBweDtcclxuICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA+IGRpdiArIGRpdiB7XHJcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcclxuICB9XHJcbn1cclxuXHJcbi5hZG1pbi1zdWItbWVudSB7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XHJcbiAgY29sb3I6ICNhMGE0YTg7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gID4gZGl2IHtcclxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xyXG4gICAgICBjb2xvcjogI2VmZWZlZjtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTBhNGE4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA+IGRpdiArIGRpdiB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi50YWItbWVudSB7XHJcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XHJcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcclxuICBwYWRkaW5nOiAwIDEwcHg7XHJcblxyXG4gIHNwYW4ge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcblxyXG4gICYuc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk3NjhFQjtcclxuICAgIHNwYW4ge1xyXG4gICAgICBjb2xvcjogI2ZlZmVmZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50YWItbWVudTpmaXJzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4udGFiLXZpZXcge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgcGFkZGluZzogNXB4O1xyXG59XHJcblxyXG4udGFiLXZpZXctbGlzdCB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxufSIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIm1peGluc1wiO1xyXG5cclxuLnRlc3QtY29udGFpbmVyLWhlYWRlciAge1xyXG5cdEBpbmNsdWRlIGZsZXgtcm93O1xyXG5cdG1hcmdpbi10b3A6IDI1cHg7XHRcclxuXHQudGl0bGUgIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNC41cHg7XHJcbiAgICAgICAgY29sb3I6ICM3NTc4N0I7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXI7XHRcclxuXHRcdG1pbi1oZWlnaHQ6IDQ2cHg7XHJcblx0fSBcclxuXHQubWFpbi1jb2wgIHtcclxuXHRcdEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcdFx0XHJcblx0fVxyXG5cdC5zaWRlLWNvbCAge1x0XHRcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1x0XHRcclxuXHRcdD4gZGl2Om5vdChbY2xhc3NdKSAge1xyXG5cdFx0XHRmb250LXNpemU6IDE2LjU5cHg7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMxcHg7XHRcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGVzdC1yZXN1bHQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi50ZXN0LXJlc3VsdC1oZWFkZXIge1xyXG5cdEBpbmNsdWRlIGZsZXgtcm93O1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDM0LjVweDtcclxuICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyO1x0XHJcblx0XHRtaW4taGVpZ2h0OiA0NnB4OyAgICAgICAgXHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4OyAgICAgICAgXHJcbiAgICB9O1xyXG59XHJcblxyXG4uaW5wdXQtcmVzdWx0cyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7ICBcclxufVxyXG5cclxuLnJlc3VsdHMtY29sdW1uLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBjb2x1bW4tY291bnQoMik7XHJcbiAgICBAaW5jbHVkZSBjb2x1bW4tZ2FwKDRlbSk7ICAgXHJcbn1cclxuXHJcbi5leGVyY2lzZS1kZXRhaWxzIHtcclxuICAgIEBpbmNsdWRlIGNvbHVtbi1uby1icmVhaygpOyAgXHJcbn1cclxuXHJcbi5saW5rZWQtcmVzdWx0cy1oZWFkZXIge1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgZm9udC1zaXplOiAzNC41cHg7XHJcbiAgY29sb3I6ICM3NTc4N0I7XHJcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDsgIFxyXG59XHJcblxyXG4udGVzdGVkLWJ5IHtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0Y29sb3I6ICM3NTc3N0E7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxufVxyXG5cclxuLnBlcmZvcm0tYWRkaXRpb25hbC1yZXN1bHRzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XHJcbn1cclxuXHJcbi5wZXJmb3JtYW5jZS1yZXN1bHRzICB7ICBcclxuXHRwYWRkaW5nOiA4MHB4IDAgODBweDtcclxuXHRtYXgtd2lkdGg6IDc3OHB4O1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdC5oMiAge1xyXG5cdFx0bWFyZ2luOiAwIDAgMjBweDtcclxuXHR9XHJcblx0c2VjdGlvbiAge1xyXG4gICAgcGFnZS1icmVhay1pbnNpZGUgOiBhdm9pZDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4OyAgICBcclxuXHRcdCsgc2VjdGlvbiAge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMzJweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wZXJmb3JtLW5vdGVzLXNlY3Rpb24ge1xyXG4gIG1heC13aWR0aDogNzc4cHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcGFkZGluZzogMCAwIDEyMHB4IDA7XHJcbiAgLmhlYWRlciB7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBjb2xvcjogIzc1Nzc3QTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgcGFkZGluZzogMCAwIDEycHg7XHJcbiAgfVxyXG4gIC5wcm9zZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6ICM5MjkzOTI7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gIH1cclxufVxyXG5cclxuLnN0cmVzcy1pbmRleC1ibG9jayB7XHJcbiAgbWFyZ2luLXRvcDogNDVweDtcclxuICA+IC5oZWFkZXIgIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDZweDtcclxuXHRcdC50aXRsZSAge1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdGNvbG9yOiAjNzU3ODdCO1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0bWFyZ2luOiAwIDAgMThweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jYXQtaGVhZGVyIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdztcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBjb2xvcjogIzc1Nzg3QjtcclxuICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIG1hcmdpbjogNDBweCAwIDE4cHg7XHJcbn1cclxuLmNhdC1zY29yZSAge1xyXG5cdGNvbG9yOiAjZmZmO1xyXG4gIHBhZGRpbmc6IDNweCA1cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcblx0Ji5ncmVlbiAge1xyXG5cdFx0YmFja2dyb3VuZDogJHNjb3JlLWdyZWVuO1xyXG5cdFx0KyAuZG90ICB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRzY29yZS1ncmVlbjtcclxuXHRcdH1cclxuXHR9XHJcblx0Ji55ZWxsb3cgIHtcclxuXHRcdGJhY2tncm91bmQ6ICRzY29yZS15ZWxsb3c7XHJcblx0XHQrIC5kb3QgIHtcclxuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXllbGxvdztcclxuXHRcdH1cclxuXHR9XHJcblx0Ji5yZWQgIHtcclxuXHRcdGJhY2tncm91bmQ6ICRzY29yZS1yZWQ7XHJcblx0XHQrIC5kb3QgIHtcclxuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXJlZDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG4uY2xpbmljYWwtZmllbGQge1xyXG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcclxuICAgIGhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gICAgJi5jbGluaWNhbC1ub3RlcyB7XHJcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgIHJlc2l6ZTogbm9uZTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2xpbmljYWwtc3ViLW5vdGUge1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyAgICBcclxufVxyXG5cclxuLnRyZWUtbGluZSB7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2JiYjtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xyXG59XHJcblxyXG4uY2xpbmljYWwtbm90ZXMtc2VjdGlvbiB7XHJcbiAgICBtYXJnaW46IDM4cHggMCA2MHB4O1xyXG4gICAgbWF4LXdpZHRoOiA1NjBweDtcclxufVxyXG5cclxubGFiZWwuY2xpbmljYWwtZm9ybS1maWVsZCAge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuICAgIG1hcmdpbjogMCA0MHB4O1xyXG59XHJcblxyXG5oci5jbGluaWNhbC1yZXBvcnQtbGluZSB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRDhEOEQ4O1xyXG4gICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgICBjbGVhcjogYm90aDtcclxufVxyXG5cclxuc3Bhbi5jbGluaWNhbC1sYWJlbCAge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGNvbG9yOiAjNzU3NzdBO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbn1cclxuXHJcbmZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93biB7XHJcbiAgICAmLmNsaW5pY2FsLWRyb3AtZG93biB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcclxuICAgICAgICBtYXgtd2lkdGg6IDYyNnB4O1xyXG4gICAgICAgIHdpZHRoOiA2MjZweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgID4gZGl2LmNvbHVtbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlbGVjdC10b2dnbGUge1xyXG4gICAgICAgICAgICBzcGFuLmZpbHRlcmVkIHtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vcHRpb25zIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MHB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzk5OTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcclxuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgICAgICYgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jbGluaWNhbC1zaWduYXR1cmUge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcbiAgbWFyZ2luLXRvcDogMzBweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogIzkyOTM5MjtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG4gID4gZGl2IHtcclxuICAgIHBhZGRpbmc6IDBweCAxNXB4IDBweCAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLnByaW50LW9ubHkge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIiwiJHJlZDogI2M0MmEzYjtcclxuJGJsdWU6ICM5NzY4RUI7XHJcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XHJcbiRncmV5OiAjODA4MDgwO1xyXG4kZ3JlZW46ICMyMGI3Njk7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJHllbGxvdzogI2Q4YjYyZjtcclxuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XHJcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XHJcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcclxuJHNjb3JlLXJlZDogI0QxNDA0QjtcclxuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcclxuXHJcbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcclxuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcclxuIiwiXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XHJcbn1cclxuXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XHJcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcclxuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcclxuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcclxuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcclxuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XHJcbiAgbWluLWhlaWdodDogJHZhbHVlO1xyXG4gIGhlaWdodDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZTtcclxuICBtaW4td2lkdGg6ICR2YWx1ZTtcclxuICB3aWR0aDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiB1bmxvY2std2lkdGggIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XHJcbiAgbWF4LWhlaWdodDogbm9uZTtcclxuICBtaW4taGVpZ2h0OiAwO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcclxuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcclxufVxyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiByZXNwb25kXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xyXG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xyXG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuLy8gJHNtTWluOiA3NjhweDtcclxuJHNtTWF4OiA5MDBweDtcclxuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XHJcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAaWYgJG1lZGlhID09IGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiB4cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XHJcbn1cclxuQG1peGluIHlwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLXRvcDogJHBhZDtcclxuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcclxufVxyXG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xyXG4gIG1hcmdpbi1yaWdodDogJGdhcDtcclxufVxyXG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi10b3A6ICRnYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxuICBtYXJnaW4tbGVmdDogJHcvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcclxuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59XHJcbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XHJcblxyXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XHJcbiAgPiAqICB7XHJcbiAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcclxufVxyXG5cclxuXHJcbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIm1peGluc1wiO1xyXG5cclxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi50ZXN0LWF0aGxldGUtbmFtZSB7XHJcbiAgY29sb3I6ICM3NTc3N0E7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMS42MjtcclxuICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xyXG59XHJcblxyXG4ucGVyZm9ybS1zZWxlY3Qge1xyXG4gIG1pbi13aWR0aDogMTMzcHg7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGNvbG9yOiAjNzU3NzdBO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICNEOEQ4RDg7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGhlaWdodDogMzhweDtcclxufVxyXG5cclxuLnJlY29tbWVuZGVkIHtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgY29sb3I6ICRyZWQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTJweDtcclxuICBsYWJlbCB7XHJcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblIrUiBEYWlseSBUZXN0IHYyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5oMyB7XHJcbiAgc3BhbiB7XHJcbiAgICBjb2xvcjogJGJsdWU7XHJcbiAgfVxyXG59XHJcblxyXG4ucnItbWVudSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3c7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcclxuICBtYXgtd2lkdGg6IDcwMHB4O1xyXG4gIGhlaWdodDogNTVweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIC5jdXN0b20ge1xyXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcclxuICAgICAgICAtbXMtZmxleDogMTtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xyXG4gICAgfVxyXG4gICAgaW5wdXQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICY6Y2hlY2tlZCB+IGxhYmVsIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFiZWwge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNTVweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucnIta2V5IHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXk7XHJcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XHJcbiAgbWF4LXdpZHRoOiA3MDBweDtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIGNvbG9yOiAkYmx1ZTtcclxuICBsYWJlbCB7XHJcbiAgICB3aWR0aDogMzMuMyU7XHJcbiAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiRyZWQ6ICNjNDJhM2I7XHJcbiRibHVlOiAjOTc2OEVCO1xyXG4kZGFya19ibHVlOiAjMTEyNjRiO1xyXG4kZ3JleTogIzgwODA4MDtcclxuJGdyZWVuOiAjMjBiNzY5O1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiR5ZWxsb3c6ICNkOGI2MmY7XHJcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xyXG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xyXG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XHJcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XHJcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XHJcblxyXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XHJcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XHJcbiIsIlxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xyXG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XHJcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XHJcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XHJcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdygpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xyXG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcclxuICBoZWlnaHQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWU7XHJcbiAgd2lkdGg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1pbi13aWR0aDogMDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgbWluLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XHJcbn1cclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcclxuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcclxuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbi8vICRzbU1pbjogNzY4cHg7XHJcbiRzbU1heDogOTAwcHg7XHJcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGlmICRtZWRpYSA9PSBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4geHBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xyXG59XHJcbkBtaXhpbiB5cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWQ7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XHJcbn1cclxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tbGVmdDogJGdhcDtcclxuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XHJcbn1cclxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tdG9wOiAkZ2FwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XHJcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xyXG5cclxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xyXG4gID4gKiAge1xyXG4gICAgJjpmaXJzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcblxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuXHJcbi8vIHN0eWxlcyBmb3IgdGhlIHJlcGVhdGVkIHNoaWZ0IHRlc3RcclxuLnJlcGVhdGVkLXNoaWZ0LWxheW91dCB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAudGVzdC1yb3cge1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcbiAgICAuZHJvcC1vZmYge1xyXG4gICAgICBjb2xvcjogIzAwQjhFMDsgXHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyO1xyXG4gICAgfVxyXG4gICAgLm1lYXN1cmVtZW50LWZpZWxkIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjg5cHg7XHJcbiAgICAgIH1cclxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjNweDtcclxuICAgICAgfSAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxuICAubWVhc3VyZW1lbnQtbGFiZWwge1xyXG4gICAgY29sb3I6ICM3NTc3N0E7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7IFxyXG4gICAgd2lkdGg6MTBweFxyXG4gIH1cclxufVxyXG5cclxuLy8gc3R5bGVzIGZvciB0aGUgeS1iYWxhbmNlIHRlc3RzXHJcbi55LWJhbGFuY2UtbGF5b3V0IHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIC50ZXN0LXJvdyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuc3ViLWxhYmVsIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG4gICAgfVxyXG4gICAgLmRpZmYge1xyXG4gICAgICBtYXJnaW4tbGVmdDogNTFweDtcclxuICAgICAgY29sb3I6ICMwMEI4RTA7IFxyXG4gICAgICBmb250LXNpemU6IDE4cHg7IFxyXG4gICAgICBsaW5lLWhlaWdodDogMS45MjtcclxuICAgIH1cclxuICAgIC5tZWFzdXJlbWVudC1maWVsZCB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjc1cHg7XHJcbiAgICAgIH1cclxuICAgICAgLm1lYXN1cmVtZW50LWxhYmVsIHtcclxuICAgICAgICBjb2xvcjogIzc1Nzc3QTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDsgXHJcbiAgICAgICAgd2lkdGg6MTBweFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBzdHlsZXMgZm9yIG1lYXN1cmVtZW50IGdyb3Vwc1xyXG4ubWVhc3VyZW1lbnQtZ3JvdXAge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgLnRlc3Qtcm93IHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIC5zdWItbGFiZWwge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XHJcbiAgICB9ICAgIFxyXG4gICAgLm1lYXN1cmVtZW50LWZpZWxkIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xyXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNzVweDtcclxuICAgICAgfVxyXG4gICAgICAubWVhc3VyZW1lbnQtbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAjNzU3NzdBO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4OyBcclxuICAgICAgICB3aWR0aDoxMHB4XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG5AbWl4aW4gY2hhbmdlLWluZGljYXRvciB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgbWFyZ2luOiAwIDEwcHg7XHJcblxyXG4gICYuaW5jcmVhc2UgeyBcclxuICAgIGNvbG9yOiAjMjBiNzY5OyBcclxuICAgIGkuZmEge1xyXG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmRlY3JlYXNlIHsgXHJcbiAgICBjb2xvcjogI2M0MmEzYjsgXHJcbiAgICBpLmZhIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5wZXJmb3JtLWluY3JlYXNlIHsgXHJcbiAgICBpLmZhIHtcclxuICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5wZXJmb3JtLWRlY3JlYXNlIHsgXHJcbiAgICBpLmZhIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaS5mYSB7XHJcbiAgICBtaW4td2lkdGg6IDEycHg7XHJcbiAgfVxyXG59XHJcblxyXG4udGVzdC1yZXN1bHRzLWJ1dHRvbiB7XHJcbiAgd2lkdGg6IDEwMCU7ICBcclxuICB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsgXHJcbn1cclxuXHJcbi5wcm9ncmVzcy1yZXBvcnQtb3B0aW9ucyB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBtYXJnaW46IDMwcHggMCA1cHg7XHJcblxyXG4gID4gZGl2ICsgZGl2IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmRhdGUtcmFuZ2VzIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcblxyXG4gICAgPiBkaXYgKyBkaXYge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1yZXBvcnQtbm9kYXRhIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5cclxuLnJlcG9ydC1jaGFydC1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcblxyXG4gIC5yZXBvcnQtY2hhcnQtZGV0YWlscyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cclxuICAgIC5yZXBvcnQtY2hhcnQtZGV0YWlsIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuXHJcbiAgICAgICYudGVhbSwgJi50b3RhbCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogOTBweDtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmhlYWRlciB7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2NvcmUtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuXHJcbiAgICAgICAgLnNjb3JlIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2hhbmdlIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1pbmRpY2F0b3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAudHJvcGhpZXMge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudHJvcGh5LXBsYWNlIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5yZXBvcnQtc3VtbWFyeS1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgbWFyZ2luLXRvcDogMzBweDtcclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5yZXBvcnQtc3VtbWFyeSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XHJcblxyXG4gID4gZGl2IHtcclxuICAgIG1pbi13aWR0aDogMjQwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiA5MHB4O1xyXG4gICAgbWFyZ2luOiAyMHB4IDEwcHggMTBweCAgMDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XHJcbiAgfVxyXG5cclxuICAuc3VtbWFyeS1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAyMjBweDtcclxuXHJcbiAgICAuc3VtbWFyeS1pbmZvIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAgICAgbWluLWhlaWdodDogNjBweDtcclxuICAgICAgbWFyZ2luOiAwIDNweDtcclxuXHJcbiAgICAgIC5oZWFkZXIge1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgLnNjb3JlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XHJcblxyXG4gICAgICAgIC5zY29yZSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNoYW5nZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtaW5kaWNhdG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zdW1tYXJ5LWNoYXJ0IHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgICAgbWluLWhlaWdodDogNDBweDtcclxuXHJcbiAgICAgID4gY2FudmFzIHtcclxuICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucmVwb3J0LWRldGFpbHMtY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgXHJcblxyXG4gIC50aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMjRweCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnJlcG9ydC1kZXRhaWxzIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xyXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblxyXG4gID4gZGl2IHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmNoYW5nZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogLThweDtcclxuICAgIG1pbi13aWR0aDogNzBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgQGluY2x1ZGUgY2hhbmdlLWluZGljYXRvcjtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAubmFtZXMtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICBtaW4td2lkdGg6IDI1MHB4OyAgICBcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgICAgbWluLWhlaWdodDogNDBweDtcclxuICAgICAgbWluLXdpZHRoOiAxODBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXItcm93IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGV0YWlsLXJvdyB7XHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDtcclxuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XHJcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuc3ViLXRvdGFsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xyXG4gICAgICAgIGNvbG9yOiAjNzU3ODdiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAmICsgLnN1Yi10b3RhbCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi50b3RhbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5kZXRhaWwtcm93LXBvc2l0aW9uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDoxNXB4OyBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmluZm8tY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcblxyXG4gICAgPiBkaXYge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgIG1pbi13aWR0aDogMTEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1yb3cge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xyXG5cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYgKyAuaGVhZGVyLXJvdyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kZXRhaWwtcm93IHtcclxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zY29yZXMtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuXHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcclxuICAgICAgLmhlYWRlci1yb3cge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRldGFpbC1yb3cge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXItcm93IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcclxuXHJcbiAgICAgICYucmlnaHQtbGVmdCB7XHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgIG1pbi13aWR0aDogNTVweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGV0YWlsLXJvdyB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XHJcblxyXG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuXHJcbiAgICAgICAgJi5yaWdodC1sZWZ0IHtcclxuICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNTVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNoYW5nZS1jb250YWluZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvZ3Jlc3MtcmVwb3J0LWJvZHltYXAge1xyXG4gIG1heC1oZWlnaHQ6IDIxM3B4O1xyXG4gIG1heC13aWR0aDogMTAwcHg7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1yZXBvcnQtaGlkZGVuIHtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1yZXBvcnQtYm9keW1hcC1jb250YWluZXIge1xyXG4gIC8vIG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLnByb2dyYW0tZ3JvdXAtZHJvcGRvd24tY29udGFpbmVyIHtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgd2lkdGg6IDEwMjRweDtcclxuICBtYXJnaW46IDMwcHggMHB4IDEwcHggMHB4O1xyXG4gIGhlaWdodDogNTBweDtcclxuICBcclxuICA+IHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbiAgXHJcbiAgLnByb2dyYW0tdHlwZS1idXR0b24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLnJlcG9ydC1wcm9ncmFtcy1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XHJcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gIG92ZXJmbG93LXg6IGF1dG87XHJcblxyXG4gID4gZGl2IHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcclxuICB9XHJcblxyXG4gIC5oZWFkZXItcm93IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2dyYW0tZGF0YS1jaGFydCB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRhdGEtcm93IHtcclxuICAgIC5wcm9ncmFtLW5hbWUge1xyXG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcclxuXHJcbiAgICAgIC5wcm9ncmFtLW5hbWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDI0MjQ7XHJcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XHJcblxyXG4gICAgICAucHJvZ3JhbS1uYW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xyXG4gICAgICAgIGNvbG9yOiAjZjdmN2Y3O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50b3RhbCBcclxuICAgIHtcclxuICAgICAgLnByb2dyYW0tbmFtZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnBvc2l0aW9uLXRvdGFsIFxyXG4gICAge1xyXG4gICAgICAucHJvZ3JhbS1uYW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTFFM0U1O1xyXG4gICAgICAgIGNvbG9yOiAjZWZlZmVmO1xyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZ3JhbS1uYW1lIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcclxuICAgIG1pbi13aWR0aDogMzQ2cHg7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgLnByb2dyYW0tZGF0YSB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgIG1pbi13aWR0aDogMTIwcHg7XHJcblxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcclxuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9ncmFtLWRhdGEtY2hhcnQge1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xyXG4gIH1cclxuXHJcbiAgLnByb2dyYW0tZmlsbGVyIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcclxuICAgIG1pbi13aWR0aDogNjBweDtcclxuICB9XHJcbn1cclxuIiwiJHJlZDogI2M0MmEzYjtcclxuJGJsdWU6ICM5NzY4RUI7XHJcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XHJcbiRncmV5OiAjODA4MDgwO1xyXG4kZ3JlZW46ICMyMGI3Njk7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJHllbGxvdzogI2Q4YjYyZjtcclxuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XHJcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XHJcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcclxuJHNjb3JlLXJlZDogI0QxNDA0QjtcclxuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcclxuXHJcbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcclxuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XHJcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcclxuIiwiXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XHJcbn1cclxuXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XHJcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcclxuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcclxuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcclxuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcclxuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XHJcbiAgbWluLWhlaWdodDogJHZhbHVlO1xyXG4gIGhlaWdodDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZTtcclxuICBtaW4td2lkdGg6ICR2YWx1ZTtcclxuICB3aWR0aDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiB1bmxvY2std2lkdGggIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XHJcbiAgbWF4LWhlaWdodDogbm9uZTtcclxuICBtaW4taGVpZ2h0OiAwO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xyXG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcclxuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcclxufVxyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiByZXNwb25kXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xyXG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xyXG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuLy8gJHNtTWluOiA3NjhweDtcclxuJHNtTWF4OiA5MDBweDtcclxuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XHJcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAaWYgJG1lZGlhID09IGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiB4cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XHJcbn1cclxuQG1peGluIHlwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLXRvcDogJHBhZDtcclxuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcclxufVxyXG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xyXG4gIG1hcmdpbi1yaWdodDogJGdhcDtcclxufVxyXG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xyXG4gIG1hcmdpbi10b3A6ICRnYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxuICBtYXJnaW4tbGVmdDogJHcvLTI7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xyXG4gIGZvbnQtc2l6ZTogJGg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcclxuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59XHJcbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XHJcblxyXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XHJcbiAgPiAqICB7XHJcbiAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcclxufVxyXG5cclxuXHJcbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIm1peGluc1wiO1xyXG5cclxuLnBhZ2UtaGVhZGVyLWJhY2stbmF2IHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICBtaW4taGVpZ2h0OiA0MHB4O1xyXG5cclxuICBsYWJlbCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgaS5pY29uIHtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGVzdC1hcmNoaXZlcy1vcHRpb25zIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIG1hcmdpbjogMzBweCAwIDVweDtcclxuXHJcbiAgPiBkaXYgKyBkaXYge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuZGF0ZS1yYW5nZXMge1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuXHJcbiAgICA+IGRpdiArIGRpdiB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFyY2hpdmUtY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIG1hcmdpbjogMzBweCAwO1xyXG5cclxuICA+IGRpdiB7XHJcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG5cclxuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgaS5pY29uIHtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmFyY2hpdmUtbmFtZSxcclxuICAgIC5hcmNoaXZlLWluZm8sXHJcbiAgICAuYXJjaGl2ZS1hY3Rpb24ge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgfVxyXG5cclxuICAgIC5hcmNoaXZlLW5hbWUge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFyY2hpdmUtaW5mbyxcclxuICAgIC5hcmNoaXZlLWFjdGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmFyY2hpdmUtaW5mbyB7XHJcbiAgICAgIG1pbi13aWR0aDogMTQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcclxuICAgICAgbWluLXdpZHRoOiA2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYuaGVhZGVyLXJvdyB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcblxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIkcmVkOiAjYzQyYTNiO1xyXG4kYmx1ZTogIzk3NjhFQjtcclxuJGRhcmtfYmx1ZTogIzExMjY0YjtcclxuJGdyZXk6ICM4MDgwODA7XHJcbiRncmVlbjogIzIwYjc2OTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4keWVsbG93OiAjZDhiNjJmO1xyXG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcclxuJGRhcmtfZ3JleTogIzZkNmU3MjtcclxuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xyXG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xyXG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xyXG5cclxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xyXG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcclxuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xyXG4iLCJcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcclxuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xyXG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xyXG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xyXG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3coKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcclxufVxyXG5cclxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xyXG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcclxuICBtaW4taGVpZ2h0OiAkdmFsdWU7XHJcbiAgaGVpZ2h0OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlO1xyXG4gIG1pbi13aWR0aDogJHZhbHVlO1xyXG4gIHdpZHRoOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcclxuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1peGluIHVubG9jay13aWR0aCAge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcclxuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHJlc3BvbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XHJcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xyXG4vLyAkc21NaW46IDc2OHB4O1xyXG4kc21NYXg6IDkwMHB4O1xyXG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcclxuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBpZiAkbWVkaWEgPT0gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHhwYWQoJHBhZCkgIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcclxufVxyXG5AbWl4aW4geXBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctdG9wOiAkcGFkO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xyXG59XHJcbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xyXG59XHJcbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XHJcbiAgbWFyZ2luLXRvcDogJGdhcDtcclxuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaC8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcclxufVxyXG5cclxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcclxuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XHJcbiAgZm9udC1zaXplOiAkaDtcclxufVxyXG5cclxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcclxuXHJcbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcclxuICA+ICogIHtcclxuICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkICB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcblxyXG5cclxuIiwiLy92ZXJzaW9uIDIgb2YgaGVhZGVyIChzZWUgbmV3LWhlYWRlci5odG1sIGZvciB0ZW1wbGF0ZSAoc3dpdGNoZWQgdjIpKVxyXG4uaGVhZGVyLWNvbnRlbnQge1xyXG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGluaXRpYWwpO1xyXG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDgwcHgpO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG5cclxuICAuaGVhZGVyLWxvZ28tY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuICAuaGVhZGVyLWxvZ28gIHtcclxuICAgIG1hcmdpbjogMTBweCAzNXB4O1xyXG4gIFx0aW1nICB7XHJcbiAgXHRcdG1heC13aWR0aDogMTgwcHg7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDcwcHg7XHJcbiAgXHR9XHJcbiAgfVxyXG5cclxuICAuaGVhZGVyLXRlYW0tbmFtZSB7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDOEM4Qzk7XHJcbiAgICBoMyB7XHJcbiAgICAgIHBhZGRpbmc6IDBweCAxOHB4O1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuICAuaGVhZGVyLXRlYW0tbmFtZS1saW5rIHtcclxuICAgIEBleHRlbmQgLmhlYWRlci10ZWFtLW5hbWU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIH1cclxuICAudGVhbS1zd2l0Y2hlciAge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA4MCU7XHJcbiAgICAgIGxlZnQ6IDkwJTtcclxuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG4gICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xyXG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcclxuICAgIH1cclxuICB9XHJcbiAgLnRlYW0tb3B0aW9ucyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMiU7XHJcbiAgICBsZWZ0OiAtMXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjFmMTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDY4LCA2NywgNzYsIDAuMjUpO1xyXG4gICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogMztcclxuICAgIFxyXG4gICAgPmRpdiB7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxNHB4O1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICBcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGZkZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndoaXRlLWZpZWxkIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xyXG5cclxuICAgIGkuaWNvbi1zaG9wIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcclxuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XHJcbiAgICAgIG1hcmdpbjogMHB4O1xyXG5cclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICBtYXJnaW46IC0xcHggOHB4IDBweCAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgY29sb3I6ICRkYXJrX2JsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmN1cnJlbnQtYXRobGV0ZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XHJcblxyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHNwYW4gKyBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGRpdiArIGRpdiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gYnV0dG9uIHtcclxuICAgICAgJi5zaWdub3V0IHtcclxuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcclxuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDdweCAwIDE1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDI1cHggMCA3cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG5cclxuICAgICAgICBpLmZhIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gcmVzcG9uc2l2ZSB0d2Vha3MsIHNob3VsZCBqdXN0IGJlIGltcGxlbWVudGVkIHdpdGggdGhlIHJlc3RcclxuQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcclxuICAuaGVhZGVyLWNvbnRlbnQtdjIge1xyXG4gICAgLndoaXRlLWZpZWxkICB7XHJcbiAgICAgICAgPiBkaXYgPiBkaXYgIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICsgZGl2ICB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpICB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaS5pY29uLXNob3AgIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuXHJcbiRndXR0ZXItd2lkdGg6IDE1cHg7XHJcbi8vICRjb2wtZ2FwOiAzMHB4O1xyXG4kY29sLWdhcDogMTVweDtcclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IGFsbCBzaXplcyByZXNwb25zaXZlbmVzcyBhZGp1c3RtZW50c1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi53aGl0ZWJvYXJkICB7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbn1cclxudWwuY2F0YWxvZ19uYXYgIHtcclxuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcclxuICAgIGxpID4gc3BhbiAge1xyXG4gICAgICAgIHBhZGRpbmc6IDExcHggMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICB9XHJcbn1cclxudWwuY2F0YWxvZ19uYXYgbGkgPiB1bCBsaSA+IHVsIGxpICB7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDA7XHJcbiAgICBAaW5jbHVkZSB5cGFkKDZweCk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IC8vIHRoaXMgd2F5LCB3aGVuIGl0IHdyYXBzLCBpdCBkb2Vzbid0IGxvb2sgc3RyYW5nZVxyXG59XHJcblxyXG4uY2F0YWxvZy1zZWxlY3RlZCAudGl0bGUtY29udGFpbmVyIC5yZXR1cm4tbGluayAge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBhdGhsZXRlIGdyaWQgdW5pdmVyc2FsXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLmF0aGxldGUtaW5mby1ib3ggIHtcclxuICAgIC5iaW8taGVhZGVyICB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgLmF0aGxldGUtbnVtYmVyICB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKHNtKSAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmlvLWJvZHkgIHtcclxuICAgICAgICAuYXRobGV0ZS1wcm9maWxlICB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XHJcbiAgICAgICAgICAgIC5wcm9maWxlLXBpYyAge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hdGhsZXRlLXN0YXRzICB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMik7XHJcbiAgICAgICAgICAgID4gZGl2ICB7XHJcbiAgICAgICAgICAgICAgICArIGRpdiAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYW52YXMgIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gYWxsIHNpemVzID4gYXRobGV0ZSBsaXN0IHZpZXcgPiBsb2NrZWQvd3JhcHBlZCBhdGhsZXRlIG51bWJlci4uLlxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5hdGhsZXRlLWxpc3Qtdmlldy52aWV3LWxheW91dCAge1xyXG4gICAgLmF0aGxldGUtbnVtYmVyICB7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1M3B4KTtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmF0aGxldGUtbmFtZSAge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDVweDtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IGFsbCBzaXplcyA+IGF0aGxldGUgcHJvZmlsZVxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5wcm9maWxlLXN1bW1hcnkgIHtcclxuICAgIC50b2RheS1wcm9ncmFtLFxyXG4gICAgLnRvZGF5LW5vdGljZSAge1xyXG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDZweDtcclxuICAgIH1cclxufVxyXG4uY29sdW1uLWNvbnRhaW5lci5wcm9maWxlLXNjb3JlICsgZGl2IHtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQobGcpICB7XHJcbiAgICAgICAgd2lkdGg6IDM4MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gdW5pdmVyc2FsIGJyZWFrcG9pbnQgZHJvcGRvd25cclxuLy8gb25jZSBicm93c2VyIHdpZHRoIGdvZXMgYmVsb3cgMTA1NCAoc2VlIG1peGluIHJlc3BvbmQoc20pKVxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbkBpbmNsdWRlIHJlc3BvbmQobWQpICB7XHJcbiAgICBib2R5ICAge1xyXG5cclxuIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuIC8vIHNlY3Rpb24gPiB1bml2ZXJzYWxcclxuIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbiAudmlldy1jb250YWluZXIgIHtcclxuICAgIHdpZHRoOiAkY29tcHJlc3NlZENvbnRlbnRXaWR0aDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICAgIEBpbmNsdWRlIHhwYWQoJGd1dHRlci13aWR0aCk7XHJcbiAgICAudmlldy1jb250YWluZXIgIHtcclxuICAgICAgICBAaW5jbHVkZSB4cGFkKDApO1xyXG4gICAgfVxyXG59XHJcbi53ZWVrLXdyYXBwZXIgLndlZWstZGF5LWNvbHVtbiAge1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmhlYWRlci1jb250ZW50IC53aGl0ZS1maWVsZCA+IGRpdiAge1xyXG4gICAgbWFyZ2luOiAwcHggMjBweDtcclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gbWQgPiBwcm9maWxlIHBhZ2VcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4ucHJvZmlsZS1kZXRhaWwgIHtcclxuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSk7XHJcbiAgICAucHJvZmlsZS1waWMgIHtcclxuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XHJcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLWhlaWdodDtcclxuICAgICAgICBpbWcgIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb2ZpbGUtYWN0aW9uICB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9maWxlLXN1bW1hcnkgIHtcclxuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcclxuICAgIEBpbmNsdWRlIGZsZXgoNCk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xyXG4gICAgPiAucm93LWNvbnRhaW5lci5kaXZpZGVkICB7XHJcbiAgICAgICAgPiBkaXYgIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcclxuICAgICAgICAgICAgKyBkaXYgIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbC1nYXA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2NvcmUtY29udGFpbmVyICB7XHJcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgLnByb2ZpbGUtc2NvcmUgIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLnByb2ZpbGUtc2NvcmUtZ3JhcGgtY2FudmFzICB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmxvY2staGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jaGFydC1tZW51ICB7XHJcbiAgICAuY2hhcnQtbWVudS1pdGVtICB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xyXG4gICAgfVxyXG59XHJcbi5wcm9ncmFtLWNoYXJ0LFxyXG4ubGluZS1jaGFydCAge1xyXG4gICAgQGluY2x1ZGUgZmxleCgyKTtcclxufVxyXG4ucHJvZ3JhbS1jaGFydCAge1xyXG4gICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxufVxyXG4udmlldy1sYXlvdXQgLnZpZXctY29udGFpbmVyIC5saW5lLWNoYXJ0ICB7XHJcbiAgICAubGluZS1jaGFydC1jYW52YXMgIHtcclxuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XHJcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLWhlaWdodDtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5jaGFydC1kZXRhaWxzICB7XHJcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xyXG4gICAgQGluY2x1ZGUgZmxleCgxKTtcclxufVxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiB1bml2ZXJzYWwgKGJhc2VkIG9mZiBvZiBwcm9maWxlID0+IHByb2dyYW1zID0+IHZlcnRpY2FsIGJhciBjaGFydClcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5jYW52YXMgIHtcclxuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbn1cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gbWQgPiBwcm9maWxlID4gY2FsZW5kYXJcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4uY2FsZW5kYXItbW9udGggIHtcclxuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcclxuICAgIEBpbmNsdWRlIGZsZXgoMik7XHJcbiAgICAud2Vlay1kYXktbGFiZWxzIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcclxuICAgICAgICA+IGRpdiAge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FsZW5kYXItZGF5cyAge1xyXG4gICAgICAgIC5jYWxlbmRhci1kYXkgIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogKDEwMC83KSoxJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm5vdGVzLWNhbGVuZGFyICB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0OTJweDtcclxuICAgIH1cclxufVxyXG4uY2FsZW5kYXItZGF5LWluZm8gIHtcclxuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcclxuICAgIEBpbmNsdWRlIGZsZXgoMSk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBtZCA+IGF0aGxldGUgZ3JpZCA+IGxpc3Qgdmlld1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5hdGhsZXRlLWxpc3Qtdmlldy52aWV3LWxheW91dCAge1xyXG4gICAgLmF0aGxldGUtc3RhdCAge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMCk7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg3LjUlKTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgIH1cclxuICAgIC5hdGhsZXRlLXByb2dyYW1zICB7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxOCUpO1xyXG4gICAgfVxyXG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSAge1xyXG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTglKTtcclxuICAgIH1cclxuICAgIC5hdGhsZXRlLXJvdyAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IG1kID4gbW9kYWxzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLm1vZGFsICB7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xyXG59XHJcbi5tb2RhbC1jb250YWluZXIgIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gbWQgPiBub3RlcyA+IHRyYWluaW5nIGxvYWQgPiBtaXNjXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLnRsLWVudHJ5LWhlYWRlciAudGwtc2VsZWN0LFxyXG4udGwtZW50cnkgLnRsLXNlbGVjdCAge1xyXG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMjBweCk7XHJcbn1cclxuLnRsLWVudHJ5LWhlYWRlciAudGwtaW5wdXQsXHJcbi50bC1lbnRyeSAudGwtaW5wdXQgIHtcclxuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODZweCk7XHJcbn1cclxuLnRsLWVudHJ5IC50bC1pbnB1dCA+IC5iYXNpYy1pbnB1dC5zbWFsbCAge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnRsLWVudHJ5LWhlYWRlciAge1xyXG4gICAgLmZpZWxkLWxhYmVsICB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IG1kID4gdW5pdmVyc2FsIGlucHV0IHNpemUgcmVkdWN0aW9uLi4uXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbmlucHV0LmJhc2ljLWlucHV0LFxyXG5kaXYuYmFzaWMtaW5wdXQsXHJcbmRpdi5iYXNpYy1pbnB1dC1yZWFkb25seSB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbn1cclxuXHJcbi8vIGN1cnJlbnRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gbWQgPiBhdGhsZXRlIG5hdiBmaWx0ZXJcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4uYXRobGV0ZS1tZW51ICB7XHJcbiAgICAuYXRobGV0ZS1zZWFyY2ggIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmF0aGxldGUtZmlsdGVyLXNvcnQgIHtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcclxuICAgICAgICA+IC5hdGhsZXRlLXNvcnQtYm94ICB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAgICAgLmxhYmVsICB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE3cHggMTVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciAge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAzOCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXRobGV0ZS1yZXNldC12aWV3ICB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcclxuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XHJcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG4gICAgLmF0aGxldGUtdG9nZ2xlLXZpZXcgIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4KGluaXRpYWwpO1xyXG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IGhlYWRlclxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4uaGVhZGVyLWNvbnRlbnQgIHtcclxuICAgIC53aGl0ZS1maWVsZCAge1xyXG4gICAgICAgID4gZGl2ID4gZGl2ICB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICArIGRpdiAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaSAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGkuaWNvbi1zaG9wICB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGJ1dHRvbiAge1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgIH1cclxuICAgIC5sb2dvICB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXItd2lkdGg7XHJcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMjBweCk7XHJcbiAgICB9XHJcbiAgICAud2hpdGUtZmllbGQgPiBidXR0b246bGFzdC1jaGlsZCAge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlci13aWR0aDtcclxuICAgIH1cclxufVxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBtZCA+IGdyYXBoIGtleVxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5saW5lLWNoYXJ0LW1lbnUgIHtcclxuICAgIC5jaGFydC1sZWdlbmQgIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTZweDtcclxuICAgICAgICA+IC5mYSAge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IG1kID4gdGVzdGluZyBwcm9tcHRzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLnByb21wdC1ib3ggIHtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuLnRlc3QtbGFuZGluZyAge1xyXG4gICAgLnByb21wdC1ib3ggIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxOTZweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gbWQgPiBtaXNjIGNoYXJ0c1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5yZXBvcnQtY2hhcnQtY29udGFpbmVyICB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC5saW5lLWNoYXJ0ICB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAucmVwb3J0LWNoYXJ0LWRldGFpbHMgIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgLnJlcG9ydC1jaGFydC1kZXRhaWwgIHtcclxuICAgICAgICAgICAgPiBkaXYgIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IG1kID4gcmVwb3J0IHN1bW1hcnkgY2hhcnRzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLnJlcG9ydC1zdW1tYXJ5ICB7XHJcbiAgICA+IGRpdiAge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDEwcHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gbWQgPiByZXBvcnQgdGFibGVcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4ucmVwb3J0LWRldGFpbHMtY29udGFpbmVyICB7XHJcbiAgICAudGl0bGUgIHtcclxuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBzZWN0aW9uID4gbWQgPiBlbmRcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxufVxyXG59XHJcblxyXG5AaW5jbHVkZSByZXNwb25kKHNtKSAgeyBib2R5ICB7XHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHNtID4gYXRobGV0ZSBncmlkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBjYXRhbG9nIG5hdlxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5hZG1pbi1tZW51ID4gZGl2ICsgZGl2IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxOHB4O1xyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBjYXRhbG9nIHNpZGUgbmF2XHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLmNhdGFsb2dfY29udGFpbmVyICB7XHJcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCAyMDBweCk7XHJcbn1cclxuLmNhdGFsb2ctc2VhcmNoICB7XHJcbiAgICBmb3JtICB7XHJcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaW5wdXRbdHlwZT0ndGV4dCddICB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcclxuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uW3R5cGU9J3Jlc2V0J10gIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNhdGFsb2ctZmVhdHVyZSAuZmVhdHVyZS1jb250YWluZXIgLmZlYXR1cmUtY29udGVudCAge1xyXG4gICAgbGVmdDogNDBweDtcclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gdGVhbXMgdGFibGVcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLnByYWN0aXRpb25lcnNUYWJsZSxcclxuLnRlYW1zVGFibGUgIHtcclxuICAgID4gLnJvdy1jb250YWluZXIgIHtcclxuICAgICAgICA+IGRpdiAge1xyXG4gICAgICAgICAgICA+IHNwYW4gIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ucHJhY3RpdGlvbmVyc1RhYmxlICB7XHJcbiAgICA+IC5yb3ctY29udGFpbmVyICB7XHJcbiAgICAgICAgPiBkaXYgIHtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkgIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDExMnB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoOTZweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykgIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDEwOHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleElubGluZU92ZXJyaWRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpICB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMTBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNikgIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDg4cHgpO1xyXG4gICAgICAgICAgICAgICAgYnV0dG9uICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZWFtc1RhYmxlICB7XHJcbiAgICA+IC5yb3ctY29udGFpbmVyICB7XHJcbiAgICAgICAgPiBkaXYgIHtcclxuICAgICAgICAgICAgLy8gbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoOTZweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikgIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDEwMHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMTAwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpICB7XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxNjBweCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4SW5saW5lT3ZlcnJpZGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNSkgIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDcwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDYpICB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgyMTJweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIHNtYWxsZXIgc2NyZWVucyB1cGRhdGVzXHJcbkBpbmNsdWRlIHJlc3BvbmQobWQpICB7XHJcblx0Ly8gbWFrZSB0aGUgbG9nbyBhIGxpdHRsZSBzbWFsbGVyXHJcblx0LmhlYWRlci1sb2dvICB7XHJcblx0XHRtYXJnaW46IDAgMTVweDtcclxuXHRcdGltZyAge1xyXG5cdFx0XHR3aWR0aDogMTAwJTsgLy8gZG9uJ3Qgd29ycnksIHRoZXJlJ3MgYWxyZWFkeSBhIG1heC13aWR0aCBhcHBsaWVkIHRvIHRoaXNcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIGhpZGUgdGhlIG5hdiBpY29ucyB0byBzYXZlIHNvbWUgc3BhY2VcclxuXHQuaGVhZGVyLWNvbnRlbnQgLndoaXRlLWZpZWxkID4gZGl2ID4gZGl2ICB7XHJcblx0XHRpICB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBmb3Igc2NyZWVuIHNpemVzIGFyb3VuZCA3NjhweCwgMiB0ZWFtIG1lbWJlcnMgcGVyIHJvdyBsb29rcyBiZXR0ZXIgdGhhbiAzXHJcblx0LmF0aGxldGUtZGFzaGJvYXJkIC5hdGhsZXRlLWRhc2hib2FyZC1jb250YWluZXIge1xyXG5cdFx0LmF0aGxldGUtaW5mby1ib3gsXHJcblx0XHQuYXRobGV0ZS1hZGQtYm94ICB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xyXG5cdFx0fVxyXG5cdFx0LmF0aGxldGUtaW5mby1ib3ggLmJpby1ib2R5IC5hdGhsZXRlLXByb2ZpbGUgLnByb2ZpbGUtcGljICB7XHJcblx0XHRcdG1heC1oZWlnaHQ6IG5vbmU7IC8vIG90aGVyd2lzZSBpdCB3aWxsIHN0cmV0Y2ggd2hlbiBtaXhlZCB3aXRoIHdpZHRoOiAxMDAlXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBhbGwgc2NyZWVucyB1cGRhdGVcclxuYm9keSAuYXRobGV0ZS1kYXNoYm9hcmQgLmF0aGxldGUtZGFzaGJvYXJkLWNvbnRhaW5lciAge1xyXG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTsgLy8gYmVjYXVzZSBpdCBjdXJyZW50bHkgaGFzIGEgbmVnYXRpdmUgbWFyZ2luIG9mIC0xMHB4IG9uIGJvdGggc2lkZXNcclxuXHJcblx0Ly8gbm8gbW9yZSBvZiBoYXJkLWNvZGluZyB0aGUgaGVpZ2h0cyBvZiB0aGUgdGVhbSBtZW1iZXIgYmxvY2tzXHJcblx0Ly8gYSB2ZXJ5IG5pY2UgZmVhdHVyZSBvZiBmbGV4Ym94IGlzIHRoYXQgaXQgY2FuIGJlIHVzZWQgdG8gY3JlYXRlXHJcblx0Ly8gZXF1YWwgaGVpZ2h0cyB0aGF0IGdyb3cvc2hyaW5rIGFzIG5lZWRlZFxyXG5cdEBpbmNsdWRlIGZsZXgtZGlzcGxheTtcclxuXHRAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XHJcblx0LmF0aGxldGUtaW5mby1ib3gsXHJcblx0LmF0aGxldGUtYWRkLWJveCAge1xyXG5cdFx0bWluLWhlaWdodDogMDtcclxuXHRcdG1heC1oZWlnaHQ6IG5vbmU7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBlbmRcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG59IH0gLy8gZW5kIHJlc3BvbmQoc20pXHJcbiIsIiRyZWQ6ICNjNDJhM2I7XHJcbiRibHVlOiAjOTc2OEVCO1xyXG4kZGFya19ibHVlOiAjMTEyNjRiO1xyXG4kZ3JleTogIzgwODA4MDtcclxuJGdyZWVuOiAjMjBiNzY5O1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiR5ZWxsb3c6ICNkOGI2MmY7XHJcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xyXG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xyXG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XHJcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XHJcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XHJcblxyXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XHJcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XHJcbiIsIlxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xyXG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XHJcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XHJcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XHJcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdygpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xyXG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcclxuICBoZWlnaHQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWU7XHJcbiAgd2lkdGg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1pbi13aWR0aDogMDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgbWluLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XHJcbn1cclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcclxuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcclxuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbi8vICRzbU1pbjogNzY4cHg7XHJcbiRzbU1heDogOTAwcHg7XHJcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGlmICRtZWRpYSA9PSBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4geHBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xyXG59XHJcbkBtaXhpbiB5cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWQ7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XHJcbn1cclxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tbGVmdDogJGdhcDtcclxuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XHJcbn1cclxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tdG9wOiAkZ2FwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XHJcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xyXG5cclxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xyXG4gID4gKiAge1xyXG4gICAgJjpmaXJzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcblxyXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuQGltcG9ydCBcIm1peGluczJcIjtcclxuXHJcblxyXG4uYXJyb3dUYWJzICB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICBAaW5jbHVkZSBncmlkeGdhcCgycHgpO1xyXG4gICAgPiBzcGFuICB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6YmVmb3JlICB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiOyAgICAgIFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTZweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoMTZweCA2cHgsICRibHVlLCBkb3duKTtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4gIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI0YyRjRGNTtcclxuICAgICAgICAgICAgY29sb3I6ICNBQkIwQjM7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgICAgICAgIHNwYW4gIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4OyAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICAgICAgICBzcGFuICB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmUgIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUgIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4gIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHByb2dyYW0gc2NoZWR1bGUgdGFibGVcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiBwcm9ncmFtU2NoZWR1bGVUYWJsZUF0dHJzKCRsZWZ0UHVsbCwgJGlubmVyU3BhY2luZykgIHsgIFxyXG4gICAgJHByb2dyYW1icmVha3BvaW50OiAkbGFyZ2VCcmVha3BvaW50ICsgJGxlZnRQdWxsICsgNDBweDtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7ICBcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHByb2dyYW1icmVha3BvaW50KSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGxlZnRQdWxsfSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRsZWZ0UHVsbCotMTtcclxuICAgIH1cclxuICAgIHRyICB7XHJcbiAgICAgICAgPiAqICB7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkbGVmdFB1bGw7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICsgKiAgeyAgICAgIFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMC83KjElKSAtICN7JGxlZnRQdWxsLzd9KTtcclxuICAgICAgICAgICAgICAgICsgKiAge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGlubmVyU3BhY2luZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICArIHRyICB7XHJcbiAgICAgICAgICAgID4gKiAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRpbm5lclNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGVhZCAge1xyXG4gICAgICAgIHRoICB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjQkRDMUM1O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRib2R5ICB7XHJcbiAgICAgICAgdGggIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgY29sb3I6ICM4NDg5OTA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9ICAgIFxyXG4gICAgfVxyXG59XHJcbi5wcm9ncmFtU2NoZWR1bGVUYWJsZSAge1xyXG4gICAgQGluY2x1ZGUgcHJvZ3JhbVNjaGVkdWxlVGFibGVBdHRycyg3MHB4LCA1cHgpO1xyXG59XHJcblxyXG5AbWl4aW4gYWN0aXZpdHlQaWxsR3JvdXBBdHRzKCRwaWxsR2FwKSAge1xyXG4gICAgJHBpbGxIZWlnaHQ6ICRwaWxsR2FwKjIvMztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6ICNGMkY0RjU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbjsgIFxyXG4gICAgaGVpZ2h0OiAxMTcuM3B4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAuYWN0aXZpdHlQaWxsICB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMyUgLSAjeyRwaWxsSGVpZ2h0fSk7XHJcbiAgICAgICAgKyAuYWN0aXZpdHlQaWxsICB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwaWxsR2FwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hZGRJY29uICB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBjb2xvcjogI0NERDNENzsgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVySWNvbig0MHB4KTtcclxuICAgIH0gIFxyXG59XHJcblxyXG4uYWN0aXZpdHlQaWxsR3JvdXAgIHtcclxuICAgIEBpbmNsdWRlIGFjdGl2aXR5UGlsbEdyb3VwQXR0cygzcHgpO1xyXG59XHJcbi5hY3Rpdml0eVBpbGwgIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmFjdGl2aXR5UGlsbC0tcHJvbXB0ICB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRTRFOUVDO1xyXG4gICAgY29sb3I6ICNCREMxQzU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5hY3Rpdml0eVBpbGwtLWFjdGl2ZSAge1xyXG4gICAgYmFja2dyb3VuZDogJGJsdWU7ICBcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgLmNsb3NlSWNvbiAge1xyXG4gICAgICAgIEBpbmNsdWRlIGFic0NlbnRlckljb25feSgxMHB4KTtcclxuICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH0gICBcclxufVxyXG5cclxuLmFjdGl2aXR5UGlsbEdyb3VwLS1lbXB0eSAge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLmFkZEljb24gIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gc2VsZWN0ICsgYWRkIHBpbGxcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgICBcclxuLnNlbGVjdEFkZFBpbGwgIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgQGluY2x1ZGUgZmxleC1yb3c7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgLnRsLWVudHJ5IC50bC1zZWxlY3QsXHJcbiAgICAudGwtZW50cnkgLnRsLXNlbGVjdC1pbnB1dCAuc2VsZWN0LXRvZ2dsZSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIH1cclxuICAgIGJ1dHRvbi5wcmltYXJ5ICB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICAgID4gKiAge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgKyAqICB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiRyZWQ6ICNjNDJhM2I7XHJcbiRibHVlOiAjOTc2OEVCO1xyXG4kZGFya19ibHVlOiAjMTEyNjRiO1xyXG4kZ3JleTogIzgwODA4MDtcclxuJGdyZWVuOiAjMjBiNzY5O1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiR5ZWxsb3c6ICNkOGI2MmY7XHJcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xyXG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xyXG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XHJcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XHJcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XHJcblxyXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XHJcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XHJcbiIsIlxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xyXG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XHJcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XHJcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XHJcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdygpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xyXG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcclxuICBoZWlnaHQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWU7XHJcbiAgd2lkdGg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1pbi13aWR0aDogMDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgbWluLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XHJcbn1cclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcclxuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcclxuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbi8vICRzbU1pbjogNzY4cHg7XHJcbiRzbU1heDogOTAwcHg7XHJcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGlmICRtZWRpYSA9PSBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4geHBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xyXG59XHJcbkBtaXhpbiB5cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWQ7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XHJcbn1cclxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tbGVmdDogJGdhcDtcclxuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XHJcbn1cclxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tdG9wOiAkZ2FwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XHJcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xyXG5cclxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xyXG4gID4gKiAge1xyXG4gICAgJjpmaXJzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcblxyXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgICBcclxuXHJcbkBtaXhpbiBldmVuLWNvbHMgIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdztcclxuICAgICYuY29tcGFjdCAge1xyXG4gICAgICAgID4gKiAge1xyXG4gICAgICAgICAgICArICogIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zcGFjZWQtb3V0ICB7XHJcbiAgICAgID4gKiAge1xyXG4gICAgICAgICAgKyAqICB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZGVmYXVsdC1zcGFjZWQgIHtcclxuICAgICAgPiAqICB7XHJcbiAgICAgICAgICArICogIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ib3R0b20tYWxpZ24gIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XHJcbiAgICB9XHJcbiAgICAmLmV2ZW4tY29scy0tc3RyaXBJbm5lck1hcmdpbnMgIHtcclxuICAgICAgPiAqICB7XHJcbiAgICAgICAgPiAqICB7XHJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICA+ICogIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIG5vdGU6ICBldmVyeXRoaW5nIGJlbG93IHRoaXMgaXMgbmV3XHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gdHJpYW5nbGVcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XHJcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xyXG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XHJcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xyXG4gICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgd2lkdGg6IDA7XHJcblxyXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcclxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcclxuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcclxuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xyXG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XHJcbiAgICBtYXJnaW46IDAgJGdhcCotMTtcclxuICAgID4gKiAge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBpbmxpbmUtZ3JpZC1iYXNlICB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gID4gKiAge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcclxuICBAaW5jbHVkZSB4bWFyZ2luKCRnYXAqLTEpO1xyXG4gID4gKiAge1xyXG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcclxuICBAaW5jbHVkZSB5bWFyZ2luKCRnYXAqLTEpO1xyXG4gID4gKiAge1xyXG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtZ3JpZC14eSgkZ2FwKSAge1xyXG4gIG1hcmdpbjogJGdhcCotMTtcclxuICA+ICogIHtcclxuICAgIG1hcmdpbjogJGdhcDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMyXCI7XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIHNlY3Rpb24gPiBhZGRpdGlvbmFsIGhlbHBlcnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XHJcblxyXG4vLyBmaWVsZCB3aWR0aHNcclxuLm9wZW5GaWVsZFdpZHRoLS1tYXgxMDAgIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7IC8vIG1ha2Ugc3VyZSBpdCBpcyBzdGlsbCBmbGV4aWJsZS4uLlxyXG59XHJcbi5vcGVuRmllbGRXaWR0aC0tc21hbGwgIHtcclxuXHR3aWR0aDogNTJweDtcclxufVxyXG4ub3BlbkZpZWxkV2lkdGgtLW1lZGl1bSAge1xyXG5cdHdpZHRoOiAxNDhweDtcclxufVxyXG5cclxuLm9wZW5GaWVsZFdpZHRoLS1ycGUgIHtcclxuXHR3aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi8vIGNlbGwgd2lkdGhzXHJcbi5jZWxsV2lkdGgtLXRyYWluaW5nTG9hZCAge1xyXG5cdHdpZHRoOiAxMzJweDtcclxufSBcclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHVuaXF1ZSBzdHlsZXNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XHJcblxyXG5cclxuLnNjb3JlTnVtICB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5vcGVuRmllbGQtLWNlbnRlcmVkICB7XHJcblx0aW5wdXQgIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbiR0bEZpbHRlcnMteGdhcDogMTVweDtcclxuJHRsRmlsdGVycy1YZWRnZUdhcDogMTVweDtcclxuXHJcbi50bEZpbHRlcnNIZWFkZXIgIHtcclxuXHRwYWRkaW5nOiAxNXB4ICR0bEZpbHRlcnMtWGVkZ2VHYXA7XHJcbn1cclxuXHJcbi50bEZpbHRlcnNIZWFkZXJNYWluICB7XHJcblx0QGluY2x1ZGUgZmxleC1yb3c7XHJcblx0PiAqICsgKiAge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAkdGxGaWx0ZXJzLXhnYXA7XHJcblx0fVxyXG59XHJcblxyXG4uZmxUYWJsZSAge1xyXG5cdHRyICB7XHJcblx0XHQ+ICogIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHQrICogIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6ICR0bEZpbHRlcnMteGdhcDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmZpcnN0LWNoaWxkICB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkdGxGaWx0ZXJzLVhlZGdlR2FwO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bGFzdC1jaGlsZCAge1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6ICR0bEZpbHRlcnMtWGVkZ2VHYXA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnByb2NjZXNzQXJyb3cgIHtcdFx0XHJcblx0XHRtYXJnaW4tcmlnaHQ6ICR0bEZpbHRlcnMteGdhcCotMTtcclxuXHR9XHJcbn1cclxuLmZsVGFibGVDb2xXaWR0aCAge1xyXG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcbkBpbmNsdWRlIHJlc3BvbmQobGcpICB7XHJcblx0LmZsVGFibGVDb2xXaWR0aC0tdGl0bGUgIHtcclxuXHRcdHdpZHRoOiAzMDBweDtcclxuXHR9XHJcblx0LmZsVGFibGVDb2xXaWR0aC0tc2Vzc2lvbiAge1xyXG5cdFx0d2lkdGg6IDMwMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmZsVGFibGVDb2xXaWR0aC0tZHVyYXRpb25UYXJnZXQgIHtcclxuXHR3aWR0aDogYXV0bztcclxufVxyXG5cclxuLnNtYWxsRmllbGRMYWJlbCAge1x0XHJcblx0cGFkZGluZzogMCAwIDdweDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Y29sb3I6ICM3NTc4N0I7XHJcbn1cclxuXHJcblxyXG4udGxGaWx0ZXJzSGVhZGVyU2lkZSAge1xyXG5cdEBpbmNsdWRlIGZsZXgtY29sdW1uO1xyXG5cdEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xyXG59XHJcblxyXG4ubnVtTmFtZSAge1xyXG5cdEBpbmNsdWRlIGZsZXgtcm93O1xyXG5cdGZvbnQtc2l6ZTogMThweDtcclxufVxyXG4ubnVtTmFtZV9fbnVtICB7XHJcblx0b3BhY2l0eTogMC40O1xyXG59XHJcbi5udW1OYW1lX19uYW1lICB7XHJcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xyXG59XHJcblxyXG4ubnVtTmFtZS0tbGlnaHQgIHtcclxuXHRjb2xvcjogIzc1Nzc3QTtcclxufVxyXG4kb3BlbkZpZWxkTWVkSGVpZ2h0OiAzOXB4O1xyXG4kb3BlbkZpZWxkVGFsbEhlaWdodDogNDZweDtcclxuLm9wZW5GaWVsZC0tbWVkaXVtICB7XHJcblx0aGVpZ2h0OiAkb3BlbkZpZWxkTWVkSGVpZ2h0O1xyXG59XHJcblxyXG4kc2VsZWN0QmFybGg6IDIxcHg7XHJcbiRzZWxlY3RCYXJ5cGFkOiAoJG9wZW5GaWVsZE1lZEhlaWdodCAtICRzZWxlY3RCYXJsaCkvMjtcclxuJHNlbGVjdEJhcnlwYWRCaWc6ICgkb3BlbkZpZWxkVGFsbEhlaWdodCAtICRzZWxlY3RCYXJsaCkvMjtcclxuLnNlbGVjdEJhciAge1xyXG5cdGJhY2tncm91bmQ6ICM0MUJBRUM7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiAjeyRzZWxlY3RCYXJ5cGFkfSAxNXB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAkc2VsZWN0QmFybGg7XHJcblx0Ji50YWxsICB7XHJcblx0XHRwYWRkaW5nOiAkc2VsZWN0QmFyeXBhZEJpZyAxNXB4O1xyXG5cdH1cclxuXHRpICB7XHJcblx0XHRkaXNwbGF5OiBub25lOyAvLyBvbmx5IHNob3cgdGhlIGNoZWNrbWFyayBpY29uIHdoZW4gXCJpc1NlbGVjdGVkXCIgY2xhc3MgaXMgcHJlc2VudC4uLi5cclxuXHRcdHBhZGRpbmctbGVmdDogNXB4O1xyXG5cdFx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdH1cclxuXHQmLmlzU2VsZWN0ZWQgIHtcclxuXHRcdGJhY2tncm91bmQ6ICNGNEY0RjQ7XHJcblx0XHRjb2xvcjogI0M3Q0JDRTtcclxuXHRcdGkgIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uc3VibWVudV9fbnVtVGV4dFdyYXAgIHtcclxuXHRAaW5jbHVkZSBmbGV4LXJvdztcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0Lm51bSAge1xyXG5cdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Y29sb3I6ICM2QzZENkM7XHJcblx0XHR3aWR0aDogMTVweDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcclxuXHR9XHJcblx0LnRleHQgIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4uY29udGVudFdpdGhQcm9jZXNzQXJyb3dXcmFwICB7XHJcblx0QGluY2x1ZGUgZmxleC1yb3c7XHJcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG5cdD4gKjpmaXJzdC1jaGlsZCAge1xyXG5cdFx0QGluY2x1ZGUgZmxleCgxKTtcclxuXHR9XHJcblx0LnByb2NjZXNzQXJyb3cgIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0Y29sb3I6ICNFRkYxRjI7XHJcblx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRAaW5jbHVkZSByZXNwb25kKGxnKSAge1xyXG5cdFx0XHR3aWR0aDogMTAwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5vcGVuRmllbGRTZWxlY3RfX3RyaWdnZXIgIHtcclxuXHQuaWNvbi10YXJnZXQgIHtcclxuXHRcdGZvbnQtc2l6ZTogMTlweDtcclxuXHRcdGNvbG9yOiAjQUFBQkFGO1xyXG5cdFx0cGFkZGluZy1yaWdodDogOHB4O1xyXG5cdH1cdFxyXG59XHJcblxyXG5cclxuLlRMLUR1cmF0aW9uIHtcclxuICBpbnB1dDppbnZhbGlkIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQzAwMDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZDQ0NDO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5iYWNrVG9MaW5rICB7XHJcblx0bWFyZ2luOiAgMCAwIDIwcHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGNvbG9yOiAjNDFCQUVDO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXI7XHJcblxyXG5cdGkgIHtcclxuXHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHQudGV4dCAge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdHBhZGRpbmctbGVmdDogMTBweDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4uY29tcGFjdEZvcm1TdGFjayAge1xyXG5cdD4gKiAge1xyXG5cdFx0KyAqICB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gaW5saW5lIG92ZXJsYXlcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XHJcblxyXG4uaW5saW5lT3ZlcmxheVdyYXAgIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5pbmxpbmVPdmVybGF5ICB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDEwO1x0XHJcblx0dG9wOiBjYWxjKDEwMCUgLSAxNXB4KTtcclxuXHRsZWZ0OiA1MCU7XHRcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdHdpZHRoOiAzNzdweDtcclxuXHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI0VFRUVFRTtcclxuXHRib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgjMDAwMDAwLCAwLjEzKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuLmlubGluZU92ZXJsYXlfX3RyaWFuZ2xlICB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogM3B4O1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XHJcblx0d2lkdGg6IDI5cHg7XHJcblx0aGVpZ2h0OiAxN3B4O1xyXG5cdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvb3ZlcmxheS10cmlhbmdsZS5wbmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxufVxyXG4uaW5saW5lT3ZlcmxheV9fY2xvc2UgIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAxNXB4O1xyXG5cdHJpZ2h0OiAxNXB4O1xyXG5cdGZvbnQtc2l6ZTogMTdweDtcclxuXHRjb2xvcjogJGJsdWU7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5pbmxpbmVPdmVybGF5X190aXRsZSAge1xyXG5cdG1hcmdpbjogMCAwIDIwcHg7XHJcblx0cGFkZGluZzogMCAzMHB4O1xyXG5cdGZvbnQtc2l6ZTogMThweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiAjNzU3ODdCO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gZGxcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XHJcbi5jaGFydC1kYXRlLWhlYWRlciArIC5kbFJvdyAge1xyXG5cdG1hcmdpbjogMTBweCAwIDIwcHg7XHJcbn1cclxuLmRsUm93ICB7XHJcblx0QGluY2x1ZGUgZmxleC1yb3c7XHJcblx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XHJcblx0KyAuY2hhcnQtZGF0ZS1oZWFkZXIgIHtcclxuXHRcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0fVxyXG5cdCsgLmRsUm93ICB7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmRsSXRlbSAge1xyXG5cdFxyXG59XHJcbi5kbEl0ZW1fX2xhYmVsICB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogIzc1Nzc3QTtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5kbEl0ZW1fX251bSAge1xyXG5cdGZvbnQtd2VpZ2h0OiAxMDA7XHJcblx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcclxuXHQuc2NvcmVDaGFuZ2VJY29uICB7ICAgXHRcclxuXHRcdGZvbnQtc2l6ZTogN3B4O1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDhweDtcclxuXHR9XHJcbn1cclxuXHJcbi5tZW51LXBvaW50ZXIge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLndlZWtseVNjb3JlQ2hhbmdlSWNvbiAgeyAgIFx0XHJcblx0Zm9udC1zaXplOiA3cHg7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XHJcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XHJcbn1cclxuXHJcbi5wcm9maWxlVExDaGFuZ2VJY29uICB7ICAgXHRcclxuXHRmb250LXNpemU6IDEwcHg7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxcHg7XHJcblx0cGFkZGluZy1ib3R0b206IDNweDtcclxufSIsIiRyZWQ6ICNjNDJhM2I7XHJcbiRibHVlOiAjOTc2OEVCO1xyXG4kZGFya19ibHVlOiAjMTEyNjRiO1xyXG4kZ3JleTogIzgwODA4MDtcclxuJGdyZWVuOiAjMjBiNzY5O1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiR5ZWxsb3c6ICNkOGI2MmY7XHJcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xyXG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xyXG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XHJcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XHJcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XHJcblxyXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XHJcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xyXG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XHJcbiIsIlxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xyXG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xyXG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XHJcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XHJcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XHJcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY29sdW1uKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcclxuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xyXG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LXJvdygpIHtcclxuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xyXG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XHJcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XHJcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcclxuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xyXG59XHJcblxyXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xyXG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcclxuICBoZWlnaHQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XHJcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWU7XHJcbiAgd2lkdGg6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xyXG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1pbi13aWR0aDogMDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgbWluLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcclxuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xyXG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XHJcbn1cclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcclxuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcclxuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcclxuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XHJcbi8vICRzbU1pbjogNzY4cHg7XHJcbiRzbU1heDogOTAwcHg7XHJcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGlmICRtZWRpYSA9PSBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4geHBhZCgkcGFkKSAge1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xyXG59XHJcbkBtaXhpbiB5cGFkKCRwYWQpICB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWQ7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XHJcbn1cclxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tbGVmdDogJGdhcDtcclxuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XHJcbn1cclxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcclxuICBtYXJnaW4tdG9wOiAkZ2FwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoLy0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGgvLTI7XHJcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xyXG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XHJcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcclxuICBmb250LXNpemU6ICRoO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XHJcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xyXG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xyXG5cclxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xyXG4gID4gKiAge1xyXG4gICAgJjpmaXJzdC1jaGlsZCAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQgIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcblxyXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgICBcclxuXHJcbkBtaXhpbiBldmVuLWNvbHMgIHtcclxuICBAaW5jbHVkZSBmbGV4LXJvdztcclxuICAgICYuY29tcGFjdCAge1xyXG4gICAgICAgID4gKiAge1xyXG4gICAgICAgICAgICArICogIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zcGFjZWQtb3V0ICB7XHJcbiAgICAgID4gKiAge1xyXG4gICAgICAgICAgKyAqICB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZGVmYXVsdC1zcGFjZWQgIHtcclxuICAgICAgPiAqICB7XHJcbiAgICAgICAgICArICogIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ib3R0b20tYWxpZ24gIHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XHJcbiAgICB9XHJcbiAgICAmLmV2ZW4tY29scy0tc3RyaXBJbm5lck1hcmdpbnMgIHtcclxuICAgICAgPiAqICB7XHJcbiAgICAgICAgPiAqICB7XHJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkICB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6bGFzdC1jaGlsZCAge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICA+ICogIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIG5vdGU6ICBldmVyeXRoaW5nIGJlbG93IHRoaXMgaXMgbmV3XHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcclxuXHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBzZWN0aW9uID4gdHJpYW5nbGVcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXHJcbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XHJcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xyXG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XHJcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xyXG4gICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgd2lkdGg6IDA7XHJcblxyXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcclxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcclxuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcclxuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xyXG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XHJcbiAgICBtYXJnaW46IDAgJGdhcCotMTtcclxuICAgID4gKiAge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBpbmxpbmUtZ3JpZC1iYXNlICB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gID4gKiAge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcclxuICBAaW5jbHVkZSB4bWFyZ2luKCRnYXAqLTEpO1xyXG4gID4gKiAge1xyXG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcclxuICBAaW5jbHVkZSB5bWFyZ2luKCRnYXAqLTEpO1xyXG4gID4gKiAge1xyXG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtZ3JpZC14eSgkZ2FwKSAge1xyXG4gIG1hcmdpbjogJGdhcCotMTtcclxuICA+ICogIHtcclxuICAgIG1hcmdpbjogJGdhcDtcclxuICB9XHJcbn1cclxuIiwiXHJcbi5yZXZpZXctY29udGFpbmVyIHtcclxuICAgIC5yZXZpZXctdGFicyArIGRpdiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwYWY7XHJcbiAgICB9XHJcblxyXG4gICAgLnJldmlldy1mcmFtZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDsgXHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgXHJcbiAgICAgICAgZmxleDogMC45NTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2MwYzBjMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICYuZXJyb3Ige1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMjIyO1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBpLmZhLmZhLXRyYXNoIHtcclxuICAgICAgICAgICAgY29sb3I6ICNjMGMwYzA7XHJcbiAgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzk5MDAwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMThweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICMwYWY7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYmM7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMGFmO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWxbZm9yKj1cIktleXBvaW50c1wiXSxcclxuICAgIGxhYmVsW2Zvcio9XCJSZXBzXCJdLFxyXG4gICAgbGFiZWxbZm9yKj1cIkNvbXBlbnNhdGlvbnNcIl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgMCAtMXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiAjYWJjO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNzg5O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsW2Zvcio9XCJLZXlwb2ludHNcIl06YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMTkyJztcclxuICAgIH1cclxuICAgIGxhYmVsW2Zvcio9XCJSZXBzXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjBjYic7XHJcbiAgICB9XHJcbiAgICBsYWJlbFtmb3IqPVwiQ29tcGVuc2F0aW9uc1wiXTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxZmUnO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb21wcyB7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2NvcmVfZ3JlZW47XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzY29yZV9ncmVlbjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgJi5mb3VuZCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2NvcmVfcmVkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2NvcmVfcmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ0dBLEFBQUEsQ0FBQyxFQUFFLENBQUMsQUFBQSxPQUFPLEVBQUUsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFRXlCbkIsa0JBQWtCLEVGeEJFLE9BQU87RUV5QnhCLGVBQWUsRUZ6QkUsT0FBTztFRTBCbkIsVUFBVSxFRjFCRSxPQUFPO0VFOEI3QixxQkFBcUIsRUY3QkUsSUFBSTtFRThCdEIsZ0JBQWdCLEVGOUJFLElBQUk7RUUrQnRCLGdCQUFnQixFRi9CRSxJQUFJO0VFZ0NyQixlQUFlLEVGaENFLElBQUk7RUVpQ2pCLFdBQVcsRUZqQ0UsSUFBSSxHQUMxQjs7QUFFRCxBQUFBLElBQUksQ0FBQztFRW9CSCxrQkFBa0IsRUZuQkUsVUFBVTtFRW9CM0IsZUFBZSxFRnBCRSxVQUFVO0VFcUJ0QixVQUFVLEVGckJFLFVBQVU7RUFDOUIsV0FBVyxFQUFFLDhDQUE4QztFQUMzRCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsOENBQThDO0VBQzNELE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQyxHQXNDWDtFQTFDRCxBQU1FLElBTkUsQUFNRCxTQUFTLEFBQUEsTUFBTSxDQUFDO0lBQ2YsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsS0FBSztJQUNmLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBQ1QsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixnQkFBZ0IsRUFBRSxrQkFBaUIsR0FDcEM7RUFmSCxBQWlCRSxJQWpCRSxDQWlCRixnQkFB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 */