@charset "UTF-8";
/*$icon-font-path:          "../fonts/";
$icon-font-name:*/
@font-face {
  font-family: "Glyphicons Halflings";
  src: url("/Fonts/FontIcon.eot");
  src: url("/Fonts/FontIcon.eot?#iefix") format("embedded-opentype"), url("/Fonts/FontIcon.woff") format("woff"), url("/Fonts/FontIcon.ttf") format("truetype");
  font-weight: bold;
  font-style: normal; }

@font-face {
  font-family: "SDF";
  src: url("/Fonts/IRANSansLight.eot");
  src: url("/Fonts/IRANSansLight.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansLight.woff") format("woff"), url("/Fonts/IRANSansLight.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "SDF";
  src: url("/Fonts/IRANSansBold.eot");
  src: url("/Fonts/IRANSansBold.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansBold.woff") format("woff"), url("/Fonts/IRANSansBold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal; }

@font-face {
  font-family: "SDF Subsidiary";
  src: url("/Fonts/IranRegular.eot");
  src: url("/Fonts/IranRegular.eot?#iefix") format("embedded-opentype"), url("/Fonts/IranRegular.woff") format("woff"), url("/Fonts/IranRegular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "SDF Subsidiary";
  src: url("/Fonts/IranBold.eot");
  src: url("/Fonts/IranBold.eot?#iefix") format("embedded-opentype"), url("/Fonts/IranBold.woff") format("woff"), url("/Fonts/IranBold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal; }

@font-face {
  font-family: "SDFFaNum";
  src: url("/Fonts/IRANSansFaNum.eot");
  src: url("/Fonts/IRANSansFaNum.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansFaNum.woff") format("woff"), url("/Fonts/IRANSansFaNum.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "SDFFaNum";
  src: url("/Fonts/IRANSansBoldFaNum.eot");
  src: url("/Fonts/IRANSansBoldFaNum.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansBoldFaNum.woff") format("woff"), url("/Fonts/IRANSansBoldFaNum.ttf") format("truetype");
  font-weight: bold;
  font-style: normal; }

/***************************************************
Helper Classes                   
***************************************************/

.noRowMargin,.noInnerRowMargin .row {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.rowMargin {
  margin-right: -15px !important;
  margin-left: -15px !important; }

.ultraSamllPadding {
  padding-top: 30px;
  padding-bottom: 30px; }

.extraSamllPadding {
  padding-top: 45px;
  padding-bottom: 45px; }

.mediumPadding {
  padding-top: 60px;
  padding-bottom: 60px; }

.largePadding {
  padding-top: 90px;
  padding-bottom: 90px; }

.extraLargePadding {
  padding-top: 120px;
  padding-bottom: 120px; }

.ultraSamllMargin {
  margin-top: 30px;
  margin-bottom: 30px; }

.extraSamllMargin {
  margin-top: 45px;
  margin-bottom: 45px; }

.mediumMargin {
  margin-top: 60px;
  margin-bottom: 60px; }

.largeMargin {
  margin-top: 90px;
  margin-bottom: 90px; }

.extraLargeMargin {
  margin-top: 120px;
  margin-bottom: 120px; }

.ignorePaddingTop {
  padding-top: 0 !important; }

.ignorePaddingBottom {
  padding-bottom: 0 !important; }

.ignoreMarginTop {
  margin-top: 0 !important; }

.ignoreMarginBottom {
  margin-bottom: 0 !important; }

/***************************************************
Basic Style                   
***************************************************/
html, #aspnetForm {
  height: 100%; }

body {
  direction: rtl;
  font-size: 14px;
  background: #fff;
  line-height: 1.5; }

.popupBody {
  margin: 0;
  height: 100%;
  direction: rtl;
  background-image: none;
  background: #f3f3f3; }

input[type="radio"], input[type="checkbox"] {
  line-height: normal; }

.flag .RadComboBox_SAMPA {
  height: 24px !important;
  padding: 0 2px !important; }

/******************** Editor Style ********************/
textarea.reTextArea {
  direction: ltr;
  padding: 10px; }

/************ Start Of Heading Style *************/
h1, .h1 {
  font-size: 22px;
  color: #5a6575; }

h1, .h1,h2, .h2 {
  line-height: 1.5 !important; }

h2, .h2 {
  font-size: 19px;
  color: #37648a; }

h3, .h3 {
  font-size: 18px;
  color: #0964d5; }

h3, .h3,h4, .h4 {
  line-height: 1.5 !important; }

h4, .h4 {
  font-size: 16px;
  color: #cb750f; }

h5, .h5 {
  font-size: 15px;
  color: #f50303; }

h5, .h5,h6, .h6 {
  line-height: 1.5 !important; }

h6, .h6 {
  font-size: 13px;
  color: #9c9b9b; }

/************ End Of Heading Style *************/
/************ Start Of Link Style *************/
.tools {
  color: #5a6575;
  font-size: .9em; }

.more {
  background-color: #26499A;
  border: #4D5154 1px solid;
  color: #fff;
  height: 18px;
  line-height: 15px;
  padding-right: 3px;
  padding-left: 3px; }

.briefDescription {
  line-height: 18px;
  color: #255995; }

.briefDescription,a {
  text-decoration: none; }

a {
  color: #0964d5; }
  a:hover {
    color: #06428c;
    text-decoration: none;
    cursor: pointer; }
  a.content:visited, a.content:link, a.content:active {
    color: #5a6575;
    text-decoration: none; }
  a.content:hover {
    color: #39404a; }
  a.tools:link, a.tools:visited, a.tools:active {
    color: #5a6575;
    text-decoration: none; }
  a.tools:hover {
    color: #f50303;
    cursor: pointer; }
  a.more:link, a.more:visited, a.more:active {
    color: #fff; }
  a.more:hover {
    color: #b8c4e0; }
  a.briefDescription:link, a.briefDescription:visited, a.briefDescription:active {
    color: #255995;
    text-decoration: none; }
  a.briefDescription:hover {
    color: #255995;
    border-bottom: 1px dotted #222; }

/************ End Of Link Style *************/
.lead {
  font-size: 13px !important;
  line-height: 1.5 !important; }

.boxLastUpdate {
  text-align: left;
  color: #aaa;
  padding-top: 8px; }

.content, .label {
  color: #000;
  text-decoration: none; }

/************ Start Of General Style *************/
.shortcut:link, .shortcut:visited, .shortcut:active {
  color: #234BA3;
  text-decoration: none; }

.shortcut:hover {
  color: #DD4B56;
  border-bottom: dotted 1px #DD4B56; }

.caption {
  font-weight: bold; }

.tableBorder {
  border: 1px solid #ddd;
  background-color: #e3e3e3; }

.table-no-border.table-bordered.table {
  border: none !important; }

.table-no-border.table-bordered.table > tbody > tr > td, .table-no-border.table-bordered.table > tbody > tr > th, .table-no-border.table-bordered.table > tfoot > tr > td, .table-no-border.table-bordered.table > tfoot > tr > th, .table-no-border.table-bordered.table > thead > tr > td, .table-no-border.table-bordered.table > thead > tr > th {
  border: 0 !important; }

.schemaTable {
  display: table;
  margin: 10px auto; }

.box {
  width: 175px;
  border: 1px solid #97AFC1; }

.dottedTable {
  text-decoration: none;
  border: 1px dotted #c0c0c0;
  border-collapse: separate; }

.dottedVLine {
  padding: 0 5px; }

.dottedHLine {
  padding: 5px 0 10px 0; }

.hint {
  color: #4D5154;
  text-align: justify; }

.multiPage {
  min-height: 700px; }

* html .multiPage {
  height: 700px; }

.searchTable {
  border: #aaa 1px solid;
  background-color: #f3f3f3; }

.imageBorder {
  border: solid 1px #d1d1d1; }

.generalTable {
  border: #aaa 1px dotted;
  background-color: #f3f3f3; }

.DockContainer {
  margin-top: 10px;
  margin-bottom: 10px;
  height: auto !important;
  direction: rtl; }

.RadDockZone {
  border-width: 0 !important; }

.blackLabel {
  color: #000; }

.goldLabel {
  color: #cfb456; }

.whiteLabel {
  color: #444d54; }

.blueLabel {
  color: #90b9d3; }

.paymentTable {
  border: #000 1px solid;
  background-color: #f1f1f1; }

.KimberlyGrid {
  border: 1px solid #768CA5;
  background: white;
  color: black;
  border-collapse: separate;
  border-spacing: 0; }

.tableHeaderKimberly td {
  border: 1px solid;
  border-top-width: 0;
  background: 0 -2300px repeat-x #718CA1;
  border-color: #98ACBF #728BA1 #3D556C #455F77;
  color: White;
  border-collapse: separate;
  border-spacing: 1px; }

.tableItemKimberly {
  background: url(/Components/Store/Resources/Images/FA/Cart/White/item-bg.png) repeat-x center bottom;
  background-color: white;
  color: #607280;
  text-indent: 0; }
  .tableItemKimberly td {
    border-style: solid;
    border-width: 0 1px 1px;
    border-color: white white white #DAE2E8;
    border-collapse: separate;
    border-spacing: 1px; }

.tableAlternateItemKimberly {
  background-repeat: repeat-x;
  background-position: center bottom;
  background-color: #DAE2E8;
  color: #607280;
  text-indent: 0; }
  .tableAlternateItemKimberly td {
    border-style: solid;
    border-width: 0 1px 1px;
    border-color: #DAE2E8;
    border-collapse: separate;
    border-spacing: 1px; }

.roundedContainer {
  margin: 0 auto 10px auto;
  padding: 10px;
  border: 1px solid #aaa;
  border-radius: 5px;
  box-shadow: 0 1px 2px #aaaaaa;
  background-color: #f3f3f3; }

.autoHeight {
  height: auto !important; }

.absent {
  display: none; }

.table-striped > tbody > tr:nth-child(odd), .table-striped > tbody > tr:hover {
  background: #f2f2f2 !important; }

.debug {
  direction: ltr;
  color: red; }

/************ Start Of General Module *************/
.radio-list .radio {
  padding-right: 20px; }
  .radio-list .radio label {
    padding-right: 0; }

.checkbox-list .checkbox {
  padding-right: 10px; }
  .checkbox-list .checkbox label {
    padding-right: 0px; }

.spacer {
  height: 10px;
  display: block; }

.btn-normal {
  width: 120px; }

.btn-large {
  width: 180px; }

.btns-box {
  margin-bottom: 16px; }

dt, dd {
  line-height: 1.7; }

.panel-light .panel-heading {
  background-image: linear-gradient(to bottom, #f5f5f5 0, #fff 100%);
  background-repeat: repeat-x; }

.panel-simple {
  border-color: #ddd;
  margin: 20px 0;
  padding: 10px; }
  .panel-simple .panel-heading {
    border-bottom: 3px solid #eaedf4;
    padding: 0 15px;
    font-weight: bold; }
    .panel-simple .panel-heading li {
      padding: 0 15px; }
  .panel-simple .panel-body .item {
    border-bottom: 1px solid #eaedf4;
    padding: 15px 5px; }
    .panel-simple .panel-body .item li {
      margin: .2em 0; }
    .panel-simple .panel-body .item:first-child {
      padding-top: 0; }
    .panel-simple .panel-body .item:last-child {
      border-bottom: none;
      padding-bottom: 0; }

.panel-search {
  margin-bottom: 10px !important; }
  .panel-search > .panel-heading {
    background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);
    background-repeat: repeat-x; }
    .panel-search > .panel-heading span:before {
      content: "\e862";
      font: normal normal 0.8em/1 "Glyphicons Halflings";
      color: #000;
      padding: 5px; }
    .panel-search > .panel-heading.collapsed span:before {
      content: "\e863"; }
    .panel-search > .panel-heading h2 {
      font: normal normal 1.2em/1.2 "SDF";
      margin: 0; }
  .panel-search > .panel-body {
    background: #fbfbfb;
    border-right: 1px solid #ececec;
    border-left: 1px solid #ececec;
    border-radius: 0;
    margin: 0;
    padding: 8px 10px; }

/***************************************************
Effect                   
***************************************************/
.effectParent {
  overflow: hidden; }

/************ initially hide animatable objects *************/
.animatable {
  visibility: hidden;
  animation-play-state: paused; }

/************ show objects being animated *************/
.animated {
  visibility: visible;
  animation-fill-mode: both;
  animation-duration: 1s; }

/************ CSS Animations *************/
/************ Start Of Bounce *************/
@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0); }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0); }
  90% {
    transform: translate3d(0, -4px, 0); } }

.Bounce {
  animation-name: bounce;
  transform-origin: center bottom; }

/************ End Of Bounce *************/
/************ Start Of Flash *************/
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.Flash {
  animation-name: flash; }

/************ End Of Flash *************/
/************ Start Of Pulse *************/
@keyframes pulse {
  0% {
    transform: scale3d(1, 1, 1); }
  50% {
    transform: scale3d(1.05, 1.05, 1.05); }
  100% {
    transform: scale3d(1, 1, 1); } }

.Pulse {
  animation-name: pulse; }

/************ End Of Pulse *************/
/************ Start Of RubberBand *************/
@keyframes rubberBand {
  0% {
    transform: scale3d(1, 1, 1); }
  30% {
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    transform: scale3d(1.05, 0.95, 1); }
  100% {
    transform: scale3d(1, 1, 1); } }

.RubberBand {
  animation-name: rubberBand; }

/************ End Of RubberBand *************/
/************ Start Of Shake *************/
@keyframes shake {
  0%, 100% {
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0); } }

.Shake {
  animation-name: shake; }

/************ End Of Shake *************/
/************ Start Of Swing *************/
@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    transform: rotate3d(0, 0, 1, -5deg); }
  100% {
    transform: rotate3d(0, 0, 1, 0deg); } }

.Swing {
  transform-origin: top center;
  animation-name: swing; }

/************ End Of Swing *************/
/************ Start Of Tada *************/
@keyframes tada {
  0% {
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  100% {
    transform: scale3d(1, 1, 1); } }

.Tada {
  animation-name: tada; }

/************ End Of Tada *************/
/************ Start Of Wobble *************/
@keyframes wobble {
  0% {
    transform: none; }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  100% {
    transform: none; } }

.Wobble {
  animation-name: wobble; }

/************ End Of Wobble *************/
/************ Start Of Jello *************/
@keyframes jello {
  11.1% {
    transform: none; }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    transform: skewX(-0.19531deg) skewY(-0.19531deg); }
  100% {
    transform: none; } }

.Jello {
  animation-name: jello;
  transform-origin: center; }

/************ End Of Jello *************/
/************ Start Of BounceIn *************/
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1); } }

.BounceIn {
  animation-name: bounceIn; }

/************ End Of BounceIn *************/
/************ Start Of BounceInDown *************/
@keyframes bounceInDown {
  0%, 60%, 75%, 90%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0); }
  75% {
    transform: translate3d(0, -10px, 0); }
  90% {
    transform: translate3d(0, 5px, 0); }
  100% {
    transform: none; } }

.BounceInDown {
  animation-name: bounceInDown; }

/************ End Of BounceInDown *************/
/************ Start Of BounceInLeft *************/
@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0); }
  75% {
    transform: translate3d(-10px, 0, 0); }
  90% {
    transform: translate3d(5px, 0, 0); }
  100% {
    transform: none; } }

.BounceInLeft {
  animation-name: bounceInLeft; }

/************ End Of BounceInLeft *************/
/************ Start Of BounceInRight *************/
@keyframes bounceInRight {
  0%, 60%, 75%, 90%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0); }
  75% {
    transform: translate3d(10px, 0, 0); }
  90% {
    transform: translate3d(-5px, 0, 0); }
  100% {
    transform: none; } }

.BounceInRight {
  animation-name: bounceInRight; }

/************ End Of BounceInRight *************/
/************ Start Of BounceInUp *************/
@keyframes bounceInUp {
  0%, 60%, 75%, 90%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0); }
  75% {
    transform: translate3d(0, 10px, 0); }
  90% {
    transform: translate3d(0, -5px, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

.BounceInUp {
  animation-name: bounceInUp; }

/************ End Of BounceInUp *************/
/************ Start Of FadeIn *************/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.FadeIn {
  animation-name: fadeIn; }

/************ End Of FadeIn *************/
/************ Start Of FadeInDown *************/
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -100%, 0); }
  100% {
    opacity: 1;
    transform: none; } }

.FadeInDown {
  animation-name: fadeInDown; }

/************ End Of FadeInDown *************/
/************ Start Of FadeInDownBig *************/
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translate3d(0, -2000px, 0); }
  100% {
    opacity: 1;
    transform: none; } }

.FadeInDownBig {
  animation-name: fadeInDownBig; }

/************ End Of FadeInDownBig *************/
/************ Start Of FadeInLeft *************/
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0); }
  100% {
    opacity: 1;
    transform: none; } }

.FadeInLeft {
  animation-name: fadeInLeft; }

/************ End Of FadeInLeft *************/
/************ Start Of FadeInLeftBig *************/
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0); }
  100% {
    opacity: 1;
    transform: none; } }

.FadeInLeftBig {
  animation-name: fadeInLeftBig; }

/************ End Of FadeInLeftBig *************/
/************ Start Of FadeInRight *************/
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0); }
  100% {
    opacity: 1;
    transform: none; } }

.FadeInRight {
  animation-name: fadeInRight; }

/************ End Of FadeInRight *************/
/************ Start Of FadeInRightBig *************/
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translate3d(2000px, 0, 0); }
  100% {
    opacity: 1;
    transform: none; } }

.FadeInRightBig {
  animation-name: fadeInRightBig; }

/************ End Of FadeInRightBig *************/
/************ Start Of FadeInUp *************/
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0); }
  100% {
    opacity: 1;
    transform: none; } }

.FadeInUp {
  animation-name: fadeInUp; }

/************ End Of FadeInUp *************/
/************ Start Of FadeInUpBig *************/
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translate3d(0, 2000px, 0); }
  100% {
    opacity: 1;
    transform: none; } }

.FadeInUpBig {
  animation-name: fadeInUpBig; }

/************ End Of FadeInUpBig *************/
/************ Start Of Flip *************/
@keyframes flip {
  0% {
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out; }
  40% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out; }
  50% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in; }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    animation-timing-function: ease-in; }
  100% {
    transform: perspective(400px);
    animation-timing-function: ease-in; } }

.Flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation-name: flip; }

/************ End Of Flip *************/
/************ Start Of FlipInX *************/
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in; }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  100% {
    transform: perspective(400px); } }

.FlipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInX; }

/************ End Of FlipInX *************/
/************ Start Of FlipInY *************/
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in; }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  100% {
    transform: perspective(400px); } }

.FlipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInY; }

/************ End Of FlipInY *************/
/************ Start Of FlipOutX *************/
@keyframes flipOutX {
  0% {
    transform: perspective(400px); }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  100% {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.FlipOutX {
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

/************ End Of FlipOutX *************/
/************ Start Of FlipOutY *************/
@keyframes flipOutY {
  0% {
    transform: perspective(400px); }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  100% {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.FlipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipOutY; }

/************ End Of FlipOutY *************/
/************ Start Of LightSpeedIn *************/
@keyframes lightSpeedIn {
  0% {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    transform: skewX(-5deg);
    opacity: 1; }
  100% {
    transform: none;
    opacity: 1; } }

.LightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out; }

/************ End Of LightSpeedIn *************/
/************ Start Of LightSpeedOut *************/
@keyframes lightSpeedOut {
  0% {
    opacity: 1; }
  100% {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.LightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in; }

/************ End Of LightSpeedOut *************/
/************ Start Of RotateIn *************/
@keyframes rotateIn {
  0% {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  100% {
    transform-origin: center;
    transform: none;
    opacity: 1; } }

.RotateIn {
  animation-name: rotateIn; }

/************ End Of RotateIn *************/
/************ Start Of RotateInDownLeft *************/
@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  100% {
    transform-origin: left bottom;
    transform: none;
    opacity: 1; } }

.RotateInDownLeft {
  animation-name: rotateInDownLeft; }

/************ End Of RotateInDownLeft *************/
/************ Start Of RotateInDownRight *************/
@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  100% {
    transform-origin: right bottom;
    transform: none;
    opacity: 1; } }

.RotateInDownRight {
  animation-name: rotateInDownRight; }

/************ End Of RotateInDownRight *************/
/************ Start Of RotateInUpLeft *************/
@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  100% {
    transform-origin: left bottom;
    transform: none;
    opacity: 1; } }

.RotateInUpLeft {
  animation-name: rotateInUpLeft; }

/************ End Of RotateInUpLeft *************/
/************ Start Of RotateInUpRight *************/
@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  100% {
    transform-origin: right bottom;
    transform: none;
    opacity: 1; } }

.RotateInUpRight {
  animation-name: rotateInUpRight; }

/************ End Of RotateInUpRight *************/
/************ Start Of Hinge *************/
@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  100% {
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.Hinge {
  animation-name: hinge; }

/************ End Of Hinge *************/
/************ Start Of RollIn *************/
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  100% {
    opacity: 1;
    transform: none; } }

.RollIn {
  animation-name: rollIn; }

/************ End Of RollIn *************/
/************ Start Of RollOut *************/
@keyframes rollOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.RollOut {
  animation-name: rollOut; }

/************ End Of RollOut *************/
/************ Start Of ZoomIn *************/
@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.ZoomIn {
  animation-name: zoomIn; }

/************ End Of ZoomIn *************/
/************ Start Of ZoomInDown *************/
@keyframes zoomInDown {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.ZoomInDown {
  animation-name: zoomInDown; }

/************ End Of ZoomInDown *************/
/************ Start Of ZoomInLeft *************/
@keyframes zoomInLeft {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.ZoomInLeft {
  animation-name: zoomInLeft; }

/************ End Of ZoomInLeft *************/
/************ Start Of ZoomInRight *************/
@keyframes zoomInRight {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.ZoomInRight {
  animation-name: zoomInRight; }

/************ End Of ZoomInRight *************/
/************ Start Of ZoomInUp *************/
@keyframes zoomInUp {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.ZoomInUp {
  animation-name: zoomInUp; }

/************ End Of ZoomInUp *************/
/************ Start Of SlideDown *************/
@keyframes slideInDown {
  0% {
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, 0, 0); } }

.SlideInDown {
  animation-name: slideInDown; }

/************ End Of SlideDown *************/
/************ Start Of SlideInLeft *************/
@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, 0, 0); } }

.SlideInLeft {
  animation-name: slideInLeft; }

/************ End Of SlideInLeft *************/
/************ Start Of SlideInRight *************/
@keyframes slideInRight {
  0% {
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, 0, 0); } }

.SlideInRight {
  animation-name: slideInRight; }

/************ End Of SlideInRight *************/
/************ Start Of SlideInUp *************/
@keyframes slideInUp {
  0% {
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, 0, 0); } }

.SlideInUp {
  animation-name: slideInUp; }

/************ End Of SlideInUp *************/
/***************************************************
Slider                   
***************************************************/
/************ Start Of Light Slider *************/

.sliderWrapper,.sliderkit {
  overflow: hidden; }

.sliderkit {
  display: none;
  text-align: right;
  position: relative; }
  .sliderkit a:hover {
    text-decoration: none; }
  .sliderkit a:focus {
    outline: 1px dotted #000; }
  .sliderkit img {
    border: 0; }
  .sliderkit .sliderkit-nav {
    text-align: center;
    position: absolute;
    z-index: 10; }
  .sliderkit .sliderkit-nav-clip {
    overflow: hidden;
    margin: 0 auto;
    position: relative; }
    .sliderkit .sliderkit-nav-clip ul {
      list-style: none;
      margin: 0;
      padding: 0;
      position: relative;
      top: 0;
      left: 0; }
      .sliderkit .sliderkit-nav-clip ul li {
        float: left; }
        .sliderkit .sliderkit-nav-clip ul li a {
          display: block;
          overflow: hidden; }
  .sliderkit .sliderkit-btn {
    z-index: 10; }
  .sliderkit .sliderkit-panel {
    overflow: hidden; }
    .sliderkit .sliderkit-panel,.sliderkit .sliderkit-panel .sliderkit-panel-textbox {
    position: absolute;
    z-index: 1; }
    .sliderkit .sliderkit-panel .sliderkit-panel-text {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 3; }
    .sliderkit .sliderkit-panel .sliderkit-panel-overlay {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2; }
  .sliderkit .sliderkit-panel-active {
    z-index: 5; }
  .sliderkit .sliderkit-panel-old {
    z-index: 4; }
  .sliderkit .sliderkit-count {
    padding: 5px;
    color: #fff;
    background: #000;
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 10; }
  .sliderkit .sliderkit-timer {
    height: 3px;
    background: #ccc;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10; }

/************ Vertical And Horizontal *************/
.slider-vertical {
  margin: 0 auto; }
  .slider-vertical .sliderkit-nav-clip li {
    width: 100%; }
  .slider-vertical .slider-vertical .slider-vertical .sliderkit-nav-clip li a .slider-vertical .sliderkit-nav-clip li a .slider-vertical .sliderkit-panels {
    border: 1px solid #cccccc;
    border-image: none;
    overflow: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0; }
  .slider-vertical .slider-vertical .slider-vertical .sliderkit-nav-clip .slider-vertical .sliderkit-panel {
    padding: 10px;
    right: 0;
    background: #fff;
    top: 0;
    bottom: 0;
    left: 0; }
  .slider-vertical .slider-vertical .sliderkit-news h3 {
    color: #000;
    margin: 0 0 15px;
    font-weight: bold; }
    .slider-vertical .slider-vertical .sliderkit-news h3 a {
      color: #000;
      font: bold 1em/1.6em "SDF"; }
  .slider-vertical .slider-vertical .sliderkit-news img {
    margin: 0 0 0 10px;
    float: left; }
  .slider-vertical .slider-vertical .sliderkit-news p {
    margin: 0; }
  .slider-vertical .slider-vertical .sliderkit-news-readmore {
    position: absolute;
    bottom: 10px;
    left: 10px; }
  .slider-vertical .sliderkit-nav-clip li a {
    background: #00668d;
    text-align: right;
    color: #fff;
    text-decoration: none;
    overflow: hidden; }
    .slider-vertical .sliderkit-nav-clip li a:hover, .slider-vertical .sliderkit-nav-clip li a:focus {
      color: #fff; }

/************ Nav *************/
.slider-horizontal .sliderkit-nav {
  position: absolute;
  bottom: 0; }

.slider-horizontal .sliderkit-nav-clip li {
  float: left;
  margin: 0; }
  .slider-horizontal .sliderkit-nav-clip li.sliderkit-selected {
    position: relative; }
    .slider-horizontal .sliderkit-nav-clip li.sliderkit-selected:after {
      content: "";
      display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 5px 5px 5px;
      border-color: transparent transparent #adb0b3 transparent;
      margin-right: -3px;
      position: absolute;
      top: 0;
      right: 50%; }
  .slider-horizontal .sliderkit-nav-clip li a {
    margin: 0;
    text-align: right;
    color: #fff;
    text-decoration: none;
    border-right: 1px solid #cacdd1;
    background: #adb0b3; }
    .slider-horizontal .sliderkit-nav-clip li a:hover, .slider-horizontal .sliderkit-nav-clip li a:focus {
      color: #fff; }

/************ Panel *************/
.slider-horizontal .sliderkit-panels {
  overflow: hidden;
  position: absolute;
  left: 0; }

.slider-horizontal .sliderkit-panel {
  background: #fff;
  top: 0;
  left: 0; }

.slider-horizontal .sliderkit-news h3 {
  font-size: 1.2em;
  margin: 0 0 15px; }
  .slider-horizontal .sliderkit-news h3 a {
    color: #000;
    font-weight: bold;
    font: bold 1em/1.6em "SDF"; }

.slider-horizontal .sliderkit-news img {
  float: right;
  margin: 0 0 0 10px;
  overflow: hidden; }

.slider-horizontal .sliderkit-news p {
  margin: 0; }

.slider-horizontal .sliderkit-news-readmore {
  position: absolute;
  bottom: 10px;
  left: 10px; }

/************ Nav *************/
.slider-horizontal-text .sliderkit-nav {
  position: absolute;
  bottom: 0; }

.slider-horizontal-text .sliderkit-nav-clip li {
  float: left;
  margin: 0; }
  .slider-horizontal-text .sliderkit-nav-clip li a {
    margin: 0;
    text-align: right;
    color: #fff;
    text-decoration: none;
    border-right: 1px solid #fff;
    background: #d3d3d3; }
    .slider-horizontal-text .sliderkit-nav-clip li a:hover, .slider-horizontal-text .sliderkit-nav-clip li a:focus {
      color: #fff; }

.slider-horizontal-text .sliderkit-panels {
  overflow: hidden;
  position: absolute;
  left: 0; }

.slider-horizontal-text .sliderkit-panel {
  background: linear-gradient(to bottom, #eff2f3 0, #ccd1d3 100%);
  top: 0;
  left: 0; }

.slider-horizontal-text .sliderkit-news h3 {
  font-size: 1.2em;
  margin: 0 0 15px; }
  .slider-horizontal-text .sliderkit-news h3 a {
    color: #000;
    font: bold 1em/1.6em "SDF";
    padding-top: 5px; }

.slider-horizontal-text .sliderkit-news img {
  float: right;
  margin: 0 0 0 10px;
  overflow: hidden; }

.slider-horizontal-text .sliderkit-news p {
  margin: 0; }

.slider-horizontal-text .sliderkit-news-readmore {
  position: absolute;
  bottom: 10px;
  left: 10px; }

/************ Light Slider Pager *************/
.sliderkitSeparator {
  border: none;
  border-bottom: 1px solid #eaedee;
  height: 1px;
  background: #bcc2c3; }

.sliderkitControlBar {
  height: 15px;
  border-radius: 3px;
  display: inline-block;
  width: 72px;
  float: left;
  margin-left: 5px;
  margin-top: 5px; }
  .sliderkitControlBar .controlButton {
    display: inline-block;
    cursor: pointer;
    float: right; }
  .sliderkitControlBar .controlNext {
    background-position: 0 0; }
  .sliderkitControlBar .controlNext,.sliderkitControlBar .controlPrevious {
    background-image: url("Images/NavigationButtons.png");
    width: 24px;
    height: 15px; }
  .sliderkitControlBar .controlPrevious {
    background-position: 24px 0; }
  .sliderkitControlBar .controlStop {
    background-position: 48px 0; }
  .sliderkitControlBar .controlStop,.sliderkitControlBar .controlPlay {
    background-image: url("Images/NavigationButtons.png");
    width: 24px;
    height: 15px; }
  .sliderkitControlBar .controlPlay {
    background-position: 72px 0; }

.lightRotatorComplex .panelTextAndPager {
  vertical-align: top;
  background: linear-gradient(to bottom, #eff2f3 0, #ccd1d3 100%);
  border: 1px solid #c7cbcd; }

.lightRotatorComplex .panelNavigatorAndImages {
  vertical-align: top; }

.lightRotatorComplex .sliderkitPagingInformation {
  padding-right: 5px; }

/************ Start Of accordion Slider *************/
.accordion-caret .accordion-toggle:after,
.accordion-caret .accordion-switch:before {
  content: '';
  font-family: "Glyphicons Halflings";
  font-size: 14px;
  margin-right: 5px;
  vertical-align: -1px; }

.accordion-caret .accordion-toggle:after {
  float: left; }

.accordion-caret .accordion-toggle:not(.collapsed):after {
  content: "\E857";
  margin-left: 0; }

.accordion-caret .accordion-toggle.collapsed:after {
  content: "\E812";
  margin-left: 5px; }

.accordion-caret .accordion-switch:not(.collapsed):before {
  content: "\E806";
  margin-left: 5px; }

.accordion-caret .accordion-switch.collapsed:before {
  content: "\E805";
  margin-left: 5px; }

/************ End Of accordion Slider *************/
/***************************************************
Menu                   
***************************************************/
.TopMenu {
  background: #fff; }

.mainMenu .navbar-right > li > a {
  background: linear-gradient(to bottom, #f8f8f8, #e9e9e9) repeat scroll 0 0 #e9e9e9;
  border: 1px solid #dddddd; }

.mainMenu .navbar-right > li.open > a,
.mainMenu .navbar-right > li.current > a {
  border: 1px solid #aaa;
  color: #f50303; }

.mainMenu .navbar-right .dropdown-menu {
  background-clip: padding-box;
  background-color: #f8f8f8;
  border: 1px solid #aaa;
  box-shadow: none;
  font-size: 13px;
  padding: 0;
  border-radius: 0; }
  .mainMenu .navbar-right .dropdown-menu > li > a {
    padding: 12px 20px; }

.mainMenu ul li.menuCollapse ul {
  list-style: none;
  position: absolute;
  top: 36px;
  left: 0;
  padding: 0; }
  .mainMenu ul li.menuCollapse ul li {
    width: 100%; }
    .mainMenu ul li.menuCollapse ul li a {
      display: block;
      position: relative;
      padding: 6px 15px 8px;
      border-right: 1px solid #cccedb;
      border-bottom: none; }
    .mainMenu ul li.menuCollapse ul li:last-child a {
      border-radius: 0 0 5px 5px;
      border-bottom: 1px solid #cccedb; }

.menu3dmega > ul li > a i {
  margin-right: -10px;
  padding-left: 3px; }

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
  color: red; }

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus,.dropdown-menu > li.open > a, .dropdown-menu > li.current > a {
  background: #e8e8e8;
  background: linear-gradient(to bottom, #f5f5f5 0px, #e8e8e8 100%);
  background-repeat: repeat-x;
  box-shadow: 0 0 0 1px #aaa; }

.dropdown-menu > li.open > a, .dropdown-menu > li.current > a {
  color: #f50303; }

/************ Start Of Horizontal Menu *************/
.navbar-right.sf-horizontal ul .collapsible .sub-arrow {
  border-color: transparent -moz-use-text-color transparent transparent !important;
  border-style: dashed solid dashed dashed !important;
  border-width: 4px !important;
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 10px; }

.navbar-right.sf-horizontal ul > li > a {
  padding: 10px 15px 10px 15px; }

.navbar-right.sf-horizontal ul.dropdown-menu {
  top: 0;
  right: 100%; }

.navbar-right.sf-horizontal > li {
  width: auto; }
  .navbar-right.sf-horizontal > li > a {
    padding: 10px 15px 10px 15px; }
    .navbar-right.sf-horizontal > li > a.has-submenu {
      padding: 10px 15px 10px 25px; }

.navbar-right.sf-horizontal ul.dropdown-menu {
  min-width: 100% !important;
  position: absolute;
  top: 100%;
  right: 0;
  left: auto; }
  .navbar-right.sf-horizontal ul.dropdown-menu ul.dropdown-menu {
    top: auto; }

.navbar-right.sf-horizontal li ul li a:hover .sub-arrow, .navbar-right.sf-horizontal li ul li .navbar-right.sf-horizontal ul ul .collapsible a:hover .sub-arrow {
  border-color: transparent #F50303 transparent transparent !important;
  border-style: dashed solid dashed dashed !important;
  border-width: 4px !important;
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 10px; }

.navbar-right.sf-horizontal li ul li .sub-arrow {
  border-color: transparent -moz-use-text-color transparent transparent !important;
  border-style: dashed solid dashed dashed !important;
  border-width: 4px !important;
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%; }

.navbar-right.sf-horizontal a:hover .sub-arrow, .navbar-right.sf-horizontal .collapsible a:hover .sub-arrow {
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  border-style: solid !important;
  border-width: 5px 4px 0 4px !important;
  border-color: #F50303 transparent transparent transparent !important;
  position: absolute;
  top: 50%;
  left: 10px; }

.navbar-right.sf-horizontal .sub-arrow, .navbar-right.sf-horizontal .collapsible .sub-arrow {
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  border-style: solid !important;
  border-width: 5px 4px 0 4px !important;
  border-color: #58585A transparent transparent transparent !important;
  position: absolute;
  top: 50%;
  left: 10px; }

.mainMenu .navbar-right.sf-horizontal > li > a {
  background: linear-gradient(to bottom, #f8f8f8, #e9e9e9) repeat scroll 0 0 #e9e9e9;
  border: 1px solid #dddddd; }

.has-submenu {
  position: relative; }

.sf-horizontal .dropdown-menu {
  display: none;
  float: right;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 14px;
  text-align: right;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1000; }

/******** Side Nav Toggler *********/
.dashboardPage .toggleWrap {
  padding-right: 5px; }
  .dashboardPage .toggleWrap .navToggle {
    color: #fff;
    font-size: 20px;
    padding: 7px 0;
    cursor: pointer; }

.dashboardPage .sitememberPanelBarContainer .panel {
  background: none; }

/************ Start Of MultiColumn Menu *************/
.multiColumnMenu .nav, .multiColumnMenu .collapse, .multiColumnMenu .dropup, .multiColumnMenu .dropdown {
  position: static !important; }

.multiColumnMenu .container {
  position: relative !important; }

.multiColumnMenu .dropdown-menu {
  top: auto;
  right: auto !important; }

.multiColumnMenu .multiColumnMenu-content {
  padding: 5px; }

.multiColumnMenu .dropdown.multiColumnMenu-fw .dropdown-menu {
  left: 0 !important;
  right: 0 !important; }

.multiColumnMenu ul.nav li.dropdown:hover > ul.dropdown-menu {
  display: block; }

.multiColumnMenu .navbar-nav {
  margin: 0; }

.multiColumnMenu .navbar-collapse {
  max-height: 500px; }

/**************** Start Of Make Menu Fix **********************/
.fixedMenu {
  position: fixed;
  top: 0 !important;
  z-index: 9999999;
  width: 100%;
  box-shadow: 0px 0px 10px #AFAFAF; }

.dashboardPage .fixedMenu {
  position: fixed;
  top: 0 !important;
  right: auto !important;
  left: 0;
  z-index: 999;
  box-shadow: none; }

.dashboardPage .full-width .fixedMenu {
  width: 100% !important; }

/************************************************************/
.mainMenu .dropdown-menu {
  padding: 0px !important;
  border: none; }

/**************** Start Of Menu Togglers In Mobile **********************/
.menuToggle {
  background: #1C2331;
  color: #f2f2f2;
  cursor: pointer;
  display: none;
  font-size: 14px;
  font-weight: bold;
  padding: 12px 15px;
  text-align: right;
  text-transform: uppercase; }
  .menuToggle .megaMenuToggleIcon {
    width: 26px;
    height: 16px;
    padding: 0 !important;
    margin: 0 !important;
    display: block;
    float: left;
    background: none; }
    .menuToggle .megaMenuToggleIcon span {
      width: 100%;
      height: 4px;
      margin: 2px 0;
      display: block;
      position: relative;
      background: #fff;
      transition: 0.5s; }
  .menuToggle.closeStatus .megaMenuToggleIcon span:nth-child(1) {
    top: 6px;
    transform: rotate(45deg); }
  .menuToggle.closeStatus .megaMenuToggleIcon span:nth-child(2) {
    opacity: 0; }
  .menuToggle.closeStatus .megaMenuToggleIcon span:nth-child(3) {
    top: -6px;
    transform: rotate(-45deg); }

/**************** Start Of Mega Menu **********************/
.menu3dmega {
  position: relative; }
  .menu3dmega,.menu3dmega.vertical {
  border: none; }
  .menu3dmega:after {
    clear: both;
    content: "";
    display: block; }
  .menu3dmega ul {
    margin: 0;
    padding: 0; }
    .menu3dmega ul li {
      list-style: none; }
      .menu3dmega ul li:hover > .dropdown-menu {
        display: block; }
  .menu3dmega li.current span.arrow-icon:after {
    top: 44%;
    left: 16px;
    border: solid #fff;
    border-width: 0 1px 1px 0;
    transform: rotate(135deg); }
  .menu3dmega li.current span.arrow-icon:after,.menu3dmega li.current span.arrow-icon-bottom:after {
    background: none;
    content: "";
    font-size: 0;
    position: absolute;
    height: 0;
    width: 0;
    display: inline-block;
    padding: 2px; }
  .menu3dmega li.current span.arrow-icon-bottom:after {
    top: 46%;
    left: 8px;
    border: solid #333;
    border-width: 0 1px 1px 0;
    transform: rotate(45deg); }
  .menu3dmega li .dropdown-menu {
    position: absolute;
    text-align: right;
    white-space: nowrap;
    display: none;
    background-color: #1C2331;
    margin: 0;
    box-shadow: 1px 1px 1px rgba(170, 170, 170, 0.5);
    border-radius: 0; }
    .menu3dmega li .dropdown-menu.openLeft {
      right: auto;
      left: 0 !important;
      display: block; }
    .menu3dmega li .dropdown-menu li > a {
      color: #4d4d4d;
      background: #1C2331;
      line-height: 21px;
      padding: 12px 20px;
      white-space: nowrap; }
  .menu3dmega li ul {
    list-style: none;
    margin: 0; }
    .menu3dmega li ul li {
      font-size: 12px;
      position: relative;
      margin: 0;
      float: none;
      text-align: right; }
  .menu3dmega li .sub {
    border: none;
    display: none;
    position: absolute;
    top: 0;
    right: 100%;
    z-index: 20; }
    .menu3dmega li .sub.openBottom {
      left: auto !important; }
  .menu3dmega li .grisbox li {
    background: #F4F4F4;
    border: 1px solid #bbbbbb;
    margin: 0px 0px 4px 0px;
    padding: 4px 6px 4px 6px;
    width: 116px;
    border-radius: 5px 5px 2px 2px;
    box-shadow: inset 0 0 3px #ccc; }
  .menu3dmega a {
    outline: 0 none;
    color: #333; }
    .menu3dmega a:hover {
      color: #526dd0; }
    .menu3dmega a:visited {
      outline: 0 none; }
  .menu3dmega > ul > li {
    float: right;
    display: inline-block;
    position: relative;
    text-align: right;
    line-height: 24px;
    border-left: 1px solid #616B7A; }
    .menu3dmega > ul > li:hover {
      background: #1C2331; }
      .menu3dmega > ul > li:hover > .arrow-icon-bottom, .menu3dmega > ul > li:hover > a, .menu3dmega > ul > li:hover > .arrow-icon-bottom:after, .menu3dmega > ul > li:hover > a:after {
        border-color: #fff; }
    .menu3dmega > ul > li.right {
      border-right: none !important; }
    .menu3dmega > ul > li.right,.menu3dmega > ul > li.first {
      border-left: none !important; }
    .menu3dmega > ul > li.last {
      border-right: none !important; }
    .menu3dmega > ul > li.full-width {
      position: static; }
    .menu3dmega > ul > li > .dropdown-menu {
      right: auto; }
    .menu3dmega > ul > li > a, .menu3dmega > ul > li > span {
      padding: 10px 15px;
      outline: 0;
      display: block;
      font-size: 14px;
      border-radius: 5px;
      font-weight: normal;
      margin-bottom: 0;
      text-decoration: none; }
    .menu3dmega > ul > li p a {
      text-decoration: none; }
    .menu3dmega > ul > li .icon-menu {
      float: right;
      height: 16px;
      margin-right: 7px; }
    .menu3dmega > ul > li > .arrow-icon, .menu3dmega > ul > li > .arrow-icon-bottom {
      padding-left: 25px;
      cursor: pointer;
      position: relative; }
    .menu3dmega > ul > li.no-link:hover {
      background-color: transparent; }
  .menu3dmega > ul li {
    transition: all .3s; }
    .menu3dmega > ul li:hover, .menu3dmega > ul li.current {
      border-radius: 5px !important;
      background: #1C2331 !important;
      color: #fff !important; }
      .menu3dmega > ul li:hover a, .menu3dmega > ul li.current a {
        background: none;
        color: #fff !important;
        box-shadow: none !important; }
    .menu3dmega > ul li > a {
      background: none;
      display: block;
      text-decoration: none;
      font-size: 13px;
      font-weight: normal;
      margin-bottom: 0; }
      .menu3dmega > ul li > a,.menu3dmega > ul li > a.has-submenu {
      position: relative; }
        .menu3dmega > ul li > a.has-submenu:before {
          width: 0;
          height: 0;
          font-family: "Glyphicons Halflings";
          font-size: 8px;
          position: absolute;
          top: 50%;
          left: 17px;
          content: "\E81D";
          margin-top: -12px; }
  .menu3dmega div[class*="animate-"] {
    display: none;
    position: absolute; }
  .menu3dmega p {
    line-height: 18px;
    margin: 0 0 22px 0;
    white-space: normal;
    clear: both;
    text-align: justify; }
  .menu3dmega span.arrow-icon:after {
    top: 44%;
    left: 16px;
    border: solid #fff;
    border-width: 0 1px 1px 0;
    transform: rotate(135deg); }
  .menu3dmega span.arrow-icon:after,.menu3dmega span.arrow-icon-bottom:after {
    background: none;
    content: "";
    font-size: 0;
    position: absolute;
    height: 0;
    width: 0;
    display: inline-block;
    padding: 2px; }
  .menu3dmega span.arrow-icon-bottom:after {
    top: 46%;
    left: 8px;
    border: solid #333;
    border-width: 0 1px 1px 0;
    transform: rotate(45deg); }
  .menu3dmega .menu-search input[type="text"] {
    border: 1px solid #394352; }
  .menu3dmega .content {
    padding: 20px; }
    .menu3dmega .content:after {
      clear: both;
      content: "";
      display: table;
      line-height: 0; }
  .menu3dmega .separate {
    border-bottom: 1px solid #ccc; }
  .menu3dmega .clearfix > .menu-title {
    margin: 10px 20px; }
  .menu3dmega .left {
    float: left; }
  .menu3dmega .right {
    float: right !important; }
  .menu3dmega .grid-demo [class*="col-lg"] {
    background: #f2f2f2;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 5px;
    margin-top: 5px;
    text-align: center;
    border: 1px solid #ccc; }
  .menu3dmega .full-width .dropdown-menu {
    left: -1px;
    width: 100%; }
  .menu3dmega .imgclass {
    float: right;
    margin-top: 3px;
    margin-right: 10px;
    background: #fff;
    padding: 4px;
    border: 1px solid #d9d9d9;
    box-shadow: 0px 0px 5px #666666; }
  .menu3dmega .text {
    width: 230px;
    display: block; }
  .menu3dmega .menu-title {
    color: #333333;
    display: block;
    font-size: 12px;
    letter-spacing: 0.5px;
    font-weight: bold;
    margin-bottom: 10px;
    border-bottom: 1px solid #ddd;
    text-decoration: none;
    padding-bottom: 3px; }
  .menu3dmega .desc {
    font-style: italic;
    color: #999;
    font-size: 10px;
    display: block;
    font-weight: normal; }
  .menu3dmega .separator {
    clear: both;
    margin: 0px 0 10px 0;
    height: 1px;
    display: block;
    border-bottom: 1px solid #f2f2f2; }
    .menu3dmega .separator:before {
      content: "";
      display: table;
      line-height: 0; }

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus,.dropdown-submenu:hover > a, .dropdown-submenu:focus > a {
  background: none !important;
  color: #333; }

@-moz-document url-prefix() {
  .wp-non-dropdown .btn {
    padding-top: 6px;
    padding-bottom: 6px; } }

.separator:after {
  content: "";
  display: table;
  line-height: 0; }

/**************** Start Of RESPONSIVE Menu **********************/
/* SCREEN */

/* MOBILE*/

/* MOBILE & TABLET*/

/**************** Start Of VERTICAL STYLE ONLY SCREEN **********************/

/***************For Future*******************/
/*.menuToggle .megaMenuToggle-icon {
    background: none repeat scroll 0 0 rgba(230, 230, 230, 0.7);
    display: inline-block;
    float: left;
    height: 2px;
    margin-top: 12px;
    @include position(relative,null,null,null,null,null);
    text-align: right;
    width: 16px;
}
.menuToggle  .megaMenuToggle-icon {
    &:before {
        background: none repeat scroll 0 0 rgba(230, 230, 230, 0.8);
        content: "";
        height: 2px;
        @include position(absolute,-4px,null,null,null,null);
        width: 16px;
        transition: all .4s;
    }

    &:after {
        background: none repeat scroll 0 0 rgba(230, 230, 230, 0.9);
        content: "";
        height: 2px;
        position: absolute;
        @include position(absolute,-8px,null,null,null,null);
        top: -8px;
        width: 16px;
        transition: all .4s;
    }
}

.menu-toggle {
    background: none repeat scroll 0 0 rgba(230, 230, 230, 0.7);
    display: inline-block;
    float: left;
    height: 2px;
    margin-top: 12px;
    @include position(relative,null,null,null,null,null);
    text-align: left;
    width: 16px;
}*/
/***************************************************
Push Menu                   
***************************************************/
.largeDurationTransition, .pushMenuTabPanel, .pushMenuOpen .pushMenuTabPanel, .pushMenuOpen .pushMenuLinksWrap, .pushMenuLinksWrap, .pushMenuWrapper .pushMenuOpen .tabPanelSet, .pushMenuWrapper .tabpanelContent, .pushMenuOpen .tabPanelContent {
  transition-delay: 0ms, 0ms, 0ms;
  transition-duration: 1000ms, 1000ms, 0ms; }

.mainContent {
  width: 100%;
  height: 100%;
  transition: left 375ms ease-in-out 0ms;
  position: relative;
  left: 0;
  z-index: 10; }

.pushMenuOpen {
  overflow: hidden; }
  .pushMenuOpen .mainContent {
    transition-duration: 750ms;
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14);
    position: relative;
    top: 0;
    left: -21em; }

.pushMenuLinksWrap {
  transition-delay: 0ms, 0ms, 0ms;
  transition-duration: 750ms, 375ms, 0ms;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, linear;
  visibility: visible;
  width: 15em; }
  .pushMenuLinksWrap > li {
    border-bottom: medium none;
    font-size: 0.8em;
    line-height: 1.33;
    margin: 0.625em 0;
    overflow: hidden;
    padding: 0.9375em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
    background-color: #d9d9d9;
    cursor: pointer;
    min-height: 45px;
    position: relative;
    top: 0;
    right: -5%;
    z-index: 0; }
    .pushMenuLinksWrap > li,.pushMenuLinksWrap > li > span {
    color: rgba(255, 255, 255, 0.8);
    display: block;
    text-decoration: none;
    transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
    width: 95%; }
    .pushMenuLinksWrap > li > span {
      font: bold 16px "SDF";
      height: 100%; }

.pushMenuOpen .pushMenuLinksWrap > li {
  background-color: #000; }

.pushMenuLinksWrap li:hover {
  width: 100%;
  right: 0; }
  .pushMenuLinksWrap li:hover span {
    color: #fff; }

.mainPages {
  padding-left: 3em;
  width: 10em; }
  .mainPages li {
    border-bottom: medium none;
    color: #fff;
    display: block;
    font-size: 0.8em;
    line-height: 1.33;
    margin: 0.625em 0;
    overflow: hidden;
    padding: 0.9375em;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
    transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
    white-space: nowrap;
    width: 95%;
    background: #005eb8;
    position: relative;
    top: 0;
    right: 0; }
    .mainPages li:hover {
      width: 100%; }

.pushMenuTabPanel {
  width: 28em;
  background: #000;
  transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  visibility: hidden;
  color: #fff;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: relative;
  right: -28em;
  z-index: 510; }

.pushMenuOpen .pushMenuTabPanel {
  visibility: visible;
  border-left: 1px solid #fff;
  overflow-y: scroll;
  direction: ltr; }

.panel-pushmenu .panel-heading a, .panel-pushmenu-nochild a {
  color: #fff;
  font-weight: bold; }

.panel-pushmenu .panel-body li a {
  color: #b4b2ad; }

.pushMenuOpen {
  right: 0; }
  .pushMenuOpen .pushMenuLinksWrap {
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear; }

.pushMenuLinksWrap {
  overflow: hidden;
  transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  padding-right: 0;
  position: fixed;
  top: 3em;
  right: 0;
  z-index: 500; }

.pushMenuSetActive {
  right: 27em; }

.force:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  visibility: hidden; }

/*-- masking the page after opening navigation --*/
.pushMenuOverlay {
  background-color: rgba(44, 44, 51, 0);
  width: 100%;
  height: 100%;
  transition: right 375ms ease-in-out 0ms, right 0ms linear 375ms, background-color 375ms ease-in-out 0ms;
  visibility: hidden;
  border-bottom: 1px solid #fff;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0; }

.pushMenuOpen .pushMenuOverlay {
  visibility: visible;
  background-color: rgba(44, 44, 51, 0.9);
  cursor: url("images/cursor-close.png"), auto;
  transition-delay: 0ms, 0ms, 0ms;
  transition-duration: 750ms, 0ms, 375ms;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), linear, ease-in-out;
  position: fixed;
  right: 0;
  z-index: 500; }

.pushMenuOpen .pushMenuTabPanel {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  overflow-y: auto; }

.pushMenuWrapper {
  width: 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 8030; }

/*close navigation by clicking on overlay section*/
.tabpanelSetClose {
  position: relative;
  right: -28em; }

.pushMenuClose {
  right: 0; }

/*styles for hamburger and close button */
.pushMenuWrapper .pushMenuOpen .tabPanelSet {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  visibility: visible; }

.pushMenuWrapper .tabPanelSet {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  visibility: hidden;
  position: relative; }

.pushMenuWrapper .tabPanelSet,.pushMenuWrapper .tabpanelContent {
  transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms; }

.pushMenuWrapper .tabpanelContent {
  padding: 10px 20px;
  direction: ltr;
  height: 100%;
  width: 100%;
  float: right;
  display: none; }

.pushMenuOpen .tabPanelContent {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear; }

.tabpanelContent .content, .tabpanelContent .content a {
  direction: rtl;
  color: #fff; }

/* close box */
.pushMenuCloseIco:before {
  transform: translate(-50%, -50%) rotate(45deg); }

.pushMenuCloseIco:after, .pushMenuCloseIco:before {
  background-color: transparent;
  border-top: 0.18em solid #fff;
  content: "";
  height: 0;
  transition: border-top-color 250ms ease-in-out 0s;
  width: 40%;
  position: absolute;
  top: 50%;
  left: 50%; }

.pushMenuCloseIco:after {
  transform: translate(-50%, -50%) rotate(-45deg); }

.main-nav-open .pushMenuTabPanel .pushMenuCloseIco, .pushMenuTabPanel .pushMenuCloseIco {
  margin: 0;
  opacity: 1;
  transition-delay: 0ms, 0ms, 1000ms;
  visibility: visible;
  position: fixed; }

.pushMenuTabPanel .pushMenuCloseIco {
  background-color: #000;
  color: #e5e2e0;
  margin: 0;
  padding: 0;
  transition: background-color 250ms ease-in-out 0ms, visibility 0ms linear 250ms, opacity 250ms ease-in-out 0ms;
  position: absolute; }
  .pushMenuTabPanel .pushMenuCloseIco:hover {
    background-color: #2c2c33;
    color: #fff;
    margin: 0;
    padding: 0; }

.pushMenuCloseIco {
  background-color: #000;
  border: medium none;
  color: #b4b2ad;
  height: 3em;
  text-decoration: none;
  transition: background-color 250ms ease-in-out 0s;
  width: 3em;
  left: 0;
  z-index: 100; }

/* Hamburger Icon */
.pushMenuCloseIco,.pushMenuWrapper .hamburger {
  cursor: pointer;
  display: block;
  position: fixed;
  top: 0; }
.pushMenuWrapper .hamburger {
  background-color: rgba(180, 178, 173, 0.5);
  border-bottom: none;
  color: rgba(0, 0, 0, 0.5);
  line-height: 1em;
  margin: 0;
  text-align: center;
  transition-delay: 0ms, 0ms, 0ms, 375ms, 375ms, 375ms;
  transition-timing-function: ease-in-out, ease-in-out, ease-in-out, ease-in-out, ease-in-out, linear;
  transition: width 250ms ease-in-out 0ms, padding-right 250ms ease-in-out 0ms, right 375ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 375ms, background-color 250ms ease-in-out 0ms, color 250ms ease-in-out 0ms, visibility 0ms linear 0ms;
  width: 5em;
  height: 4em;
  padding: 1.5em 2.5em 1em 3em;
  visibility: hidden;
  right: -6em;
  z-index: 9999; }
  .pushMenuWrapper .hamburger:hover {
    background: #000;
    color: #fff;
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, ease-in-out;
    right: 0; }
    .pushMenuWrapper .hamburger:hover i {
      background: #fff; }
  .pushMenuWrapper .hamburger i {
    width: 19px;
    height: 3px;
    display: block;
    margin-bottom: 3px;
    color: rgba(0, 0, 0, 0.5);
    background: rgba(0, 0, 0, 0.5);
    clear: both;
    z-index: 9999; }

.hidePushMenuLinks .hamburger {
  position: fixed;
  right: -1em;
  z-index: 9999; }
  .hidePushMenuLinks .hamburger:hover {
    right: -0.3em; }

.hidePushMenuLinks .pushMenuLinksWrap {
  right: -28em; }

.showPushMenuLinks .pushMenuLinksWrap {
  right: 0; }

.showPushMenuLinks .hamburger {
  right: -6em; }

.pushMenuOpen.showPushMenuLinks .pushMenuLinksWrap {
  right: 28em; }

.panel-pushmenu, .panel-pushmenu-nochild {
  border-radius: 0 !important;
  background: none !important;
  margin-bottom: 0;
  border-bottom: 2px solid #2c2c33;
  transition: all .4s; }

.panel-pushmenu .panel-heading {
  margin-left: 39px;
  transition: all .4s; }
  .panel-pushmenu .panel-heading:hover {
    transition: all .4s;
    background-color: #2c2c33 !important;
    border-radius: 0 !important;
    transition: all 250ms; }
  .panel-pushmenu .panel-heading a {
    transition: all 250ms;
    display: inline-block; }

.panel-pushmenu-nochild:hover {
  transition: all .4s;
  background-color: #2c2c33 !important;
  border-radius: 0 !important;
  transition: all 250ms; }

.panel-pushmenu-nochild a {
  transition: all 250ms;
  display: inline-block; }

.panel-pushmenu .panel-heading:hover a, .panel-pushmenu-nochild:hover a {
  transform: translateX(-10px); }

.panel-pushmenu .panel-body {
  padding: 0; }
  .panel-pushmenu .panel-body li {
    list-style: none;
    border-top: 2px solid #2c2c33;
    padding: 8px 10px 8px;
    margin-right: 2em; }
    .panel-pushmenu .panel-body li,.panel-pushmenu .panel-body li:hover {
    transition: padding-right 250ms ease-in-out 0s, padding-left 250ms ease-in-out 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s; }
    .panel-pushmenu .panel-body li:hover {
      background-color: #2c2c33 !important;
      border-radius: 0 !important;
      padding-right: 2.5em;
      padding-left: 0; }
    .panel-pushmenu .panel-body li:first-child {
      border-top: 2px solid #2c2c33; }
    .panel-pushmenu .panel-body li :last-child {
      border-bottom: none; }

.panel-pushmenu ul {
  border-top: 2px solid #2c2c33;
  margin: 0;
  padding: 0;
  width: 100%; }

.panel-pushmenu .panel-heading[aria-expanded="true"] {
  position: relative; }
  .panel-pushmenu .panel-heading[aria-expanded="true"]:after {
    content: "\e936";
    color: #7e7e7c;
    font: 18px/45px "Glyphicons Halflings";
    width: 40px;
    height: 100%;
    padding-right: 12px;
    background: #16161a;
    background: rgba(44, 44, 51, 0.5);
    transition: all .3s ease-in-out;
    position: absolute;
    top: 0;
    left: -40px; }
  .panel-pushmenu .panel-heading[aria-expanded="true"] :hover:after {
    color: #fff; }

.panel-pushmenu .collapsed {
  position: relative; }
  .panel-pushmenu .collapsed:after {
    content: "\e937";
    color: #7e7e7c;
    font: 18px/45px "Glyphicons Halflings";
    width: 40px;
    height: 100%;
    background: #ccc;
    padding-right: 12px;
    background: #16161a;
    background: rgba(44, 44, 51, 0.5);
    transition: all .3s ease-in-out;
    position: absolute;
    top: 0;
    left: -40px; }
  .panel-pushmenu .collapsed:hover:after {
    color: #fff; }

.panel-pushmenu-nochild {
  padding: 10px 15px; }

.panel-pushmenu .panel-body .panel-pushmenu .panel-body li:first-child {
  border-top: none; }

/*Push Menu Logo */
.pushMenuWrapper .pushMenuLogo {
  margin: 30px auto 0;
  display: block; }

.pushMenuWrapper .imgPushMenuLogo {
  margin-bottom: 30px; }

.pushMenuOpen .imgPushMenuLogo {
  visibility: hidden; }

/* Push Menu SearchBox */
.pushMenuSearchBox .generalSearchBox {
  direction: rtl; }
  .pushMenuSearchBox .generalSearchBox .input-group {
    background: none repeat scroll 0 0;
    border: 1px solid #666666;
    border-radius: 0 !important;
    margin: 30px 18px 0 18px;
    width: 90%; }
  .pushMenuSearchBox .generalSearchBox, .pushMenuSearchBox .generalSearchBox .form-group {
    width: 100%; }
  .pushMenuSearchBox .generalSearchBox a {
    background: none !important;
    border: medium none;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #fff;
    font-size: 13px;
    height: 25px;
    margin: 2px;
    padding: 4px;
    text-shadow: none;
    width: 30px;
    float: left;
    border-right: 1px solid #fff; }

/* tab panel news style */
.pushMenuWrapper .newsListItem a, .pushMenuWrapper .newsListDate {
  color: #b4b2ad; }

.pushMenuWrapper .newsListItem {
  border-bottom: 2px solid #2c2c33;
  padding: 16px;
  transition: all .4s ease-in-out; }
  .pushMenuWrapper .newsListItem:hover {
    transition: all .4s;
    transform: translateX(-20px); }
  .pushMenuWrapper .newsListItem a:before, .pushMenuWrapper .newsListItem a:after {
    content: '' !important; }

.scrollToTop {
  width: 100px;
  height: 100px;
  background: red;
  display: none; }

/*******************Login Style*******************/
.loginFooterWrap .radcomCopyrightAndLogo {
  background: none; }
  .loginFooterWrap .radcomCopyrightAndLogo .generalCopyright, .loginFooterWrap .radcomCopyrightAndLogo a {
    color: #333; }
  .loginStyle,.loginStyle html, .loginStyle body, .loginStyle #generalMainWrap, .loginStyle form {
    height: 100%; }

/******************Sampa Login Style***********************/
.loginStyle html.loginBody, .loginStyle body.loginBody, .loginStyle #generalMainWrap.loginBody, .loginStyle form.loginBody,.bodyStyle {
      background: #F0F5FF; }
.bodyStyle {
  height: 100%; }
  .bodyStyle .mainFooterWrap {
    background: none; }
    .bodyStyle .mainFooterWrap .radcomCopyrightAndLogo {
      background: none;
      padding: 5px;
      border: none !important;
      margin: 0 auto !important; }
      .bodyStyle .mainFooterWrap .radcomCopyrightAndLogo .generalCopyright {
        color: #333;
        font-size: 11px; }

.bodyStyle .mainFooterWrap .radcomCopyrightAndLogo .generalCopyright a,.login {
          color: #333; }

.login {
  height: 100%;
  background: #f5f8fa;
  font-family: SDF; }
  .login .loginMainFooterWrap {
    margin-top: 10px; }
  .login #generalMainWrap {
    min-height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .login .siteMemberMobileLoginSignupWrapper .signupRememberMeWrapper {
    margin: 0 22px 15px 22px; }
  .login .panel .panelImage {
    margin: 20px auto; }
  .login .panel .panel-body .content {
    color: #fff; }
  .login .panel .form-horizontal {
    margin-top: 0; }
    .login .panel .form-horizontal .form-group {
      position: relative; }
      .login .panel .form-horizontal .form-group .helperLinks ul {
        list-style-type: none;
        text-align: center;
        padding-right: 0px; }
        .login .panel .form-horizontal .form-group .helperLinks ul li a {
          color: #00a156 !important;
          font-weight: bold;
          transition: all 400ms ease-in-out; }
          .login .panel .form-horizontal .form-group .helperLinks ul li a:hover {
            color: #63ebac !important; }
      .login .panel .form-horizontal .form-group.loginCaptchaWrapper {
        margin: 20px auto 15px !important;
        display: table; }
      .login .panel .form-horizontal .form-group > div {
        padding: 0;
        margin: 0;
        width: 100%;
        /*
                    .input-group-addon {
                        border: 2px solid #EBEBEB !important;
                    }*/ }
        .login .panel .form-horizontal .form-group > div .form-control {
          transition: all 500ms ease-in-out;
          color: #5c6473;
          border-radius: 0;
          position: relative;
          box-shadow: none !important;
          background: transparent;
          z-index: 2; }
          .login .panel .form-horizontal .form-group > div .form-control:focus {
            box-shadow: 0 2px 4px rgba(73, 128, 255, 0.2); }
        .login .panel .form-horizontal .form-group > div .passwordBoxPopoverTrigger {
          padding: 0; }
  .login .panel .siteMemberLogin ul {
    margin: 0;
    padding: 0; }
    .login .panel .siteMemberLogin ul li {
      text-align: center;
      list-style: none; }
      .login .panel .siteMemberLogin ul li a {
        color: #737c8f;
        transition: all 400ms ease-in-out; }
        .login .panel .siteMemberLogin ul li a:hover {
          color: #d2ac67; }

.usernameFieldValueWrapper span, .passwordFieldValueWrapper span {
  padding: 4px 5px !important;
  margin-right: 8px;
  display: inline-block;
  position: absolute;
  top: 13px;
  z-index: 20;
  background: #ff2848;
  font-size: 12px;
  color: #fff;
  right: auto !important;
  border-radius: 22px; }

.loginBody .mainContentWrap > .container {
  padding: 0;
  margin-top: 0;
  background: none !important;
  box-shadow: none !important; }
  .loginBody .mainContentWrap > .container > div {
    padding: 15px;
    margin-top: 50px;
    border-radius: 0; }

.login .headerTop {
  display: none; }

.login .mainContentWrap {
  background: none; }

.login .loginRightSide .inner {
  background: #02385a;
  padding: 34px 50px 34px; }

.login .middleColumn {
  padding: 0 15px; }

.login .mainContentWrap > .container:first-child {
  margin-bottom: 100px;
  border: none; }

.login .mainContentWrap .container:nth-child(2) {
  background: none;
  padding: 0;
  margin-top: 0;
  border-radius: 0;
  box-shadow: none !important; }

.login .generalPoweredBy, .login .generalCopyright {
  padding: 0; }

.login .myRadcomFeatures p {
  font-size: 15px;
  color: #fdfdfd;
  margin-bottom: 22px;
  transition: all 400ms ease-in-out; }

.login .myLogo {
  padding: 50px 20px; }

.login .glyphicon {
  padding-left: 10px; }

.login .loginFormWrapper .list {
  padding: 0; }
  .login .loginFormWrapper .list li {
    list-style: none; }
    .login .loginFormWrapper .list li a {
      color: #02385a;
      transition: all 400ms ease-in-out;
      font-weight: bold; }
      .login .loginFormWrapper .list li ahover {
        color: #0000cc; }

.login .loginFormWrapper .form-control {
  margin-top: 16px; }

.login .loginFormWrapper .RadCaptcha .form-control {
  margin-top: 0; }

.login .loginFormWrapper .RadCaptcha > span {
  background: #ef5662;
  border-radius: 5px;
  margin: 0 auto;
  display: table;
  color: #fff !important;
  padding: 10px;
  font-size: 14px;
  margin-bottom: 10px;
  width: 100%;
  text-align: center; }

.login .usernameFieldValueWrapper,
.login .passwordFieldValueWrapper,
.login .form-control {
  position: relative; }
  .login .usernameFieldValueWrapper span,
  .login .passwordFieldValueWrapper span,
  .login .form-control span {
    padding: 4px 14px;
    margin-right: 8px;
    display: inline-block;
    position: absolute;
    top: 5px;
    z-index: 20;
    background: #ff2848;
    font-size: 12px;
    color: #fff;
    border-radius: 5px;
    left: 15px; }

.login .siteMemberLogin .loginCaptchaWrapper {
  margin-top: 20px; }

.login .middleColumn {
  padding-top: 0;
  background: none;
  min-height: auto; }

.login .bodyStyle {
  background: none !important; }

.login .mainContentWrap > .container:first-child {
  background: none;
  padding: 0 15px;
  margin-top: 0;
  border-radius: 0;
  margin-bottom: 0;
  border: 0;
  box-shadow: none !important; }

.login .panel-style5 {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.16) !important;
  border-radius: 10px !important;
  padding: 0;
  box-sizing: border-box;
  position: relative;
  margin-top: 15px; }
  .login .panel-style5 > .panel-heading {
    padding: 10px 0 20px;
    display: block;
    margin: 0 auto;
    line-height: 20px;
    text-align: center;
    width: 100%; }
    .login .panel-style5 > .panel-heading:before, .login .panel-style5 > .panel-heading:after {
      display: none !important; }
    .login .panel-style5 > .panel-heading h1, .login .panel-style5 > .panel-heading h2, .login .panel-style5 > .panel-heading h3, .login .panel-style5 > .panel-heading h4, .login .panel-style5 > .panel-heading h5, .login .panel-style5 > .panel-heading h6 {
      background: #fff;
      color: #262626;
      font-size: 20px;
      font-weight: bold;
      display: table;
      margin: 0 auto;
      font-family: "SDF";
      padding: 0 5px 10px;
      border-bottom: 1px solid #bcb8b8 !important; }
  .login .panel-style5 > .panel-body {
    padding: 0 15px; }

.login .loginLeftSide .panel-body {
  padding-top: 40px; }

.login .mainHeaderWrap {
  border: none; }

.login .siteMemberSignup .form-horizontal .form-group > div .form-control {
  border: 1px solid #d6d9de !important; }

.login .siteMemberSignup .callingCodeWrapper > input {
  padding-left: 80px;
  padding-top: 15px; }

.login .siteMemberSignup .message {
  display: table;
  width: auto !important;
  padding: 5px !important;
  margin-top: 4px !important; }

.login .loginFormWrapper .usernameFieldValueWrapper span,
.login .loginFormWrapper .passwordFieldValueWrapper span,
.login .loginFormWrapper .form-control span {
  top: 37px !important;
  left: 0px !important; }

.login input[id$="CaptchaTextBox"] {
  border: 1px solid #d6d9de !important; }

.dashboardPage .mainHeaderWrap {
  display: block !important;
  margin-bottom: 10px; }

.loginLeftSide {
  padding: 0 30px; }

/********************************************************/

/***************************************************
Masterpage Layout                   
***************************************************/
.generalMainWrap {
  margin-top: 20px; }

.mainContentWrap {
  background: #fff; }
  .mainContentWrap > .container {
    background-color: #fff;
    padding: 15px;
    margin-top: -22px;
    border-radius: 4px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24); }

.mainHeaderWrap {
  border-bottom: 1px solid #d1dbe8;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12);
  height: 50px;
  padding-top: 10px;
  background: #fff;
  display: table;
  width: 100%;
  padding-bottom: 10px; }

.sticky {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  margin: 0 auto; }

.headerBottom {
  background: #2e3951;
  padding-top: 7px;
  padding-bottom: 7px;
  border-radius: 5px 5px 0 0; }

.rightColumn, .middleWrap {
  background: #1E262D; }

.middleColumn {
  padding-top: 15px;
  background: #eee;
  min-height: 780px; }

/************************Dashboard Page***********************/
  .dashboardPage,.dashboardPage .middleColumn {
    background: #fff; }
  .dashboardPage .headerTop {
    padding: 0 15px; }
  .dashboardPage .mainHeaderWrap {
    background-color: #1C2331;
    padding-top: 6px;
    padding-bottom: 6px;
    display: table;
    width: 100%;
    height: auto;
    box-shadow: none;
    min-height: 40px; }

.dashboardPage .rightColumn {
    background-color: #1C2331;
    transition: all 0.5s ease 0s;
}
    .dashboardPage .rightColumn.closed {
      width: 0;
      padding: 0;
      transition: all .5s; }
      .dashboardPage .rightColumn.closed .sitememberPanelBarContainer {
        width: 0; }
        .dashboardPage .rightColumn.closed .sitememberPanelBarContainer .panel {
          height: 0;
          width: 0;
          opacity: 0; }
  .dashboardPage .full-width {
    width: 100% !important; }

/***************************************************
Forum                   
***************************************************/
#divForum {
  text-align: center; }

.imgForum {
  background: url(Images/Forum.png) no-repeat center top;
  width: 171px;
  height: 38px; }

/************ Start Of Parallax *************/
.parallax {
  background-position: center center !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  background-repeat: no-repeat !important; }

/************ End Of Parallax *************/
/***************************************************
PrintVersion                   
***************************************************/

/***************************************************
Footer                   
***************************************************/
.mainFooterWrap {
  margin-top: 0;
  padding-top: 20px;
  background: #1C2331; }

.radcomCopyrightAndLogo {
  background: #2e3951;
  padding: 8px 15px; }

.generalCopyright {
  color: #fff;
  font-size: 12px; }

.popupBody .generalCopyright {
  color: #000; }

.generalCopyright a {
  color: #fff; }

.dashboardPage .radcomCopyrightAndLogo {
  padding: 8px 0 !important; }
  .login .generalCopyright,.login .generalCopyright a {
    color: #333; }

.login .generalPoweredBy a, .login .generalPoweredBy span {
  text-decoration: none !important;
  color: #333; }

/***************************************************
AdminBar                   
***************************************************/
.adminbar {
  direction: rtl;
  margin-top: -51px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 8020;
  display: table;
  background: #1C2331;
  padding: 7px 20px 8px;
  font-size: 0.8em;
  border-radius: 0;
  transition: all 0.4s ease-in-out; }
  .adminbar:after {
    content: '';
    bottom: -17px;
    left: 0;
    z-index: -1;
    transition: all 0.4s ease-in-out; }
  .adminbar:after,.adminbar:before {
    font-family: "Glyphicons Halflings";
    color: #ddd;
    padding-top: 0;
    width: 15px;
    position: absolute;
    height: 15px;
    border-radius: 0px;
    text-align: center; }
  .adminbar:before {
    content: '\E863';
    bottom: -23px;
    left: 3px;
    z-index: 0;
    font-size: 15px;
    transition: all 500ms ease-in-out;
    cursor: pointer; }
  .adminbar:hover:after {
    opacity: 1; }
  .adminbar .quicklinks {
    padding: 0 8px;
    display: inline-block;
    width: 100%; }
    .adminbar .quicklinks ul {
      margin: 0; }
      .adminbar .quicklinks ul li a {
        color: #f2f2f2;
        padding: 0 8px 0 7px;
        transition: all 500ms ease-in-out; }
        .adminbar .quicklinks ul li a:hover {
          color: #0bb3f9; }
        .adminbar .quicklinks ul li a .glyphicon-mana {
          top: -1px; }
          .adminbar .quicklinks ul li a .glyphicon-mana:before {
            font-size: 20px; }
        .adminbar .quicklinks ul li a .glyphicon-stats {
          font-size: 1.4em;
          padding-left: 6px; }
      .adminbar .quicklinks ul.nav li.myAccount img {
        border-radius: 15px;
        width: 22px;
        height: 22px;
        margin-left: 8px;
        background: url("/Components/SiteMember/Resources/Images/Avatar.png") no-repeat center center; }
      .adminbar .quicklinks ul.nav li > a:hover, .adminbar .quicklinks ul.nav li > a:focus {
        background: none; }

.showAdmin.adminbar {
  margin-top: 0; }
  .showAdmin.adminbar:before {
    transform: rotate(180deg);
    color: #333; }

/***************************************************
HeaderLogo                   
***************************************************/
.sampaNew {
  display: inline-block;
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  vertical-align: middle;
  overflow: hidden; }

.svg-content {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0; }

.mainLogo {
  text-align: center; }
  .mainLogo a {
    display: block; }
    .mainLogo a .glyphicon-logo {
      color: #58585A; }

/***************************************************
Date                   
***************************************************/
.generalCurrentDateTime {
  width: 100%;
  color: #3b3b3b;
  padding: 8px 0;
  float: right;
  font-size: 15px;
  font-weight: bold; }

.datetimeSeparator {
  padding: 0 4px; }

/***************************************************
Search                   
***************************************************/
.generalSearchBox .input-group {
  background: #1C2331;
  border-radius: 50px; }
  .generalSearchBox .input-group input {
    color: #8894b7;
    background: none;
    border-radius: 0;
    border: none;
    box-shadow: none !important; }
    .generalSearchBox .input-group input:focus {
      color: #fff !important; }

.generalSearchBox a {
  width: 30px;
  height: 30px;
  padding: 4px;
  margin: 2px;
  background: #2e3951;
  border-radius: 50% !important;
  border: none;
  box-shadow: none !important;
  color: #fff;
  text-shadow: none;
  font-size: 13px; }
  .generalSearchBox a:hover, .generalSearchBox a:focus {
    background: #313854;
    color: #fff; }

.searchtitle,a.searchtitle:link {
  color: #0000cc;
  text-decoration: none; }

a.searchtitle:visited, a.searchtitle:active {
  color: #551A8B;
  text-decoration: underline; }

a.searchtitle:hover {
  color: #eb7629;
  text-decoration: underline;
  border-bottom: #eb7629 0 solid; }

.searchhighlight {
  font-weight: bold; }

.searchcounter {
  color: #000; }

.searchaddress {
  font-size: .9em;
  direction: ltr;
  text-align: right; }

.searchaddress,a.searchaddress:link {
  color: #008000;
  text-decoration: none; }

a.searchaddress:hover {
  text-decoration: none; }

a.address:visited, a.address:active {
  color: #8284CC;
  text-decoration: none; }

.searchmoreresult {
  font-size: .95em; }

a.searchmoreresult:link {
  color: #8284CC; }

a.searchmoreresult:link,a.searchmoreresult:hover {
  text-decoration: none; }

.searchcontentlength {
  color: #8d8d8d; }

.searchpagenumber {
  direction: ltr; }

.searchpagenumber ul.pagination {
  padding: 0; }

.searchpagenumber a.searchprevious::after {
  content: "\00BB"; }

.searchpagenumber a.searchnext::before {
  content: "\00AB"; }

/************ Start Of Search Style *************/
.ComponentSearchBoxWrap {
  margin: 0 auto 10px auto;
  padding: 2px;
  border: 1px solid #aaa;
  border-radius: 5px;
  box-shadow: 0 1px 2px #aaa;
  background-color: #fff; }
  .ComponentSearchBoxWrap .ccbswTop {
    background-color: #fff;
    border-radius: 5px; }
  .ComponentSearchBoxWrap .ccbswTop span.ccbswTextTitle {
    display: block;
    font-weight: bold;
    color: #ae1406;
    background-image: linear-gradient(#fff 11%, #fafafa 56%);
    background-color: #f3f3f3; }
  .ComponentSearchBoxWrap .ccbswMiddle .ccbswMiddleLeft .ccbswMiddleRight .ccbswMiddleContent {
    margin: 0;
    padding: 5px;
    background-image: linear-gradient(#f3f3f3 18%, #fff 59%);
    background-color: #f3f3f3; }

/************ End Of Search Component *************/
/************ Start Search Module *************/
.moduleSearchResultWrap {
  border-top: 1px solid #DDDADA;
  border-bottom: 1px solid #DDDADA;
  margin: 5px 0;
  padding: 2px 5px;
  background-color: #F3F3F3;
  box-shadow: 0 2px 7px #ddd; }
  .moduleSearchResultWrap .searchHeaderLabel {
    float: right;
    font-style: italic;
    color: #6e6e6e; }
  .moduleSearchResultWrap .searchDetailsHeaderLabel {
    float: left;
    font-style: italic;
    color: #6e6e6e; }

.moduleSearchWrap {
  background: url(Images/ModuleSearch/ModuleSearch.png) no-repeat right top;
  height: 34px;
  padding: 0 6px 0 61px;
  position: relative; }
  .moduleSearchWrap .bgImage {
    background: url(Images/ModuleSearch/ModuleSearch.png) no-repeat; }
  .moduleSearchWrap .txtSearchWrap {
    background-position: 0 -34px;
    background-repeat: repeat-x;
    height: 34px;
    direction: rtl; }
    .moduleSearchWrap .txtSearchWrap input {
      margin: 7px 0 0;
      padding: 0;
      width: 100%;
      height: 22px;
      border: 0;
      background: none;
      color: black;
      outline: 0; }
  .moduleSearchWrap .dropDownWrap {
    overflow: hidden;
    background-position: right -68px;
    height: 23px;
    border-left: 1px solid #ddd;
    padding: 2px 8px;
    position: absolute;
    top: 5px;
    right: 3px; }
    .moduleSearchWrap .dropDownWrap span {
      display: inline-block; }
    .moduleSearchWrap .dropDownWrap .arrowDown {
      background-position: -81px -5px;
      width: 9px;
      margin: 0 11px 0 5px;
      height: 7px; }
    .moduleSearchWrap .dropDownWrap .moduleSearchSelect {
      opacity: 0;
      height: 29px;
      cursor: pointer;
      visibility: visible;
      width: 100%;
      margin: 0;
      padding: 0;
      border: 1px solid #ddd;
      color: black;
      background: none;
      outline: 0;
      position: absolute;
      top: 0;
      right: 0; }
  .moduleSearchWrap .moduleSearchSubmit {
    background-position: 0 0;
    width: 55px;
    height: 34px;
    text-align: center;
    padding-right: 5px;
    position: absolute;
    top: 0;
    left: 0; }
    .moduleSearchWrap .moduleSearchSubmit .btnSubmit {
      padding: 0;
      margin: 0;
      border: none;
      background: none;
      color: #fff;
      height: 34px;
      width: 39px;
      cursor: pointer;
      line-height: 18px; }

.smallModuleSearchWrap {
  background: url(Images/ModuleSearch/SmallModuleSearch.png) no-repeat right top;
  height: 22px;
  padding: 0 6px 0 27px;
  position: relative; }
  .smallModuleSearchWrap .bgImage {
    background: url(Images/ModuleSearch/SmallModuleSearch.png) no-repeat; }
  .smallModuleSearchWrap .txtSearchWrap {
    background-position: 0 -22px;
    background-repeat: repeat-x;
    height: 22px;
    direction: rtl; }
    .smallModuleSearchWrap .txtSearchWrap input {
      margin: 0;
      padding: 0;
      width: 100%;
      height: 22px;
      border: 0;
      font-size: 9px;
      background: none;
      color: black;
      outline: 0;
      line-height: 16px; }
  .smallModuleSearchWrap .dropDownWrap {
    overflow: hidden;
    background-position: right -44px;
    height: 17px;
    border-left: 1px solid #ddd;
    padding: 0 5px;
    position: absolute;
    top: 3px;
    right: 3px; }
    .smallModuleSearchWrap .dropDownWrap span {
      display: inline-block;
      font-size: 9px;
      line-height: 17px;
      vertical-align: top;
      height: 15px; }
    .smallModuleSearchWrap .dropDownWrap .arrowDown {
      background-position: -33px 0;
      width: 7px;
      margin: 0; }
    .smallModuleSearchWrap .dropDownWrap .moduleSearchSelect {
      opacity: 0;
      height: 17px;
      line-height: 17px;
      cursor: pointer;
      visibility: visible;
      width: 100%;
      margin: 0;
      padding: 0;
      border: 1px solid #ddd;
      color: black;
      background: none;
      background-attachment: scroll;
      background-clip: border-box;
      background-size: auto;
      background-origin: padding-box;
      outline: 0;
      vertical-align: bottom;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 999999; }
  .smallModuleSearchWrap .moduleSearchSubmit {
    background-position: 0 0;
    width: 21px;
    height: 22px;
    text-align: center;
    padding-right: 6px;
    position: absolute;
    top: 0;
    left: 0; }
    .smallModuleSearchWrap .moduleSearchSubmit .btnSubmit {
      padding: 0;
      margin: 0;
      border: none;
      background: none;
      color: transparent;
      height: 22px;
      width: 21px;
      cursor: pointer; }

/***************************************************
Language                   
***************************************************/
.generalSelectLanguage {
  text-align: left; }
  .generalSelectLanguage li {
    display: inline-block; }
    .generalSelectLanguage li a {
      color: #49494d; }
      .generalSelectLanguage li a:after {
        content: "|";
        padding: 0 5px; }
    .generalSelectLanguage li:last-child a:after {
      content: none; }

.selectLanguageDropdownWrap {
  display: table;
  border: 1px solid #49494d;
  float: left;
  border-radius: 10px;
  padding: 5px; }
  .selectLanguageDropdownWrap .dropdown-menu {
    margin-top: 7px !important;
    min-width: 120px !important; }
  .selectLanguageDropdownWrap li {
    display: block !important;
    width: 100%;
    clear: both; }
    .selectLanguageDropdownWrap li a {
      transition: all .3s ease;
      float: right !important;
      display: inline-block !important;
      clear: none !important;
      padding: 3px 7px !important; }
      .selectLanguageDropdownWrap li a:after {
        display: none; }
  .selectLanguageDropdownWrap .dropdown-toggle {
    color: #49494d !important; }

/***************************************************
Tools                   
***************************************************/
.generalToolsBox {
  float: left; }
  .generalToolsBox > div {
    width: 32px;
    height: 32px;
    display: inline-block;
    float: left;
    padding: 5px;
    border-radius: 50%;
    text-align: center;
    transition: all .4s; }
    .generalToolsBox > div:hover {
      background: #4fc0e8; }
      .generalToolsBox > div:hover a {
        color: #2e3951; }
  .generalToolsBox a {
    color: #49494d;
    font-size: 14px;
    transition: color 1s; }
  .generalToolsBox .glyphicon {
    padding: 0 2px; }
  .generalToolsBox .socialNetworkItemWrap a .glyphicon {
    padding: 0; }

.tellafriendPage .formLabel {
  width: 110px; }

/***************************************************
Sitemember                   
***************************************************/
.siteMemberWelcomeWrap {
  padding: 10px 0; }
  .siteMemberWelcomeWrap a {
    display: inline-block;
    font-size: 12px;
    color: #fff;
    transition: color .5s; }
  .siteMemberWelcomeWrap > a i {
    font-size: 16px;
    color: #fff;
    transition: color .5s; }
  .siteMemberWelcomeWrap > a span {
    padding: 0 8px; }
    .siteMemberWelcomeWrap > a:hover,.siteMemberWelcomeWrap > a:hover i {
      color: #4fc1e9; }

/***************************************************
Social Network                   
***************************************************/
.socialNetworksWrapper {
  display: table; }
  .socialNetworksWrapper ul {
    padding: 0; }
    .socialNetworksWrapper ul li {
      list-style: none;
      display: inline-block; }
      .socialNetworksWrapper ul li a {
        color: #00b4ff; }
        .socialNetworksWrapper ul li a .glyphicon {
          font-size: 27px;
          color: #00b4ff; }

/***************************************************
SwitchBar                   
***************************************************/
#generalSwitchBarWrapper {
  margin: 0 5px; }
  .switchBar,.switchBar a {
  color: #58585a;
  font-family: "SDF"; }
  .switchBar a {
    font-size: 12px; }
  .switchBarSelected:link, .switchBarSelected:visited, .switchBarSelected:active {
    color: #00b4ff; }
  .switchBarSelected:hover {
    border-bottom: 1px dashed #00b4ff; }

.switchBar {
  font-size: 12px;
  margin: 0 auto;
  line-height: 23px; }

.switchBar, .switchBar a {
  color: #58585a;
  font-family: "SDF"; }

.switchBar a {
  text-decoration: none; }

.switchBar:hover {
  color: #111; }

.switchBarSelected {
  color: #58585a; }

.switchBarSelected:link, .switchBarSelected:visited, .switchBarSelected:active {
  color: #4fc0ea;
  text-decoration: none; }

/***************************************************
Page Navigate                   
***************************************************/
.goToTop {
  width: 51px;
  height: 42px;
  overflow: hidden;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  padding: 9px;
  background: #00b4ff;
  transition: all 1s ease; }
  .goToTop:hover {
    cursor: pointer; }
  .goToTop:after {
    content: '\E810';
    display: block;
    transition: 0.6s;
    font: normal 20px "Glyphicons Halflings";
    text-align: center;
    color: #fff; }

/************ Start Of Linear Footer *************/
.linearFooter {
  padding: 15px 0;
  text-align: center; }
  .linearFooter ul {
    margin: 0;
    padding: 0; }
    .linearFooter ul li {
      display: inline-block;
      list-style: none;
      padding: 5px 0; }
      .linearFooter ul li a {
        color: #fff;
        transition: .4s all; }
        .linearFooter ul li a:hover {
          color: #50c1e9; }
      .linearFooter ul li:after {
        content: '●';
        display: inline-block;
        padding: 0 15px;
        color: #7582b1; }
      .linearFooter ul li:last-child:after {
        content: none; }

/*************** Genral Footer Links ***************/
.footerNav .footerItem h5 a {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  border-bottom: 1px solid #fff;
  min-width: 60px;
  padding-bottom: 5px; }

.footerNav ul {
  padding: 0; }
  .footerNav ul li {
    list-style: none; }
    .footerNav ul li a {
      font-size: 13px;
      color: #c2c1c1;
      display: inline-block;
      transition: all ease-in-out .3s;
      position: relative; }

.dashboardPage .footerNav ul li a:before {
  content: '\E81B';
  font-family: "Glyphicons Halflings";
  position: absolute;
  top: 1px;
  right: 0;
  font-size: 12px;
  opacity: 0;
  transition: all ease-in-out .4s; }

.dashboardPage .footerNav ul li a:hover {
  padding-right: 15px; }
  .dashboardPage .footerNav ul li a:hover:before {
    opacity: 1; }

.generalPoweredBy {
  color: #acacac;
  font-size: 12px; }
  .generalPoweredBy a {
    transition: all 400ms ease-in-out;
    color: #acacac; }
    .generalPoweredBy a:hover {
      color: #e4e4e4; }
  .dashboardPage .generalPoweredBy,.dashboardPage .generalPoweredBy a {
    color: #fefefe; }

/************ Start Of Box Style *************/
.accordion-toggle {
  cursor: pointer; }

/************ Start Of Panel-Styles *************/
.panel-style1.panel {
  background-color: #fff;
  border: 0;
  border-radius: 5px;
  box-shadow: none; }

.panel-style1 > .panel-heading {
  background-color: #f4f5f7;
  border-radius: 0;
  border: 0;
  text-align: right; }
  .panel-style1 > .panel-heading > h1, .panel-style1 > .panel-heading > a > h1,
  .panel-style1 > .panel-heading > h2, .panel-style1 > .panel-heading > a > h2,
  .panel-style1 > .panel-heading > h3, .panel-style1 > .panel-heading > a > h3,
  .panel-style1 > .panel-heading > h4, .panel-style1 > .panel-heading > a > h4,
  .panel-style1 > .panel-heading > h5, .panel-style1 > .panel-heading > a > h5,
  .panel-style1 > .panel-heading > h6, .panel-style1 > .panel-heading > a > h6,
  .panel-style1 > .panel-heading a > span:not(.glyphicon), .panel-style1 > .panel-heading span:not(.glyphicon),
  .panel-style1 > .panel-heading p, .panel-style1 > .panel-heading a > p {
    font: normal normal 16px "SDF", Tahoma;
    font-weight: bold;
    margin: 0;
    color: #333333;
    float: none !important; }

.panel-style1 > .panel-body {
  background-color: #fff;
  border-radius: 0;
  border: solid 1px transparent; }

.panel-style1.panel {
  border-bottom: 1px solid #fff;
  box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 0.392); }

.panel-style1 > .panel-heading {
  border-bottom: 1px solid #fff;
  border-right: 3px solid #2cb3ec;
  display: table;
  width: 100%; }
  .panel-style1 > .panel-heading h2 {
    float: right !important; }
  .panel-style1 > .panel-heading .glyphicon {
    display: block;
    font-size: 22px;
    color: #0ca8ea;
    padding: 0;
    float: right !important;
    margin-right: 7px;
    margin-left: 12px; }
  .panel-style1 > .panel-heading a.moreTitle {
    float: left;
    display: table;
    font-size: 13px;
    color: #333333;
    transition: all 400ms ease-in-out; }
    .panel-style1 > .panel-heading a.moreTitle:hover {
      color: #2cb3ec; }

.panel-style1 .panel-body {
  border-top: 2px solid #e0e0e0;
  border-right: 1px solid #ebebeb;
  border-left: 1px solid #ebebeb; }

/*-----------------------*/
.panel-style2.panel {
  background-color: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none; }

.panel-style2 > .panel-heading {
  background-color: #f4f5f7;
  border-radius: 0;
  border: 0;
  text-align: right; }
  .panel-style2 > .panel-heading > h1, .panel-style2 > .panel-heading > a > h1,
  .panel-style2 > .panel-heading > h2, .panel-style2 > .panel-heading > a > h2,
  .panel-style2 > .panel-heading > h3, .panel-style2 > .panel-heading > a > h3,
  .panel-style2 > .panel-heading > h4, .panel-style2 > .panel-heading > a > h4,
  .panel-style2 > .panel-heading > h5, .panel-style2 > .panel-heading > a > h5,
  .panel-style2 > .panel-heading > h6, .panel-style2 > .panel-heading > a > h6,
  .panel-style2 > .panel-heading a > span:not(.glyphicon), .panel-style2 > .panel-heading span:not(.glyphicon),
  .panel-style2 > .panel-heading p, .panel-style2 > .panel-heading a > p {
    font: normal normal 16px "SDF", Tahoma;
    font-weight: bold;
    margin: 0;
    color: #333333;
    float: none !important; }

.panel-style2 > .panel-body {
  background-color: transparent;
  border-radius: 0;
  border: solid 1px transparent; }

.panel-style2.panel {
  border-bottom: 1px solid #fff;
  box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 0.392); }

.panel-style2 .panel-heading {
  border-bottom: 1px solid #fff;
  padding-bottom: 0px; }
  .panel-style2 .panel-heading h2 {
    border-bottom: 3px solid #2cb3ec;
    padding-bottom: 10px;
    padding-right: 5px;
    padding-left: 5px;
    display: table;
    float: right !important; }
  .panel-style2 .panel-heading .glyphicon {
    display: block;
    font-size: 22px;
    color: #2cb3ec;
    padding: 0;
    float: right !important;
    margin-right: 7px;
    margin-left: 12px; }
  .panel-style2 .panel-heading a.moreTitle {
    float: left;
    display: table;
    font-size: 13px;
    color: #333333;
    transition: all 400ms ease-in-out; }
    .panel-style2 .panel-heading a.moreTitle:hover {
      color: #2cb3ec; }

.panel-style2 .panel-body {
  border-top: 2px solid #e0e0e0;
  border-right: 1px solid #ebebeb;
  border-left: 1px solid #ebebeb;
  border-bottom: 3px solid #2cb3ec; }

/*-----------------------*/
.panel-style3.panel {
  background-color: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none; }

.panel-style3 > .panel-heading {
  background-color: #00b4ff;
  border-radius: 0;
  border: 0;
  text-align: right; }
  .panel-style3 > .panel-heading > h1, .panel-style3 > .panel-heading > a > h1,
  .panel-style3 > .panel-heading > h2, .panel-style3 > .panel-heading > a > h2,
  .panel-style3 > .panel-heading > h3, .panel-style3 > .panel-heading > a > h3,
  .panel-style3 > .panel-heading > h4, .panel-style3 > .panel-heading > a > h4,
  .panel-style3 > .panel-heading > h5, .panel-style3 > .panel-heading > a > h5,
  .panel-style3 > .panel-heading > h6, .panel-style3 > .panel-heading > a > h6,
  .panel-style3 > .panel-heading a > span:not(.glyphicon), .panel-style3 > .panel-heading span:not(.glyphicon),
  .panel-style3 > .panel-heading p, .panel-style3 > .panel-heading a > p {
    font: normal normal 16px "SDF", Tahoma;
    font-weight: bold;
    margin: 0;
    color: #fff;
    float: none !important; }

.panel-style3 > .panel-body {
  background-color: transparent;
  border-radius: 0;
  border: solid 1px transparent; }

.panel-style3.panel {
  border-bottom: 1px solid #fff;
  box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 0.392); }

.panel-style3.panel,.panel-style3 .panel-heading {
  border-radius: 3px 3px 0 0; }
  .panel-style3 .panel-heading h2 {
    float: right !important; }
  .panel-style3 .panel-heading .glyphicon {
    display: block;
    font-size: 22px;
    color: #fff;
    padding: 0;
    float: right !important;
    margin-right: 7px;
    margin-left: 12px; }
  .panel-style3 .panel-heading a.moreTitle {
    float: left;
    display: table;
    font-size: 13px;
    color: #fff;
    transition: all 400ms ease-in-out; }
    .panel-style3 .panel-heading a.moreTitle:hover {
      color: #010a0e; }

.panel-style3 .panel-body {
  border-top: 2px solid #e0e0e0;
  border-right: 1px solid #ebebeb;
  border-left: 1px solid #ebebeb;
  border-bottom: 3px solid #2cb3ec; }

/*-----------------------*/
.panel-style4.panel {
  background-color: transparent;
  border: 0;
  border-radius: 5px;
  box-shadow: none; }

.panel-style4 > .panel-heading {
  background-color: #fff;
  border-radius: 5px;
  border: 0;
  text-align: center; }
  .panel-style4 > .panel-heading > h1, .panel-style4 > .panel-heading > a > h1,
  .panel-style4 > .panel-heading > h2, .panel-style4 > .panel-heading > a > h2,
  .panel-style4 > .panel-heading > h3, .panel-style4 > .panel-heading > a > h3,
  .panel-style4 > .panel-heading > h4, .panel-style4 > .panel-heading > a > h4,
  .panel-style4 > .panel-heading > h5, .panel-style4 > .panel-heading > a > h5,
  .panel-style4 > .panel-heading > h6, .panel-style4 > .panel-heading > a > h6,
  .panel-style4 > .panel-heading a > span:not(.glyphicon), .panel-style4 > .panel-heading span:not(.glyphicon),
  .panel-style4 > .panel-heading p, .panel-style4 > .panel-heading a > p {
    font: normal normal 16px "SDF", Tahoma;
    font-weight: bold;
    margin: 0;
    color: #505050;
    float: none !important; }

.panel-style4 > .panel-body {
  background-color: transparent;
  border-radius: 0;
  border: solid 1px transparent; }

.panel-style4.panel {
  border: none; }

.panel-style4 .panel-body {
  box-shadow: 0 0 11px rgba(0, 0, 0, 0.11);
  border-radius: 5px; }

.panel-style4 .panel-heading {
  box-shadow: 0 0 11px rgba(0, 0, 0, 0.11);
  border-radius: 5px 5px 0 0;
  background: #fff;
  border-bottom: 2px solid #00b4ff;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-top: 10px; }
  .panel-style4 .panel-heading .glyphicon {
    display: block;
    font-size: 22px;
    color: #fff;
    padding: 0;
    float: right !important;
    margin-right: 7px;
    margin-left: 12px; }
  .panel-style4 .panel-heading a.moreTitle {
    float: left;
    display: table;
    font-size: 13px;
    color: #fff;
    transition: all 400ms ease-in-out; }
    .panel-style4 .panel-heading a.moreTitle:hover {
      color: #010a0e; }

/*-----------------------*/
.panel-style5 {
  padding: 15px; }
  .panel-style5.panel {
    background-color: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none; }
  .panel-style5 > .panel-heading {
    background-color: transparent;
    border-radius: 4px 4px 0 0;
    border: 0; }
    .panel-style5 > .panel-heading > h1, .panel-style5 > .panel-heading > a > h1,
    .panel-style5 > .panel-heading > h2, .panel-style5 > .panel-heading > a > h2,
    .panel-style5 > .panel-heading > h3, .panel-style5 > .panel-heading > a > h3,
    .panel-style5 > .panel-heading > h4, .panel-style5 > .panel-heading > a > h4,
    .panel-style5 > .panel-heading > h5, .panel-style5 > .panel-heading > a > h5,
    .panel-style5 > .panel-heading > h6, .panel-style5 > .panel-heading > a > h6,
    .panel-style5 > .panel-heading a > span:not(.glyphicon), .panel-style5 > .panel-heading span:not(.glyphicon),
    .panel-style5 > .panel-heading p, .panel-style5 > .panel-heading a > p {
      font: normal normal 20px "SDF", Tahoma;
      font-weight: bold;
      margin: 0;
      color: #323232;
      float: none !important; }
  .panel-style5 > .panel-body {
    background-color: transparent;
    border-radius: 0;
    border: solid 1px transparent; }
  .panel-style5 > .panel-heading {
    background: 0;
    border-radius: 0;
    text-align: center;
    position: relative;
    padding: 20px; }
    .panel-style5 > .panel-heading .moreTitle {
      margin: 0 auto;
      float: none !important; }
    .panel-style5 > .panel-heading h2 {
      padding-bottom: 8px; }
    .panel-style5 > .panel-heading:before {
      bottom: 0;
      opacity: .6; }
    .panel-style5 > .panel-heading:before,.panel-style5 > .panel-heading:after {
      width: 250px;
      height: 2px;
      content: '';
      display: block;
      position: absolute;
      background: #323232;
      right: 0;
      left: 0;
      margin: auto; }
    .panel-style5 > .panel-heading:after {
      bottom: 0;
      bottom: 4px;
      opacity: .4; }
  .panel-style5 .panelImage {
    display: table;
    margin: 20px auto; }
  .panel-style5 .panel-body {
    padding-top: 40px; }

/*-----------------------*/
/***** Panel Options */
.panel-heading .title-block {
  display: inline-block;
  margin: 0;
  padding: 7px 16px;
  font-weight: bold;
  font-size: 1em !important;
  line-height: 1.9 !important;
  min-height: 37px; }
  .panel-heading .title-block .accordion-caret {
    cursor: pointer; }

.panel-options {
  margin: 6px; }
  .panel-options .btn-icon-only {
    text-align: center;
    padding: 6px !important;
    margin: 0;
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    border-radius: 50%; }
  .panel-options .btn-tools, .panel-options .btn-tools:focus {
    background-color: #fff;
    color: #1bbae1;
    border-color: #1bbae1;
    background-image: none; }
  .panel-options .btn-tools.active, .panel-options .btn-tools.active:focus, .panel-options .btn-tools:hover {
    background-color: #1bbae1;
    border-color: #1bbae1;
    color: #fff; }

.panel-options .btn-shortcut .glyphicon,
.panel-options .btn-tools .glyphicon {
  font-size: 1.3em; }

/************ Start Of Tab Style *************/
/************ Tab Style1 *************/
/************* Tab Mobile Style **************/

/************ End Of Tab Style *************/
.table-hover > tbody > tr:not(.gridHeader):hover {
  background: #cac8c8 !important; }

.table-hover > tbody > tr.innerGridWrapper:hover,.table-hover > tbody > tr.pagerCustomGrid:hover {
  background: #f2f2f2 !important; }

/********************************Gray Skin**************************************/
.graySkin.table-striped > tbody > tr:nth-child(2n+1), .graySkin.table-striped > tbody > tr:hover {
  background: #dfdfdf; }

.graySkin.gridHeader {
  background: #dfdfdf !important; }

/*******************************************************************************/
.innerGridWrapper {
  background: #f2f2f2 !important; }

.innerGrid {
  border: 2px solid #d2d2d2 !important;
  box-shadow: 0 0 20px #909090; }
  .innerGrid.table-striped > tbody > tr:nth-child(odd) {
    background: #f3f3f3 !important; }
  .innerGrid.table-striped > tbody > tr:hover:nth-child(2n+1) {
    background: #00b4ff !important; }

.innerGrid .innerGrid .gridHeader,.gridHeader th {
    background: #e6e6e6 !important; }

.gridHeader th {
  border-bottom: 2px solid #d2d2d2;
  border-top: 0 !important; }
  .gridHeader th .glyphicon {
    font-size: 18px; }

/***************************************************
Pager                   
***************************************************/
.col-centered {
  float: none;
  margin: 0 auto; }

tr.pagerCustomGrid {
  background: #f0f3f6;
  background: linear-gradient(to bottom, #f0f3f6 0, #e0e3ea 100%);
  box-shadow: inset 0 0 0 1px #f9fafb; }

.pagerCustomGrid td {
  padding: 0; }

.pagerCustomGrid span {
  color: #373737;
  padding: 0 2px;
  height: 15px; }

.pagerCustomGridTable {
  direction: ltr;
  border: 1px solid #d0d6e0;
  box-shadow: 0 0 0 1px #fff; }

.pagerCustomGridTable td,.pagerCustomGridCountTable td {
  padding: 6px; }

.pagerCustomGridNumbers {
  color: #2b3a4a;
  unicode-bidi: bidi-override;
  text-align: center !important; }
  .pagerCustomGridNumbers span {
    display: inline-block;
    min-width: 16px;
    height: 18px;
    padding: 0 2px;
    color: #5c6b89;
    vertical-align: middle; }

a.pagerCustomGrid:link,
a.pagerCustomGrid:active,
a.pagerCustomGrid:visited,
a.pagerCustomGridNext,
a.pagerCustomGridPrev {
  display: inline-block;
  min-width: 16px;
  height: 18px;
  padding: 0 2px;
  border: 1px solid #5c6b89;
  border-radius: 3px;
  color: #5c6b89;
  vertical-align: middle;
  line-height: 18px;
  text-align: center; }

a.pagerCustomGrid:hover,
a.pagerCustomGridNext:hover,
a.pagerCustomGridPrev:hover {
  background-color: #9ea5b3;
  color: #fff; }

.pagerNumberText {
  text-decoration: none;
  line-height: 18px;
  color: #373737;
  unicode-bidi: embed; }

.pagerNumberText,.pagerCellDir {
  direction: rtl; }

.pagerCustomGridCell {
  direction: rtl;
  width: 110px;
  white-space: nowrap;
  text-align: left; }
  .pagerCustomGridCell .select {
    width: 55px; }

.pagerCustomGridCellGoto {
  width: 110px;
  white-space: nowrap;
  text-align: right; }
  .pagerCustomGridCellGoto .textbox {
    width: 55px; }

/************ Start Of Pager Wrapper *************/
.pagerWrapper {
  border: 1px solid #b7c8da;
  background: #ecf0f6;
  background: linear-gradient(to bottom, #ecf0f6 0, #b7c8da 100%);
  box-shadow: inset 0 0 1px #f7f9fb;
  padding: 1px;
  border-radius: 3px;
  font-size: .9em;
  margin-top: 10px;
  clear: both; }
  .pagerWrapper:after {
    content: '';
    display: block;
    clear: both;
    height: 0;
    visibility: hidden; }
  .pagerWrapper .sectionLeft {
    float: left;
    width: 95px;
    text-align: left; }
    .pagerWrapper .sectionLeft select {
      width: 35px !important;
      height: 20px !important;
      padding: 0;
      font-size: .9em; }
    .pagerWrapper .sectionLeft span {
      font-size: .9em; }
  .pagerWrapper .sectionRight {
    float: right;
    width: 55px;
    text-align: right; }
    .pagerWrapper .sectionRight input[class="button"] {
      width: 28px !important;
      height: 20px !important;
      padding: 0;
      font-size: .9em; }
    .pagerWrapper .sectionRight input[type="text"] {
      width: 20px !important;
      height: 18px !important;
      padding: 0;
      font-size: .9em; }
  .pagerWrapper .sectionMiddle {
    margin: 0 55px 0 95px;
    text-align: center; }
    .pagerWrapper .sectionMiddle.noLeft {
      margin: 0 55px 0 0; }
      .pagerWrapper .sectionMiddle.noLeft.noRight {
        margin: 0; }
    .pagerWrapper .sectionMiddle.noRight {
      margin: 0 0 0 95px; }
  .pagerWrapper .page {
    display: inline-block;
    padding: 3px;
    margin: 7px 1px;
    border: 1px #768399 solid;
    border-radius: 3px;
    vertical-align: initial;
    text-align: center;
    line-height: 10px;
    color: #5c6b89;
    font-size: 1.1em;
    white-space: nowrap; }
    .pagerWrapper .page:hover {
      background: #a5b1c7;
      background: linear-gradient(to bottom, #a5b1c7 0, #768399 100%);
      color: #fff; }
  .pagerWrapper .page.selected {
    width: auto;
    border: none; }
    .pagerWrapper .page.selected:hover {
      background: none;
      color: #5c6b89; }
  .pagerWrapper .nextPage, .pagerWrapper .previousPage {
    width: auto;
    background: #a5b1c7;
    background: linear-gradient(to bottom, #a5b1c7 0, #768399 100%);
    color: #fff;
    padding: 4px 3px 7px; }
    .pagerWrapper .nextPage:hover, .pagerWrapper .previousPage:hover {
      width: auto;
      background: none;
      color: #7988a7; }

.notify .form-control-feedback {
  width: 22px;
  height: 22px;
  top: 6px;
  margin-left: 5px; }

.notify .has-feedback .tooltip.bottom .tooltip-arrow {
  border: 0 !important;
  border-width: 0 !important; }

.notify .has-feedback .tooltip.bottom .tooltip-arrow:after {
  content: '';
  position: absolute;
  top: 2px;
  left: -4px;
  z-index: 2;
  margin-left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 0 20px;
  border-color: transparent transparent transparent #ffffa3; }

.notify .has-feedback .tooltip.bottom .tooltip-arrow:before {
  content: '';
  position: absolute;
  top: 0;
  left: -5px;
  margin-left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 0 15px;
  border-color: transparent transparent transparent #f1d031; }

.notify .has-feedback .tooltip-inner {
  max-width: 250px;
  padding: 3px 8px;
  color: #9a5574;
  text-align: center;
  text-decoration: none;
  background-color: #ffffa3;
  border-radius: 1px;
  border: 1px solid #f1d031;
  box-shadow: 3px 3px 4px 0 rgba(221, 221, 221, 0.84);
  font-size: 1.18em;
  position: absolute;
  left: 0; }

/***************************************************
Basic Style                   
* These styles are required for noUiSlider to function.
* You don't need to change these rules to apply your design.
**************************************************/
.noUi-target {
  position: relative;
  direction: ltr; }
  .noUi-target, .noUi-target * {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-touch-action: none;
    -ms-user-select: none;
    -moz-user-select: none;
    box-sizing: border-box; }

.noUi-base {
  width: 100%;
  height: 100%;
  position: relative; }

.noUi-origin {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.noUi-handle {
  position: relative;
  z-index: 1; }

.noUi-stacking .noUi-handle {
  /* This class is applied to the lower origin when
its values is > 50%. */
  z-index: 10; }

.noUi-stacking + .noUi-origin {
  /* Fix stacking order in IE7, which incorrectly
creates a new context for the origins. */
  z-index: -1; }

.noUi-state-tap .noUi-origin {
  transition: left 0.3s, top 0.3s; }

.noUi-state-drag * {
  cursor: inherit !important; }

/************ Painting and performance;
* Browsers can paint handles in their own layer. *************/
.noUi-base {
  transform: translate3d(0, 0, 0); }

/************ Slider size and handle placement *************/
.noUi-horizontal {
  height: 18px; }

.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  left: -17px;
  top: -6px; }

.noUi-vertical {
  width: 18px; }
  .noUi-vertical .noUi-handle {
    width: 28px;
    height: 34px;
    left: -6px;
    top: -17px; }

/************ Styling *************/
.noUi-background {
  background: #FAFAFA;
  box-shadow: inset 0 1px 1px #f0f0f0; }

.noUi-connect {
  background: #3FB8AF;
  box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45);
  transition: background 450ms; }

.noUi-origin {
  border-radius: 2px; }

.noUi-target {
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; }

.noUi-target.noUi-connect {
  box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45), 0 3px 6px -5px #BBB; }

.rangeSliderWrapper .valueUpper, .rangeSliderWrapper .valueLower {
  display: block;
  padding-top: 10px; }

.rangeSliderWrapper .noUi-connect {
  background: #80C9F5;
  box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45); }

/************ Handles And Cursors *************/
.noUi-dragable {
  cursor: w-resize; }

.noUi-vertical .noUi-dragable {
  cursor: n-resize; }

.noUi-handle {
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #FFF;
  cursor: default;
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB; }

.noUi-active {
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB; }

/************ Handle Strips *************/
.noUi-handle:before,
.noUi-handle:after {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 16px;
  height: 14px;
  width: 1px;
  background: #E8E7E6; }

.noUi-handle:after {
  left: 17px; }

.noUi-vertical .noUi-handle:before, .noUi-vertical .noUi-handle:after {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px; }

.noUi-vertical .noUi-handle:after {
  top: 17px; }

/************ Disabled Style *************/
[disabled] .noUi-handle {
  cursor: not-allowed; }

[disabled].noUi-connect, [disabled] .noUi-connect {
  background: #B8B8B8; }

/*************** Customized styles here ***************/
/************************Sitemember Avatar********************/
.sitememberAvatar {
  padding-top: 20px;
  padding-bottom: 10px; }
  .sitememberAvatar .avatarWrapper {
    margin: 0 auto;
    border-radius: 50%;
    border: 3px solid #fff; }
    .sitememberAvatar .avatarWrapper .imgAvatar {
      width: 100%;
      height: 100%;
      display: block;
      background: #fff;
      border-radius: 50%; }
    .sitememberAvatar .avatarWrapper .avatarIcon {
      font-size: 80px;
      color: #fff;
      line-height: 1;
      padding: 4px; }
  .sitememberAvatar .sitememberFullname {
    color: #fff;
    font-size: 16px;
    font-weight: normal;
    margin-top: 5px; }

/************************Quick Access**************************/
.quickAccess {
  padding-top: 15px; }
  .quickAccess ul {
    padding: 0;
    margin: 0;
    list-style: none; }
    .quickAccess ul li div {
      width: 100%;
      float: right;
      text-align: center;
      margin: 0 auto 15px;
      padding: 15px;
      border-radius: 10px;
      background-image: url("./Images/shapebg.png"), linear-gradient(to right, #2ba6f8, #59d1d9);
      background-position: center;
      box-shadow: 0px 0px 10px 0px rgba(34, 34, 34, 0.38);
      min-height: 150px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .quickAccess ul li div a {
        color: #fff;
        text-align: center; }
    .quickAccess ul li:nth-child(2) div {
      background-image: url("./Images/shapebg.png"), linear-gradient(to right, #d91d1c, #ff5050); }
    .quickAccess ul li:nth-child(3) div {
      background-image: url("./Images/shapebg.png"), linear-gradient(to right, #ff9956, #ffbf4b); }
    .quickAccess ul li:nth-child(4) div {
      background-image: url("./Images/shapebg.png"), linear-gradient(to right, #7355b0, #6878e1); }

/*************SignUp Style ****************/
.signupLeftside #pnlRolesInformationBox .validatorEnabledFormRow table {
  min-width: 100% !important; }

.siteMemberForgotPasswordWrapper .form-horizontal .form-group > div .btn {
  margin-top: 5px !important; }

/**************Media Query****************/

.orangeBox {
  background: url(/App_Themes/SiteMember-fa-IR/Images/storeTrasparent.png) no-repeat, linear-gradient(to top, #ffa200 0%, #ff6c00 100%);
  box-shadow: 0 10px 14px rgba(255, 108, 0, 0.2);
  border-radius: 5px; }

.blueBox {
  background: url(/App_Themes/SiteMember-fa-IR/Images/storeTrasparent.png) no-repeat, linear-gradient(to top, #00a8ff 0%, #008aff 100%); }

.blueBox,.darkblueBox {
  box-shadow: 0 10px 14px rgba(0, 138, 255, 0.2);
  border-radius: 5px; }

.darkblueBox {
  background: url(/App_Themes/SiteMember-fa-IR/Images/storeTrasparent.png) no-repeat, linear-gradient(to top, #2c66eb 0, #6d54e6 100%); }

.purpleBox {
  background: url(/App_Themes/SiteMember-fa-IR/Images/storeTrasparent.png) no-repeat, linear-gradient(to top, #a853ff 0%, #b22dff 100%);
  box-shadow: 0 10px 14px rgba(178, 45, 255, 0.2);
  border-radius: 5px; }

.greenBox {
  background: url(/App_Themes/SiteMember-fa-IR/Images/storeTrasparent.png) no-repeat, linear-gradient(to top, #00baa2 0%, #00c67e 100%);
  box-shadow: 0 10px 14px rgba(0, 198, 126, 0.2);
  border-radius: 5px; }

.redBox {
  background: url(/App_Themes/SiteMember-fa-IR/Images/storeTrasparent.png) no-repeat, linear-gradient(to top, #ff2c76 0%, #ff1f44 100%); }

.redBox,.pinkBox {
  box-shadow: 0 10px 14px rgba(194, 0, 32, 0.2);
  border-radius: 5px; }

.pinkBox {
  background: url(/App_Themes/SiteMember-fa-IR/Images/storeTrasparent.png) no-repeat, linear-gradient(to top, #ff8abf 0%, #ea19dd 100%); }

.yellowBox {
  background: url(/App_Themes/SiteMember-fa-IR/Images/storeTrasparent.png) no-repeat, linear-gradient(to top, #ffb118 0%, #ffde00 100%);
  box-shadow: 0 10px 14px rgba(194, 0, 32, 0.2);
  border-radius: 5px; }

.boxItems a {
  color: #fff;
  margin: 20px;
  display: inline-block; }

.boxItems a .glyphicon {
  font-size: 22px; }

.boxItems a .title {
  font-size: 15px !important;
  font-weight: bold !important;
  font-family: "SDF Subsidiary"; }

.boxItems {
  margin-bottom: 15px !important; }

.btn-indigo {
  background-repeat: repeat-x;
  border-color: #377aed;
  color: #fff; }

.btn-indigo:hover, .btn-indigo:focus {
  background-color: #377aed;
  background-position: 0 -15px;
  color: #fff; }

.btn-indigo:active, .btn-indigo.active {
  background-color: #377aed;
  border-color: #377aed; }

.btn-orange {
  background-repeat: repeat-x;
  border-color: #e67a36;
  color: #fff; }

.btn-orange:hover, .btn-orange:focus {
  background-color: #ff8d38;
  background-position: 0 -15px;
  color: #fff; }

.btn-orange:active, .btn-orange.active {
  background-color: #ff8d38;
  border-color: #ff8d38; }

.btn-purple {
  background-image: linear-gradient(to bottom, #c858de 0, #ac38ff 100%);
  background-repeat: repeat-x;
  border-color: #ac38ff;
  color: #fff; }

.btn-purple:hover, .btn-purple:focus {
  background-color: #ac38ff;
  background-position: 0 -15px;
  color: #fff; }

.btn-purple:active, .btn-purple.active {
  background-color: #ac38ff;
  border-color: #ac38ff; }

.darkStyle {
  background: #1C2331; }

.customSearch {
  display: table;
  width: auto !important;
  float: left; }

/******************Sitemember Menu********************/
.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .navbar-nav > li {
  float: right;
  width: 100%;
  background: #1E262D;
  border-right: 2px solid transparent;
  transition: all 400ms ease-in-out; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .navbar-nav > li.open {
  border-right: 2px solid #FF6A00; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu {
  width: 100%;
  display: table; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu ul {
  background: #1E262D;
  width: 100%; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .navbar-brand, .verticalSiteMemberMenuWrapper.darkSiteMemberMenu .navbar-nav > li > a {
  text-shadow: none;
  color: #c7c7c7 !important;
  padding: 8px 0;
  font-size: 11px;
  text-align: center;
  transition: all 400ms ease-in-out; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .navbar-nav > li > a .caret {
  position: absolute;
  border: none !important;
  left: 15px;
  display: none; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .navbar-nav > li > a .caret:before {
  position: absolute;
  font-family: "Glyphicons Halflings";
  content: "\e812";
  font-size: 9px;
  color: #c7c7c7;
  top: 0;
  right: 0; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .navbar-nav > li > a:hover,
.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .navbar-nav > li > a:focus,
.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .nav .open > a,
.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .nav .open > a:hover,
.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .nav .open > a:focus {
  color: #fff;
  background: #3B4248;
  transition: all 400ms ease-in-out; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background: #fff;
  right: 100%;
  top: 0;
  padding: 0; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .dropdown-menu > li > a {
  display: block;
  padding: 7px 13px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #171616;
  white-space: normal;
  transition: all 400ms ease-in-out;
  font-size: 12px; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .dropdown-menu > li > a:hover {
  color: #FF6A00;
  border: none !important;
  box-shadow: none !important; }

.verticalSiteMemberMenuWrapper.darkSiteMemberMenu .glyphicon {
  font-size: 24px;
  text-align: center;
  display: table;
  width: 100%; }

.siteMemberMenuWrapper {
  display: table;
  width: 100%; }

.sitememberLogoutWrapper {
  padding: 20px 0; }
  .sitememberLogoutWrapper .sitememberLogoutMessage {
    text-align: center;
    margin-top: 5px;
    margin-bottom: 30px; }
    .sitememberLogoutWrapper .sitememberLogoutMessage span {
      color: #505050;
      font-size: 16px; }
  .sitememberLogoutWrapper .sitememberLogoutBtn .btn {
    border-radius: 5px; }
    .sitememberLogoutWrapper .sitememberLogoutBtn .btn.btn-success {
      background-color: #00B430 !important; }
    .sitememberLogoutWrapper .sitememberLogoutBtn .btn.btn-danger {
      background-color: #FC0000 !important; }

.fixedButton .reservationNavigation {
  position: fixed;
  bottom: 0;
  width: calc(100% - 16.66666667%);
  left: 0;
  margin: 0;
  z-index: 999; }
  .fixedButton .reservationNavigation > div {
    background: #eee;
    border: 1px solid #dcdbdb;
    margin: 0; }

/***************************************************
Media Query                   
***************************************************/

@media (min-width: 480px) and (max-width: 767px){
  .menu3dmega.responsive > ul > li, .menu3dmega.responsive li.menu-non-dropdown{
    width: 50%; }
  .menu3dmega.responsive .wp-non-dropdown{
    width: auto; }
  .menu3dmega.responsive > ul > li > div{
    width: 100%;
    left: 0; } }

@media (min-width: 768px){
  .menu3dmega.responsive .menuToggle{
    display: none; }
  .menu3dmega.responsive > ul{
    display: block !important; }
  .menu3dmega.vertical{
    width: 100%;
    /****************** (((IN RTL VERSION))) Float Changed To Right ******************/
    float: right; }
  .menu3dmega.vertical .dropdown-menu{
    max-width: 800px;
    top: 0;
    right: 100% !important; }
  .menu3dmega.vertical .dropdown-menu.flyout-menu{
    width: auto; }
  .menu3dmega.vertical > ul > li{
    position: relative; }
  .menu3dmega.vertical span.arrow-icon-bottom:after{
    border: solid #333;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 2px;
    transform: rotate(135deg); }
  .menu3dmega.vertical li:hover span.arrow-icon-bottom:after{
    border: solid #fff;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 2px;
    transform: rotate(135deg); }
  .menu3dmega.vertical > ul > li{
    border-left: none !important;
    border-right: none !important; }
  .login .mainFooterWrap,.login .mainHeaderWrap{
    display: none; }
  .equalHeightParent{
    display: -ms-flexbox;
    display: flex; }
  .sitememberAvatar .avatarWrapper{
    width: 100px;
    height: 100px; }
  .rightColumn .mainLogoImage{
    margin: 10px auto 10px; }
  .navbar-right.sf-horizontal ul ul.dropdown-menu{
    margin-top: -39.9px !important;
    min-width: 100% !important;
    position: absolute;
    top: 0 !important;
    right: 100% !important;
    left: auto !important; }
  .dashboardPage .rightColumn{
    min-height: 1024px; } }

@media (max-width: 1199px) and (min-width: 768px){
  .dashboardPage .fixedMenu{
    width: calc(100% - 25%) !important; } }

@media (min-width: 992px){
  .dashboardPage .toggleWrap{
    width: auto !important; }
  .dashboardPage .mainFooterWrap .innerFooterWrap .row:first-child{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center; } }

@media (min-width: 1200px){
  .dashboardPage .fixedMenu{
    width: calc(100% - 16.666667%) !important; } }

@media (max-width: 767px){
  .animatable{
    visibility: visible; }
  .dropdown-menu{
    width: 100%; }
  .menu3dmega li .sub{
    right: 0 !important; }
  .menu3dmega > ul li > a{
    display: block !important; }
  .menu3dmega > ul li > a.has-submenu:before{
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 4px 0 4px;
    border-color: #000333 transparent transparent transparent;
    position: absolute;
    top: 50%;
    left: 10px;
    content: "";
    margin-top: -4px; }
  .menu3dmega > ul ul li > a.has-submenu:before{
    border-color: #fff transparent transparent transparent; }
  .menu3dmega > ul li > a.has-submenu:hover:before{
    border-color: #526dd0 transparent transparent transparent; }
  .menu3dmega.responsive{
    border: none !important; }
  .menu3dmega.responsive .menuToggle{
    display: block; }
  .menu3dmega.responsive > ul{
    display: none; }
  .menu3dmega.responsive .contact-form input[type=text], .menu3dmega.responsive .contact-form textarea{
    width: 98%; }
  .menu3dmega.responsive > ul > li > a, .menu3dmega.responsive > ul > li > .arrow-icon, .menu3dmega.responsive > ul > li > .arrow-icon-bottom{
    position: relative; }
  .menu3dmega.responsive li > .arrow-icon:after{
    border: solid #fff;
    border-width: 0 1px 1px 0;
    padding: 2px;
    transform: rotate(45deg);
    /*********** Right Changed To Left**********/
    position: absolute;
    top: 50%;
    left: 5%;
    content: "";
    display: inline-block;
    font-size: 0; }
  .menu3dmega.responsive li .dropdown-menu{
    width: 100%;
    left: 0;
    top: auto; }
  .menu3dmega.responsive li .dropdown-menu,.menu3dmega.responsive > ul > li{
    border-left: none !important;
    border-right: none !important; }
  .login .loginRememberMeWrapper{
    margin-top: 30px; }
  .mainHeaderWrap{
    padding-bottom: 0;
    padding-top: 0;
    display: none; }
  .mainHeaderWrap,.login .mainContentWrap > .container:first-child{
    background: none;
    box-shadow: none; }
  .mainHeaderWrap .sitememberTopBar{
    text-align: center; }
  .dashboardPage .middleColumn{
    padding-top: 0; }
  .adminBarWrap{
    display: none; }
  .selectLanguageDropdownWrap{
    float: none !important;
    margin: 0 auto; }
  .generalSelectLanguage{
    clear: both; }
  .sitememberTopBar > .topBarItemWrapper.dateTime{
    display: none; }
  .panel,.panel .panel-body{
    box-shadow: none !important;
    border: none !important; }
  .panel .panel-body{
    padding: 15px 5px 0; }
  .login .panel-style5{
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.16) !important; }
  .login .panel-style5 > .panel-heading:before, .login .panel-style5 .panel-heading:after{
    width: 100%; }
  .login .panel-style5 > .panel-body{
    border: none !important;
    border-radius: 0 !important; }
  .fixedButton .reservationNavigation{
    position: static;
    bottom: 0;
    width: 100% !important; }
  .goToTop{
    width: 30px !important;
    height: 30px !important;
    padding: 5px !important; }
  .portalServices{
    margin-bottom: 10px; }
  .boxItems{
    margin-bottom: 0 !important;
    height: 100%; }
  .boxItems a{
    color: #fff;
    margin: 10px auto 0;
    display: block;
    padding: 20px 5px;
    text-align: center; }
  .boxItems a .title{
    font-size: 12px !important;
    white-space: nowrap; }
  .boxItems a .glyphicon{
    font-size: 40px;
    display: block;
    text-align: center;
    margin-bottom: 10px; }
  .headerTop .mainLogoImage{
    margin: 0 auto;
    padding-bottom: 10px; }
  .memberArea_button{
    margin: 0 !important; }
  .middleWrap{
    background: none; }
  .collapsedColumn{
    border-bottom: 1px solid #505878; }
  .footerNav .collapsedColumn ul{
    display: none; }
  .footerNav .collapsedColumn h5{
    position: relative;
    cursor: pointer; }
  .footerNav .collapsedColumn h5:after{
    content: '\e805';
    font-family: "Glyphicons Halflings";
    position: absolute;
    top: -5px;
    left: 10px;
    color: #4FC1E9;
    font-size: 18px; }
  .footerNav.closed:after{
    content: '\e806'; }
  .navbar-right.sf-horizontal li ul li .sub-arrow, .navbar-right.sf-horizontal ul ul .collapsible .sub-arrow{
    border-color: #58585a transparent transparent !important;
    border-style: solid !important;
    border-width: 5px 4px 0 !important;
    height: 0;
    margin-left: 0 !important;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    left: 10px;
    width: 0; }
  .navbar-right.sf-horizontal li ul li a:hover .sub-arrow, .navbar-right.sf-horizontal ul ul .collapsible a:hover .sub-arrow{
    border-color: #f50303 transparent transparent !important;
    border-style: solid !important;
    border-width: 5px 4px 0 !important;
    height: 0;
    margin-left: 0 !important;
    margin-top: -2px;
    position: absolute !important;
    top: 50%;
    left: 10px;
    width: 0; }
  .mainHeaderWrap .glyphicon-responsive{
    font-size: 1.5em; }
  .mainSitememberWelcome,.mainSelectLanguage{
    margin-bottom: 8px; }
  .mainSearchBox .generalSearchBox .form-control{
    width: 150px !important;
    font-size: 0.8em;
    padding: 2px 6px 3px; }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu{
    background: #f8f8f8;
    border-bottom: 1px solid #dddddd;
    border-top: 1px solid #dddddd; }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar{
    margin-bottom: 0; }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar .navbar-toggle{
    background-color: #58585A; }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar .navbar-toggle .icon-bar{
    background-color: #fff; }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar .navbar-toggle:hover .icon-bar{
    background-color: #f50303; }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar .navbar-nav{
    margin: 0; }
  .mainMenu .navbar-right .dropdown-menu{
    margin: 0 0 4px 0;
    border-top: none; }
  .goToTop{
    right: 35px; }
  .navbar-collapse{
    max-height: 170px;
    overflow-y: scroll; }
  .mainFooterWrap .container{
    overflow: hidden; }
  .siteMemberWelcomeWrap, .generalCurrentDateTime, .generalSelectLanguage, .radcomCopyrightAndLogo *{
    text-align: center;
    float: none !important; } }

@media (max-width: 480px){
  .menu3dmega.responsive > ul > li, .menu3dmega.responsive li.menu-non-dropdown{
    width: 100%; }
  .menu3dmega.responsive > ul > li > .arrow-icon-bottom:after{
    left: 5%; } }

@media (max-width: 575px){
  .hamburger{
    visibility: visible !important;
    right: -1em; }
  .pushMenuLinksWrap{
    display: none; }
  .pushMenuTabPanel{
    width: 100%;
    visibility: visible; }
  .tabpanelContent{
    display: block; }
  .pushMenuWrapper{
    width: 100%; }
  .pushMenuOpen .pushMenuTabPanel{
    height: 100%;
    overflow-y: auto;
    direction: ltr;
    right: 0; }
  .tabpanelContent{
    height: auto;
    padding: 20px; }
  .tabpanelContent:first-child{
    padding: 10px 20px; }
  .pushMenuOpen .hamburger{
    right: -6em; }
  .pushMenuTabPanel .newsListItem .newsImage, .pushMenuOverlay{
    display: none; }
  .pushMenuWrapper{
    width: 0; }
  .pushMenuWrapper .tabpanelContent{
    height: auto !important; }
  .pushMenuTabPanel{
    width: 100% !important;
    position: fixed;
    right: -133%;
    z-index: 8030; } }

@media (max-width: 991px){
  .login .loginRightSide .inner{
    padding: 34px 28px 34px; }
  .myRadcomFeatures p{
    text-align: right; }
  .sitememberTopBar > .topBarItemWrapper{
    margin: 0 5px; }
  .dashboardPage .mainFooterWrap .mainLogoImage{
    margin: 0 auto; } }

@media (max-width: 414px){
  .panel{
    width: 100%;
    max-width: 100% !important; } }

@media print{
  a:after{
    content: none !important; } }

@media screen and (max-width: 767px){
  .mainLogo .h5{
    font-size: 0.8em; }
  .mainLogo a .glyphicon-logo{
    font-size: 6em; }
  .table-responsive{
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important; }
  .table-responsive table:not(.table-exclude){
    width: auto !important;
    max-width: initial !important; }
  ::-webkit-scrollbar-thumb{
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 1px rgba(255, 255, 255, 0.5); }
  .offCanvasInResponsive{
    position: fixed;
    top: 40px;
    bottom: 0;
    left: -320px;
    z-index: 8040;
    max-width: 320px;
    width: 90%;
    background: #fff;
    overflow: auto;
    padding: 15px;
    box-shadow: 0 0 5px #000; }
  .offCanvasInResponsive .menu3dmega.responsive > ul{
    display: block !important; }
  .offCanvasInResponsive .menu3dmega.responsive > ul > li,
  .offCanvasInResponsive .menu3dmega.responsive li.menu-non-dropdown{
    width: 100%; }
  .offCanvasMenuToggle{
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 8041;
    display: block;
    box-shadow: 0 0 5px #000; }
  .offCanvasMenuToggle .megaMenuToggleIcon{
    float: right;
    margin-left: 15px !important; } }

@media only screen and (max-width: 767px){
  .tab-wrapper .panel-default{
    border-radius: 0; }
  .tab-wrapper .panel-default > .panel-heading{
    background-image: none;
    background-color: #1C2331;
    color: #fff;
    border-radius: 0; } }

@media (max-width: 1199px){
  .fixedButton .reservationNavigation{
    position: fixed;
    bottom: 0;
    width: 75%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNpdGVNZW1iZXItZmEtSVIvU2l0ZU1lbWJlci1mYS1JUi5jc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19WYXJpYWJsZXMuc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvTGliL19taXhpbnMuc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX0ZvbnRzSW1wb3J0cy5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fSGVscGVyLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19CYXNpY1N0eWxlcy5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fQW5pbWF0ZS5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fU2xpZGVyLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19BY2NvcmRpb25TbGlkZXIuc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX01haW5NZW51LnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19WZXJ0aWNhbE1lbnUuc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX011bHRpQ29sdW1uTWVudS5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fTWVnYU1lbnUzRC5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fUHVzaE1lbnUuc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX0xvZ2luLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19NYXN0ZXJwYWdlTGF5b3V0LnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19Gb3J1bS5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fUGFyYWxsYXguc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX1ByaW50VmVyc2lvbi5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fRm9vdGVyLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19BZG1pbkJhci5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fTWFpbkxvZ28uc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX0RhdGFUaW1lLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19TZWFyY2guc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX1NlbGVjdExhbmd1YWdlLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19Ub29sc0JveC5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fVXNlcldlbGxjb21lLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19Tb2NpYWxOZXR3b3Jrcy5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fU3dpdGNoQmFyLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19Hb1RvVG9wLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19MaW5lYXJGb290ZXJMaW5rcy5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fQ29sdW1uRm9vdGVyTGluay5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fUG93ZXJlZEJ5LnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19QYW5lbFN5bGVzLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19UYWIuc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX1RhYmxlU3R5bGVzLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19EYXRhR3JpZC5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fUGFnZXIuc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX1BhZ2VyV3JhcHBlci5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fTm90aWZ5LnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19Ob1VJLnNjc3MiLCJTaXRlTWVtYmVyLWZhLUlSL1BhcnRpYWxzL19DdXN0b21TdHlsZXMuc2NzcyIsIlNpdGVNZW1iZXItZmEtSVIvUGFydGlhbHMvX0N1c3RvbWl6ZWRTdHlsZS5zY3NzIiwiU2l0ZU1lbWJlci1mYS1JUi9QYXJ0aWFscy9fTWVkaWFRdWVyeS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ3FDakI7a0JBQ2tCO0FDckNqQjtFQUNDLG9DRGdDdUM7RUMvQnRDLGdDQUE2QjtFQUM3Qiw4SkFFNkM7RUFDOUMsa0JDUDBEO0VEUTFELG1CQ1JrRSxFQUFBOztBRENuRTtFQUNDLG1CRHNDNEI7RUNyQzNCLHFDQUE2QjtFQUM3Qiw2S0FFNkM7RUFDOUMsb0JDTmlFO0VET2pFLG1CQ1B5RSxFQUFBOztBREExRTtFQUNDLG1CRHNDNEI7RUNyQzNCLG9DQUE2QjtFQUM3QiwwS0FFNkM7RUFDOUMsa0JDTDhEO0VETTlELG1CQ05zRSxFQUFBOztBRER2RTtFQUNDLDhCRHVDdUM7RUN0Q3RDLG1DQUE2QjtFQUM3Qix1S0FFNkM7RUFDOUMsb0JDSmlFO0VES2pFLG1CQ0x5RSxFQUFBOztBREYxRTtFQUNDLDhCRHVDdUM7RUN0Q3RDLGdDQUE2QjtFQUM3Qiw4SkFFNkM7RUFDOUMsa0JDSDREO0VESTVELG1CQ0pvRSxFQUFBOztBREhyRTtFQUNDLHdCRDBDa0M7RUN6Q2pDLHFDQUE2QjtFQUM3Qiw2S0FFNkM7RUFDOUMsb0JDRnlFO0VER3pFLG1CQ0hpRixFQUFBOztBREpsRjtFQUNDLHdCRDBDa0M7RUN6Q2pDLHlDQUE2QjtFQUM3Qix5TEFFNkM7RUFDOUMsa0JDRDJFO0VERTNFLG1CQ0ZtRixFQUFBOztBQ0xyRjs7b0RBRW9EOztBQU1wRDtFQUNJLDJCQUEwQjtFQUMxQiwwQkFBeUIsRUFDNUI7O0FBRUQ7RUFDSSwrQkFBOEI7RUFDOUIsOEJBQTZCLEVBQ2hDOztBQUVEO0VBQ0ksa0JBQWlCO0VBQ2pCLHFCQUFvQixFQUN2Qjs7QUFF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YVAsWWpDZ0JKO0lpQ2ZJLGlCQUFnQixFQUNuQixFQUFBOztBU2JiO0VEbUlBO0lDaElZLGdCQUFlO0lBQ2YsVUFBUztJQUNULFdBQVUsRUFDYixFQUFBIiwiZmlsZSI6IlNpdGVNZW1iZXItZmEtSVIvU2l0ZU1lbWJlci1mYS1JUi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiRpY29uLWZvbnQtcGF0aDogICAgICAgICAgXCIuLi9mb250cy9cIjtcclxuJGljb24tZm9udC1uYW1lOiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcbiAgc3JjOiB1cmwoXCIvRm9udHMvRm9udEljb24uZW90XCIpO1xuICBzcmM6IHVybChcIi9Gb250cy9Gb250SWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvRm9udHMvRm9udEljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvRm9udHMvRm9udEljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTREZcIjtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSVJBTlNhbnNMaWdodC5lb3RcIik7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lSQU5TYW5zTGlnaHQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvRm9udHMvSVJBTlNhbnNMaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0RGXCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lSQU5TYW5zQm9sZC5lb3RcIik7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lSQU5TYW5zQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvRm9udHMvSVJBTlNhbnNCb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNERiBTdWJzaWRpYXJ5XCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lyYW5SZWd1bGFyLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSXJhblJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL0lyYW5SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0lyYW5SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTREYgU3Vic2lkaWFyeVwiO1xuICBzcmM6IHVybChcIi9Gb250cy9JcmFuQm9sZC5lb3RcIik7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lyYW5Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9Gb250cy9JcmFuQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9Gb250cy9JcmFuQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNERkZhTnVtXCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lSQU5TYW5zRmFOdW0uZW90XCIpO1xuICBzcmM6IHVybChcIi9Gb250cy9JUkFOU2Fuc0ZhTnVtLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9Gb250cy9JUkFOU2Fuc0ZhTnVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zRmFOdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNERkZhTnVtXCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lSQU5TYW5zQm9sZEZhTnVtLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSVJBTlNhbnNCb2xkRmFOdW0uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zQm9sZEZhTnVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zQm9sZEZhTnVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkhlbHBlciBDbGFzc2VzICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubm9Sb3dNYXJnaW4ge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4ubm9Jbm5lclJvd01hcmdpbiAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnJvd01hcmdpbiB7XG4gIG1hcmdpbi1yaWdodDogLTE1cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnVsdHJhU2FtbGxQYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG5cbi5leHRyYVNhbWxsUGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiA0NXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDVweDsgfVxuXG4ubWVkaXVtUGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuXG4ubGFyZ2VQYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDkwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA5MHB4OyB9XG5cbi5leHRyYUxhcmdlUGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG5cbi51bHRyYVNhbWxsTWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uZXh0cmFTYW1sbE1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDQ1cHg7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7IH1cblxuLm1lZGl1bU1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cblxuLmxhcmdlTWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogOTBweDtcbiAgbWFyZ2luLWJvdHRvbTogOTBweDsgfVxuXG4uZXh0cmFMYXJnZU1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDEyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfVxuXG4uaWdub3JlUGFkZGluZ1RvcCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLmlnbm9yZVBhZGRpbmdCb3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5pZ25vcmVNYXJnaW5Ub3Age1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLmlnbm9yZU1hcmdpbkJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkJhc2ljIFN0eWxlICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5odG1sLCAjYXNwbmV0Rm9ybSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgZGlyZWN0aW9uOiBydGw7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4ucG9wdXBCb2R5IHtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpcmVjdGlvbjogcnRsO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzOyB9XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZmxhZyAuUmFkQ29tYm9Cb3hfU0FNUEEge1xuICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAycHggIWltcG9ydGFudDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKiogRWRpdG9yIFN0eWxlICoqKioqKioqKioqKioqKioqKioqL1xudGV4dGFyZWEucmVUZXh0QXJlYSB7XG4gIGRpcmVjdGlvbjogbHRyO1xuICBwYWRkaW5nOiAxMHB4OyB9XG5cbi8qKioqKioqKioqKiogU3RhcnQgT2YgSGVhZGluZyBTdHlsZSAqKioqKioqKioqKioqL1xuaDEsIC5oMSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVhNjU3NTsgfVxuXG5oMiwgLmgyIHtcbiAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE5cHg7XG4gIGNvbG9yOiAjMzc2NDhhOyB9XG5cbmgzLCAuaDMge1xuICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICMwOTY0ZDU7IH1cblxuaDQsIC5oNCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogI2NiNzUwZjsgfVxuXG5oNSwgLmg1IHtcbiAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjZjUwMzAzOyB9XG5cbmg2LCAuaDYge1xuICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM5YzliOWI7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgSGVhZGluZyBTdHlsZSAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBMaW5rIFN0eWxlICoqKioqKioqKioqKiovXG4udG9vbHMge1xuICBjb2xvcjogIzVhNjU3NTtcbiAgZm9udC1zaXplOiAuOWVtOyB9XG5cbi5tb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2NDk5QTtcbiAgYm9yZGVyOiAjNEQ1MTU0IDFweCBzb2xpZDtcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDNweDtcbiAgcGFkZGluZy1sZWZ0OiAzcHg7IH1cblxuLmJyaWVmRGVzY3JpcHRpb24ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogIzI1NTk5NTsgfVxuXG5hIHtcbiAgY29sb3I6ICMwOTY0ZDU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzA2NDI4YztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGEuY29udGVudDp2aXNpdGVkLCBhLmNvbnRlbnQ6bGluaywgYS5jb250ZW50OmFjdGl2ZSB7XG4gICAgY29sb3I6ICM1YTY1NzU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGEuY29udGVudDpob3ZlciB7XG4gICAgY29sb3I6ICMzOTQwNGE7IH1cbiAgYS50b29sczpsaW5rLCBhLnRvb2xzOnZpc2l0ZWQsIGEudG9vbHM6YWN0aXZlIHtcbiAgICBjb2xvcjogIzVhNjU3NTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYS50b29sczpob3ZlciB7XG4gICAgY29sb3I6ICNmNTAzMDM7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGEubW9yZTpsaW5rLCBhLm1vcmU6dmlzaXRlZCwgYS5tb3JlOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgYS5tb3JlOmhvdmVyIHtcbiAgICBjb2xvcjogI2I4YzRlMDsgfVxuICBhLmJyaWVmRGVzY3JpcHRpb246bGluaywgYS5icmllZkRlc2NyaXB0aW9uOnZpc2l0ZWQsIGEuYnJpZWZEZXNjcmlwdGlvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjMjU1OTk1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhLmJyaWVmRGVzY3JpcHRpb246aG92ZXIge1xuICAgIGNvbG9yOiAjMjU1OTk1O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzIyMjsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBMaW5rIFN0eWxlICoqKioqKioqKioqKiovXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7IH1cblxuLmJveExhc3RVcGRhdGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogI2FhYTtcbiAgcGFkZGluZy10b3A6IDhweDsgfVxuXG4uY29udGVudCwgLmxhYmVsIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEdlbmVyYWwgU3R5bGUgKioqKioqKioqKioqKi9cbi5zaG9ydGN1dDpsaW5rLCAuc2hvcnRjdXQ6dmlzaXRlZCwgLnNob3J0Y3V0OmFjdGl2ZSB7XG4gIGNvbG9yOiAjMjM0QkEzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNob3J0Y3V0OmhvdmVyIHtcbiAgY29sb3I6ICNERDRCNTY7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI0RENEI1NjsgfVxuXG4uY2FwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi50YWJsZUJvcmRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlM2UzZTM7IH1cblxuLnRhYmxlLW5vLWJvcmRlci50YWJsZS1ib3JkZXJlZC50YWJsZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50YWJsZS1uby1ib3JkZXIudGFibGUtYm9yZGVyZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZS1uby1ib3JkZXIudGFibGUtYm9yZGVyZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC50YWJsZS1uby1ib3JkZXIudGFibGUtYm9yZGVyZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQsIC50YWJsZS1uby1ib3JkZXIudGFibGUtYm9yZGVyZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC50YWJsZS1uby1ib3JkZXIudGFibGUtYm9yZGVyZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIC50YWJsZS1uby1ib3JkZXIudGFibGUtYm9yZGVyZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uc2NoZW1hVGFibGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWFyZ2luOiAxMHB4IGF1dG87IH1cblxuLmJveCB7XG4gIHdpZHRoOiAxNzVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk3QUZDMTsgfVxuXG4uZG90dGVkVGFibGUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogMXB4IGRvdHRlZCAjYzBjMGMwO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyB9XG5cbi5kb3R0ZWRWTGluZSB7XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG5cbi5kb3R0ZWRITGluZSB7XG4gIHBhZGRpbmc6IDVweCAwIDEwcHggMDsgfVxuXG4uaGludCB7XG4gIGNvbG9yOiAjNEQ1MTU0O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbi5tdWx0aVBhZ2Uge1xuICBtaW4taGVpZ2h0OiA3MDBweDsgfVxuXG4qIGh0bWwgLm11bHRpUGFnZSB7XG4gIGhlaWdodDogNzAwcHg7IH1cblxuLnNlYXJjaFRhYmxlIHtcbiAgYm9yZGVyOiAjYWFhIDFweCBzb2xpZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG4uaW1hZ2VCb3JkZXIge1xuICBib3JkZXI6IHNvbGlkIDFweCAjZDFkMWQxOyB9XG5cbi5nZW5lcmFsVGFibGUge1xuICBib3JkZXI6ICNhYWEgMXB4IGRvdHRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG4uRG9ja0NvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uUmFkRG9ja1pvbmUge1xuICBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDsgfVxuXG4uYmxhY2tMYWJlbCB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5nb2xkTGFiZWwge1xuICBjb2xvcjogI2NmYjQ1NjsgfVxuXG4ud2hpdGVMYWJlbCB7XG4gIGNvbG9yOiAjNDQ0ZDU0OyB9XG5cbi5ibHVlTGFiZWwge1xuICBjb2xvcjogIzkwYjlkMzsgfVxuXG4ucGF5bWVudFRhYmxlIHtcbiAgYm9yZGVyOiAjMDAwIDFweCBzb2xpZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuXG4uS2ltYmVybHlHcmlkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc2OENBNTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuLnRhYmxlSGVhZGVyS2ltYmVybHkgdGQge1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYmFja2dyb3VuZDogMCAtMjMwMHB4IHJlcGVhdC14ICM3MThDQTE7XG4gIGJvcmRlci1jb2xvcjogIzk4QUNCRiAjNzI4QkExICMzRDU1NkMgIzQ1NUY3NztcbiAgY29sb3I6IFdoaXRlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMXB4OyB9XG5cbi50YWJsZUl0ZW1LaW1iZXJseSB7XG4gIGJhY2tncm91bmQ6IHVybCgvQ29tcG9uZW50cy9TdG9yZS9SZXNvdXJjZXMvSW1hZ2VzL0ZBL0NhcnQvV2hpdGUvaXRlbS1iZy5wbmcpIHJlcGVhdC14IGNlbnRlciBib3R0b207XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzYwNzI4MDtcbiAgdGV4dC1pbmRlbnQ6IDA7IH1cbiAgLnRhYmxlSXRlbUtpbWJlcmx5IHRkIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGUgd2hpdGUgd2hpdGUgI0RBRTJFODtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAxcHg7IH1cblxuLnRhYmxlQWx0ZXJuYXRlSXRlbUtpbWJlcmx5IHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREFFMkU4O1xuICBjb2xvcjogIzYwNzI4MDtcbiAgdGV4dC1pbmRlbnQ6IDA7IH1cbiAgLnRhYmxlQWx0ZXJuYXRlSXRlbUtpbWJlcmx5IHRkIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICAgIGJvcmRlci1jb2xvcjogI0RBRTJFODtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAxcHg7IH1cblxuLnJvdW5kZWRDb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0byAxMHB4IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4ICNhYWFhYWE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxuLmF1dG9IZWlnaHQge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uYWJzZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGFibGUtc3RyaXBlZCA+IHRib2R5ID4gdHI6bnRoLWNoaWxkKG9kZCksIC50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjIgIWltcG9ydGFudDsgfVxuXG4uZGVidWcge1xuICBkaXJlY3Rpb246IGx0cjtcbiAgY29sb3I6IHJlZDsgfVxuXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEdlbmVyYWwgTW9kdWxlICoqKioqKioqKioqKiovXG4ucmFkaW8tbGlzdCAucmFkaW8ge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIC5yYWRpby1saXN0IC5yYWRpbyBsYWJlbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uY2hlY2tib3gtbGlzdCAuY2hlY2tib3gge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIC5jaGVja2JveC1saXN0IC5jaGVja2JveCBsYWJlbCB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4OyB9XG5cbi5zcGFjZXIge1xuICBoZWlnaHQ6IDEwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5idG4tbm9ybWFsIHtcbiAgd2lkdGg6IDEyMHB4OyB9XG5cbi5idG4tbGFyZ2Uge1xuICB3aWR0aDogMTgwcHg7IH1cblxuLmJ0bnMtYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG5kdCwgZGQge1xuICBsaW5lLWhlaWdodDogMS43OyB9XG5cbi5wYW5lbC1saWdodCAucGFuZWwtaGVhZGluZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmNWY1ZjUgMCwgI2ZmZiAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyB9XG5cbi5wYW5lbC1zaW1wbGUge1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAxMHB4OyB9XG4gIC5wYW5lbC1zaW1wbGUgLnBhbmVsLWhlYWRpbmcge1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZWFlZGY0O1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5wYW5lbC1zaW1wbGUgLnBhbmVsLWhlYWRpbmcgbGkge1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9XG4gIC5wYW5lbC1zaW1wbGUgLnBhbmVsLWJvZHkgLml0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWFlZGY0O1xuICAgIHBhZGRpbmc6IDE1cHggNXB4OyB9XG4gICAgLnBhbmVsLXNpbXBsZSAucGFuZWwtYm9keSAuaXRlbSBsaSB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5wYW5lbC1zaW1wbGUgLnBhbmVsLWJvZHkgLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAucGFuZWwtc2ltcGxlIC5wYW5lbC1ib2R5IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5wYW5lbC1zZWFyY2gge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnBhbmVsLXNlYXJjaCA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjVmNWY1IDAsICNlOGU4ZTggMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyB9XG4gICAgLnBhbmVsLXNlYXJjaCA+IC5wYW5lbC1oZWFkaW5nIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODYyXCI7XG4gICAgICBmb250OiBub3JtYWwgbm9ybWFsIDAuOGVtLzEgXCJHbHlwaGljb25zIEhhbGZsaW5nc1wiO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAucGFuZWwtc2VhcmNoID4gLnBhbmVsLWhlYWRpbmcuY29sbGFwc2VkIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODYzXCI7IH1cbiAgICAucGFuZWwtc2VhcmNoID4gLnBhbmVsLWhlYWRpbmcgaDIge1xuICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCAxLjJlbS8xLjIgXCJTREZcIjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAucGFuZWwtc2VhcmNoID4gLnBhbmVsLWJvZHkge1xuICAgIGJhY2tncm91bmQ6ICNmYmZiZmI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VjZWNlYztcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlY2VjZWM7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5FZmZlY3QgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5lZmZlY3RQYXJlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qKioqKioqKioqKiogaW5pdGlhbGx5IGhpZGUgYW5pbWF0YWJsZSBvYmplY3RzICoqKioqKioqKioqKiovXG4uYW5pbWF0YWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFuaW1hdGFibGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH0gfVxuXG4vKioqKioqKioqKioqIHNob3cgb2JqZWN0cyBiZWluZyBhbmltYXRlZCAqKioqKioqKioqKioqL1xuLmFuaW1hdGVkIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsgfVxuXG4vKioqKioqKioqKioqIENTUyBBbmltYXRpb25zICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZSAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMjAlLCA1MyUsIDgwJSwgMTAwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICA0MCUsIDQzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7IH1cbiAgNzAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7IH0gfVxuXG4uQm91bmNlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2UgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmxhc2ggKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmxhc2gge1xuICAwJSwgNTAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLkZsYXNoIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZsYXNoICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFB1bHNlICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uUHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFB1bHNlICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJ1YmJlckJhbmQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLlJ1YmJlckJhbmQge1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBSdWJiZXJCYW5kICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFNoYWtlICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOyB9XG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfSB9XG5cbi5TaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgU2hha2UgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgU3dpbmcgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7IH0gfVxuXG4uU3dpbmcge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgU3dpbmcgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgVGFkYSAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAxMCUsIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0MCUsIDYwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5UYWRhIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgVGFkYSAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBXb2JibGUgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5Xb2JibGUge1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFdvYmJsZSAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBKZWxsbyAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBqZWxsbyB7XG4gIDExLjElIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgMjIuMiUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsgfVxuICAzMy4zJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsgfVxuICA0NC40JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7IH1cbiAgNTUuNSUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOyB9XG4gIDY2LjYlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7IH1cbiAgNzcuNyUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2M2RlZykgc2tld1koMC4zOTA2M2RlZyk7IH1cbiAgODguOCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uSmVsbG8ge1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBKZWxsbyAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2VJbiAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlLCAyMCUsIDQwJSwgNjAlLCA4MCUsIDEwMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLkJvdW5jZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEJvdW5jZUluICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZUluRG93biAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5Cb3VuY2VJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEJvdW5jZUluRG93biAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2VJbkxlZnQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uQm91bmNlSW5MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJbkxlZnQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgQm91bmNlSW5SaWdodCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uQm91bmNlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEJvdW5jZUluUmlnaHQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgQm91bmNlSW5VcCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLkJvdW5jZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJblVwICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbiAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLkZhZGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbkRvd24gKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLkZhZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBGYWRlSW5Eb3duICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbkRvd25CaWcgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uRmFkZUluRG93bkJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJbkRvd25CaWcgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluTGVmdCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uRmFkZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0OyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJbkxlZnQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluTGVmdEJpZyAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5GYWRlSW5MZWZ0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluTGVmdEJpZyAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBGYWRlSW5SaWdodCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uRmFkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluUmlnaHQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluUmlnaHRCaWcgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uRmFkZUluUmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluUmlnaHRCaWcgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluVXAgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLkZhZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJblVwICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJblVwQmlnICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLkZhZGVJblVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJblVwQmlnICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZsaXAgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG4uRmxpcCB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZsaXAgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmxpcEluWCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbi5GbGlwSW5YIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGlwSW5YICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZsaXBJblkgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG4uRmxpcEluWSB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgRmxpcEluWSAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBGbGlwT3V0WCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5GbGlwT3V0WCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZsaXBPdXRYICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZsaXBPdXRZICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLkZsaXBPdXRZIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgRmxpcE91dFkgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgTGlnaHRTcGVlZEluICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLkxpZ2h0U3BlZWRJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIExpZ2h0U3BlZWRJbiAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBMaWdodFNwZWVkT3V0ICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLkxpZ2h0U3BlZWRPdXQge1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBMaWdodFNwZWVkT3V0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJvdGF0ZUluICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLlJvdGF0ZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFJvdGF0ZUluICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJvdGF0ZUluRG93bkxlZnQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5Sb3RhdGVJbkRvd25MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgUm90YXRlSW5Eb3duTGVmdCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb3RhdGVJbkRvd25SaWdodCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uUm90YXRlSW5Eb3duUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgUm90YXRlSW5Eb3duUmlnaHQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgUm90YXRlSW5VcExlZnQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5Sb3RhdGVJblVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBSb3RhdGVJblVwTGVmdCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb3RhdGVJblVwUmlnaHQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uUm90YXRlSW5VcFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBSb3RhdGVJblVwUmlnaHQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgSGluZ2UgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgMjAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDQwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uSGluZ2Uge1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgSGluZ2UgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgUm9sbEluICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLlJvbGxJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgUm9sbEluICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJvbGxPdXQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOyB9IH1cblxuLlJvbGxPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBSb2xsT3V0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFpvb21JbiAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLlpvb21JbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgWm9vbUluICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFpvb21JbkRvd24gKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLlpvb21JbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBab29tSW5Eb3duICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFpvb21JbkxlZnQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLlpvb21JbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBab29tSW5MZWZ0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFpvb21JblJpZ2h0ICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uWm9vbUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgWm9vbUluUmlnaHQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgWm9vbUluVXAgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5ab29tSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBab29tSW5VcCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBTbGlkZURvd24gKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLlNsaWRlSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFNsaWRlRG93biAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBTbGlkZUluTGVmdCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uU2xpZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgU2xpZGVJbkxlZnQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgU2xpZGVJblJpZ2h0ICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5TbGlkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFNsaWRlSW5SaWdodCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBTbGlkZUluVXAgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLlNsaWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgU2xpZGVJblVwICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNsaWRlciAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBMaWdodCBTbGlkZXIgKioqKioqKioqKioqKi9cbi5zbGlkZXJXcmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2xpZGVya2l0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2xpZGVya2l0IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuc2xpZGVya2l0IGE6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgIzAwMDsgfVxuICAuc2xpZGVya2l0IGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5zbGlkZXJraXQgLnNsaWRlcmtpdC1uYXYge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7IH1cbiAgLnNsaWRlcmtpdCAuc2xpZGVya2l0LW5hdi1jbGlwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zbGlkZXJraXQgLnNsaWRlcmtpdC1uYXYtY2xpcCB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5zbGlkZXJraXQgLnNsaWRlcmtpdC1uYXYtY2xpcCB1bCBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC5zbGlkZXJraXQgLnNsaWRlcmtpdC1uYXYtY2xpcCB1bCBsaSBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zbGlkZXJraXQgLnNsaWRlcmtpdC1idG4ge1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5zbGlkZXJraXQgLnNsaWRlcmtpdC1wYW5lbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5zbGlkZXJraXQgLnNsaWRlcmtpdC1wYW5lbCAuc2xpZGVya2l0LXBhbmVsLXRleHRib3gge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5zbGlkZXJraXQgLnNsaWRlcmtpdC1wYW5lbCAuc2xpZGVya2l0LXBhbmVsLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAuc2xpZGVya2l0IC5zbGlkZXJraXQtcGFuZWwgLnNsaWRlcmtpdC1wYW5lbC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gIC5zbGlkZXJraXQgLnNsaWRlcmtpdC1wYW5lbC1hY3RpdmUge1xuICAgIHotaW5kZXg6IDU7IH1cbiAgLnNsaWRlcmtpdCAuc2xpZGVya2l0LXBhbmVsLW9sZCB7XG4gICAgei1pbmRleDogNDsgfVxuICAuc2xpZGVya2l0IC5zbGlkZXJraXQtY291bnQge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogNXB4O1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5zbGlkZXJraXQgLnNsaWRlcmtpdC10aW1lciB7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7IH1cblxuLyoqKioqKioqKioqKiBWZXJ0aWNhbCBBbmQgSG9yaXpvbnRhbCAqKioqKioqKioqKioqL1xuLnNsaWRlci12ZXJ0aWNhbCB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5zbGlkZXItdmVydGljYWwgLnNsaWRlcmtpdC1uYXYtY2xpcCBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWRlci12ZXJ0aWNhbCAuc2xpZGVyLXZlcnRpY2FsIC5zbGlkZXItdmVydGljYWwgLnNsaWRlcmtpdC1uYXYtY2xpcCBsaSBhIC5zbGlkZXItdmVydGljYWwgLnNsaWRlcmtpdC1uYXYtY2xpcCBsaSBhIC5zbGlkZXItdmVydGljYWwgLnNsaWRlcmtpdC1wYW5lbHMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgYm9yZGVyLWltYWdlOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDsgfVxuICAuc2xpZGVyLXZlcnRpY2FsIC5zbGlkZXItdmVydGljYWwgLnNsaWRlci12ZXJ0aWNhbCAuc2xpZGVya2l0LW5hdi1jbGlwIC5zbGlkZXItdmVydGljYWwgLnNsaWRlcmtpdC1wYW5lbCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDsgfVxuICAuc2xpZGVyLXZlcnRpY2FsIC5zbGlkZXItdmVydGljYWwgLnNsaWRlcmtpdC1uZXdzIGgzIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnNsaWRlci12ZXJ0aWNhbCAuc2xpZGVyLXZlcnRpY2FsIC5zbGlkZXJraXQtbmV3cyBoMyBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udDogYm9sZCAxZW0vMS42ZW0gXCJTREZcIjsgfVxuICAuc2xpZGVyLXZlcnRpY2FsIC5zbGlkZXItdmVydGljYWwgLnNsaWRlcmtpdC1uZXdzIGltZyB7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbGlkZXItdmVydGljYWwgLnNsaWRlci12ZXJ0aWNhbCAuc2xpZGVya2l0LW5ld3MgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zbGlkZXItdmVydGljYWwgLnNsaWRlci12ZXJ0aWNhbCAuc2xpZGVya2l0LW5ld3MtcmVhZG1vcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwcHg7XG4gICAgbGVmdDogMTBweDsgfVxuICAuc2xpZGVyLXZlcnRpY2FsIC5zbGlkZXJraXQtbmF2LWNsaXAgbGkgYSB7XG4gICAgYmFja2dyb3VuZDogIzAwNjY4ZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5zbGlkZXItdmVydGljYWwgLnNsaWRlcmtpdC1uYXYtY2xpcCBsaSBhOmhvdmVyLCAuc2xpZGVyLXZlcnRpY2FsIC5zbGlkZXJraXQtbmF2LWNsaXAgbGkgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKioqKioqKioqKioqIE5hdiAqKioqKioqKioqKioqL1xuLnNsaWRlci1ob3Jpem9udGFsIC5zbGlkZXJraXQtbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7IH1cblxuLnNsaWRlci1ob3Jpem9udGFsIC5zbGlkZXJraXQtbmF2LWNsaXAgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwOyB9XG4gIC5zbGlkZXItaG9yaXpvbnRhbCAuc2xpZGVya2l0LW5hdi1jbGlwIGxpLnNsaWRlcmtpdC1zZWxlY3RlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNsaWRlci1ob3Jpem9udGFsIC5zbGlkZXJraXQtbmF2LWNsaXAgbGkuc2xpZGVya2l0LXNlbGVjdGVkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweCA1cHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNhZGIwYjMgdHJhbnNwYXJlbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0zcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogNTAlOyB9XG4gIC5zbGlkZXItaG9yaXpvbnRhbCAuc2xpZGVya2l0LW5hdi1jbGlwIGxpIGEge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NhY2RkMTtcbiAgICBiYWNrZ3JvdW5kOiAjYWRiMGIzOyB9XG4gICAgLnNsaWRlci1ob3Jpem9udGFsIC5zbGlkZXJraXQtbmF2LWNsaXAgbGkgYTpob3ZlciwgLnNsaWRlci1ob3Jpem9udGFsIC5zbGlkZXJraXQtbmF2LWNsaXAgbGkgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKioqKioqKioqKioqIFBhbmVsICoqKioqKioqKioqKiovXG4uc2xpZGVyLWhvcml6b250YWwgLnNsaWRlcmtpdC1wYW5lbHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7IH1cblxuLnNsaWRlci1ob3Jpem9udGFsIC5zbGlkZXJraXQtcGFuZWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnNsaWRlci1ob3Jpem9udGFsIC5zbGlkZXJraXQtbmV3cyBoMyB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgLnNsaWRlci1ob3Jpem9udGFsIC5zbGlkZXJraXQtbmV3cyBoMyBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250OiBib2xkIDFlbS8xLjZlbSBcIlNERlwiOyB9XG5cbi5zbGlkZXItaG9yaXpvbnRhbCAuc2xpZGVya2l0LW5ld3MgaW1nIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNsaWRlci1ob3Jpem9udGFsIC5zbGlkZXJraXQtbmV3cyBwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zbGlkZXItaG9yaXpvbnRhbCAuc2xpZGVya2l0LW5ld3MtcmVhZG1vcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMTBweDsgfVxuXG4vKioqKioqKioqKioqIE5hdiAqKioqKioqKioqKioqL1xuLnNsaWRlci1ob3Jpem9udGFsLXRleHQgLnNsaWRlcmtpdC1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDsgfVxuXG4uc2xpZGVyLWhvcml6b250YWwtdGV4dCAuc2xpZGVya2l0LW5hdi1jbGlwIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMDsgfVxuICAuc2xpZGVyLWhvcml6b250YWwtdGV4dCAuc2xpZGVya2l0LW5hdi1jbGlwIGxpIGEge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZDNkM2QzOyB9XG4gICAgLnNsaWRlci1ob3Jpem9udGFsLXRleHQgLnNsaWRlcmtpdC1uYXYtY2xpcCBsaSBhOmhvdmVyLCAuc2xpZGVyLWhvcml6b250YWwtdGV4dCAuc2xpZGVya2l0LW5hdi1jbGlwIGxpIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLnNsaWRlci1ob3Jpem9udGFsLXRleHQgLnNsaWRlcmtpdC1wYW5lbHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7IH1cblxuLnNsaWRlci1ob3Jpem9udGFsLXRleHQgLnNsaWRlcmtpdC1wYW5lbCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZmYyZjMgMCwgI2NjZDFkMyAxMDAlKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5zbGlkZXItaG9yaXpvbnRhbC10ZXh0IC5zbGlkZXJraXQtbmV3cyBoMyB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgLnNsaWRlci1ob3Jpem9udGFsLXRleHQgLnNsaWRlcmtpdC1uZXdzIGgzIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQ6IGJvbGQgMWVtLzEuNmVtIFwiU0RGXCI7XG4gICAgcGFkZGluZy10b3A6IDVweDsgfVxuXG4uc2xpZGVyLWhvcml6b250YWwtdGV4dCAuc2xpZGVya2l0LW5ld3MgaW1nIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNsaWRlci1ob3Jpem9udGFsLXRleHQgLnNsaWRlcmtpdC1uZXdzIHAge1xuICBtYXJnaW46IDA7IH1cblxuLnNsaWRlci1ob3Jpem9udGFsLXRleHQgLnNsaWRlcmtpdC1uZXdzLXJlYWRtb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDEwcHg7IH1cblxuLyoqKioqKioqKioqKiBMaWdodCBTbGlkZXIgUGFnZXIgKioqKioqKioqKioqKi9cbi5zbGlkZXJraXRTZXBhcmF0b3Ige1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWFlZGVlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2JjYzJjMzsgfVxuXG4uc2xpZGVya2l0Q29udHJvbEJhciB7XG4gIGhlaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA3MnB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG4gIC5zbGlkZXJraXRDb250cm9sQmFyIC5jb250cm9sQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuc2xpZGVya2l0Q29udHJvbEJhciAuY29udHJvbE5leHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkltYWdlcy9OYXZpZ2F0aW9uQnV0dG9ucy5wbmdcIik7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAuc2xpZGVya2l0Q29udHJvbEJhciAuY29udHJvbFByZXZpb3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJJbWFnZXMvTmF2aWdhdGlvbkJ1dHRvbnMucG5nXCIpO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNHB4IDA7IH1cbiAgLnNsaWRlcmtpdENvbnRyb2xCYXIgLmNvbnRyb2xTdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJJbWFnZXMvTmF2aWdhdGlvbkJ1dHRvbnMucG5nXCIpO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0OHB4IDA7IH1cbiAgLnNsaWRlcmtpdENvbnRyb2xCYXIgLmNvbnRyb2xQbGF5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJJbWFnZXMvTmF2aWdhdGlvbkJ1dHRvbnMucG5nXCIpO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3MnB4IDA7IH1cblxuLmxpZ2h0Um90YXRvckNvbXBsZXggLnBhbmVsVGV4dEFuZFBhZ2VyIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VmZjJmMyAwLCAjY2NkMWQzIDEwMCUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzdjYmNkOyB9XG5cbi5saWdodFJvdGF0b3JDb21wbGV4IC5wYW5lbE5hdmlnYXRvckFuZEltYWdlcyB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmxpZ2h0Um90YXRvckNvbXBsZXggLnNsaWRlcmtpdFBhZ2luZ0luZm9ybWF0aW9uIHtcbiAgcGFkZGluZy1yaWdodDogNXB4OyB9XG5cbi8qKioqKioqKioqKiogU3RhcnQgT2YgYWNjb3JkaW9uIFNsaWRlciAqKioqKioqKioqKioqL1xuLmFjY29yZGlvbi1jYXJldCAuYWNjb3JkaW9uLXRvZ2dsZTphZnRlcixcbi5hY2NvcmRpb24tY2FyZXQgLmFjY29yZGlvbi1zd2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGZvbnQtZmFtaWx5OiBcIkdseXBoaWNvbnMgSGFsZmxpbmdzXCI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiAtMXB4OyB9XG5cbi5hY2NvcmRpb24tY2FyZXQgLmFjY29yZGlvbi10b2dnbGU6YWZ0ZXIge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYWNjb3JkaW9uLWNhcmV0IC5hY2NvcmRpb24tdG9nZ2xlOm5vdCguY29sbGFwc2VkKTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxFODU3XCI7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tY2FyZXQgLmFjY29yZGlvbi10b2dnbGUuY29sbGFwc2VkOmFmdGVyIHtcbiAgY29udGVudDogXCJcXEU4MTJcIjtcbiAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4uYWNjb3JkaW9uLWNhcmV0IC5hY2NvcmRpb24tc3dpdGNoOm5vdCguY29sbGFwc2VkKTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTgwNlwiO1xuICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5hY2NvcmRpb24tY2FyZXQgLmFjY29yZGlvbi1zd2l0Y2guY29sbGFwc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFODA1XCI7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgYWNjb3JkaW9uIFNsaWRlciAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5NZW51ICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uVG9wTWVudSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLm1haW5NZW51IC5uYXZiYXItcmlnaHQgPiBsaSA+IGEge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjhmOGY4LCAjZTllOWU5KSByZXBlYXQgc2Nyb2xsIDAgMCAjZTllOWU5O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOyB9XG5cbi5tYWluTWVudSAubmF2YmFyLXJpZ2h0ID4gbGkub3BlbiA+IGEsXG4ubWFpbk1lbnUgLm5hdmJhci1yaWdodCA+IGxpLmN1cnJlbnQgPiBhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgY29sb3I6ICNmNTAzMDM7IH1cblxuLm1haW5NZW51IC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLm1haW5NZW51IC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgIHBhZGRpbmc6IDEycHggMjBweDsgfVxuXG4ubWFpbk1lbnUgdWwgbGkubWVudUNvbGxhcHNlIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDM2cHg7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLm1haW5NZW51IHVsIGxpLm1lbnVDb2xsYXBzZSB1bCBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWFpbk1lbnUgdWwgbGkubWVudUNvbGxhcHNlIHVsIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA2cHggMTVweCA4cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjZWRiO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5tYWluTWVudSB1bCBsaS5tZW51Q29sbGFwc2UgdWwgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NlZGI7IH1cblxuLm1lbnUzZG1lZ2EgPiB1bCBsaSA+IGEgaSB7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIHBhZGRpbmctbGVmdDogM3B4OyB9XG5cbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmNWY1ZjUgMHB4LCAjZThlOGU4IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGNvbG9yOiByZWQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYWFhOyB9XG5cbi5kcm9wZG93bi1tZW51ID4gbGkub3BlbiA+IGEsIC5kcm9wZG93bi1tZW51ID4gbGkuY3VycmVudCA+IGEge1xuICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjVmNWY1IDBweCwgI2U4ZThlOCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBjb2xvcjogI2Y1MDMwMztcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhYWE7IH1cblxuLyoqKioqKioqKioqKiBTdGFydCBPZiBIb3Jpem9udGFsIE1lbnUgKioqKioqKioqKioqKi9cbi5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCB1bCAuY29sbGFwc2libGUgLnN1Yi1hcnJvdyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgLW1vei11c2UtdGV4dC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXItc3R5bGU6IGRhc2hlZCBzb2xpZCBkYXNoZWQgZGFzaGVkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogNHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDEwcHg7IH1cblxuLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHVsID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMTVweDsgfVxuXG4ubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwuZHJvcGRvd24tbWVudSB7XG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsID4gbGkge1xuICB3aWR0aDogYXV0bzsgfVxuICAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgPiBsaSA+IGEge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDE1cHg7IH1cbiAgICAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgPiBsaSA+IGEuaGFzLXN1Ym1lbnUge1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMjVweDsgfVxuXG4ubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwuZHJvcGRvd24tbWVudSB7XG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cbiAgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHVsLmRyb3Bkb3duLW1lbnUgdWwuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvOyB9XG5cbi5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCBsaSB1bCBsaSBhOmhvdmVyIC5zdWItYXJyb3csIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCBsaSB1bCBsaSAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwgdWwgLmNvbGxhcHNpYmxlIGE6aG92ZXIgLnN1Yi1hcnJvdyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0Y1MDMwMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXItc3R5bGU6IGRhc2hlZCBzb2xpZCBkYXNoZWQgZGFzaGVkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogNHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDEwcHg7IH1cblxuLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIGxpIHVsIGxpIC5zdWItYXJyb3cge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IC1tb3otdXNlLXRleHQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQgc29saWQgZGFzaGVkIGRhc2hlZCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlOyB9XG5cbi5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCBhOmhvdmVyIC5zdWItYXJyb3csIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCAuY29sbGFwc2libGUgYTpob3ZlciAuc3ViLWFycm93IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDVweCA0cHggMCA0cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjRjUwMzAzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDEwcHg7IH1cblxuLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIC5zdWItYXJyb3csIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCAuY29sbGFwc2libGUgLnN1Yi1hcnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzU4NTg1QSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxMHB4OyB9XG5cbi5tYWluTWVudSAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgPiBsaSA+IGEge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjhmOGY4LCAjZTllOWU5KSByZXBlYXQgc2Nyb2xsIDAgMCAjZTllOWU5O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOyB9XG5cbi5oYXMtc3VibWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2YtaG9yaXpvbnRhbCAuZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi8qKioqKioqKiBTaWRlIE5hdiBUb2dnbGVyICoqKioqKioqKi9cbi5kYXNoYm9hcmRQYWdlIC50b2dnbGVXcmFwIHtcbiAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gIC5kYXNoYm9hcmRQYWdlIC50b2dnbGVXcmFwIC5uYXZUb2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwYWRkaW5nOiA3cHggMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmRhc2hib2FyZFBhZ2UgLnNpdGVtZW1iZXJQYW5lbEJhckNvbnRhaW5lciAucGFuZWwge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZGFzaGJvYXJkUGFnZSAudG9nZ2xlV3JhcCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi8qKioqKioqKioqKiogU3RhcnQgT2YgTXVsdGlDb2x1bW4gTWVudSAqKioqKioqKioqKioqL1xuLm11bHRpQ29sdW1uTWVudSAubmF2LCAubXVsdGlDb2x1bW5NZW51IC5jb2xsYXBzZSwgLm11bHRpQ29sdW1uTWVudSAuZHJvcHVwLCAubXVsdGlDb2x1bW5NZW51IC5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgfVxuXG4ubXVsdGlDb2x1bW5NZW51IC5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4ubXVsdGlDb2x1bW5NZW51IC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tdWx0aUNvbHVtbk1lbnUgLm11bHRpQ29sdW1uTWVudS1jb250ZW50IHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbi5tdWx0aUNvbHVtbk1lbnUgLmRyb3Bkb3duLm11bHRpQ29sdW1uTWVudS1mdyAuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ubXVsdGlDb2x1bW5NZW51IHVsLm5hdiBsaS5kcm9wZG93bjpob3ZlciA+IHVsLmRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubXVsdGlDb2x1bW5NZW51IC5uYXZiYXItbmF2IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tdWx0aUNvbHVtbk1lbnUgLm5hdmJhci1jb2xsYXBzZSB7XG4gIG1heC1oZWlnaHQ6IDUwMHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKioqKioqKioqKioqKioqKiBTdGFydCBPZiBNYWtlIE1lbnUgRml4ICoqKioqKioqKioqKioqKioqKioqKiovXG4uZml4ZWRNZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCAjQUZBRkFGOyB9XG5cbi5kYXNoYm9hcmRQYWdlIC5maXhlZE1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmRhc2hib2FyZFBhZ2UgLmZ1bGwtd2lkdGggLmZpeGVkTWVudSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5tYWluTWVudSAuZHJvcGRvd24tbWVudSB7XG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgTWVudSBUb2dnbGVycyBJbiBNb2JpbGUgKioqKioqKioqKioqKioqKioqKioqKi9cbi5tZW51VG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogIzFDMjMzMTtcbiAgY29sb3I6ICNmMmYyZjI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTJweCAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAubWVudVRvZ2dsZSAubWVnYU1lbnVUb2dnbGVJY29uIHtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAubWVudVRvZ2dsZSAubWVnYU1lbnVUb2dnbGVJY29uIHNwYW4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIG1hcmdpbjogMnB4IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzOyB9XG4gIC5tZW51VG9nZ2xlLmNsb3NlU3RhdHVzIC5tZWdhTWVudVRvZ2dsZUljb24gc3BhbjpudGgtY2hpbGQoMSkge1xuICAgIHRvcDogNnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAubWVudVRvZ2dsZS5jbG9zZVN0YXR1cyAubWVnYU1lbnVUb2dnbGVJY29uIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5tZW51VG9nZ2xlLmNsb3NlU3RhdHVzIC5tZWdhTWVudVRvZ2dsZUljb24gc3BhbjpudGgtY2hpbGQoMykge1xuICAgIHRvcDogLTZweDtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgTWVnYSBNZW51ICoqKioqKioqKioqKioqKioqKioqKiovXG4ubWVudTNkbWVnYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC5tZW51M2RtZWdhLnZlcnRpY2FsIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLm1lbnUzZG1lZ2E6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lbnUzZG1lZ2EgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm1lbnUzZG1lZ2EgdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLm1lbnUzZG1lZ2EgdWwgbGk6aG92ZXIgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZW51M2RtZWdhIGxpLmN1cnJlbnQgc3Bhbi5hcnJvdy1pY29uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0NCU7XG4gICAgbGVmdDogMTZweDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gIC5tZW51M2RtZWdhIGxpLmN1cnJlbnQgc3Bhbi5hcnJvdy1pY29uLWJvdHRvbTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDYlO1xuICAgIGxlZnQ6IDhweDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCAjMzMzO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLm1lbnUzZG1lZ2EgbGkgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFDMjMzMTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgxNzAsIDE3MCwgMTcwLCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubWVudTNkbWVnYSBsaSAuZHJvcGRvd24tbWVudS5vcGVuTGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1lbnUzZG1lZ2EgbGkgLmRyb3Bkb3duLW1lbnUgbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjNGQ0ZDRkO1xuICAgICAgYmFja2dyb3VuZDogIzFDMjMzMTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAubWVudTNkbWVnYSBsaSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubWVudTNkbWVnYSBsaSB1bCBsaSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51M2RtZWdhIGxpIC5zdWIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMjA7IH1cbiAgICAubWVudTNkbWVnYSBsaSAuc3ViLm9wZW5Cb3R0b20ge1xuICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tZW51M2RtZWdhIGxpIC5ncmlzYm94IGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmJiYmI7XG4gICAgbWFyZ2luOiAwcHggMHB4IDRweCAwcHg7XG4gICAgcGFkZGluZzogNHB4IDZweCA0cHggNnB4O1xuICAgIHdpZHRoOiAxMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDJweCAycHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCAjY2NjOyB9XG4gIC5tZW51M2RtZWdhIGEge1xuICAgIG91dGxpbmU6IDAgbm9uZTtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAgIC5tZW51M2RtZWdhIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM1MjZkZDA7IH1cbiAgICAubWVudTNkbWVnYSBhOnZpc2l0ZWQge1xuICAgICAgb3V0bGluZTogMCBub25lOyB9XG4gIC5tZW51M2RtZWdhID4gdWwgPiBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNjE2QjdBOyB9XG4gICAgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxQzIzMzE7IH1cbiAgICAgIC5tZW51M2RtZWdhID4gdWwgPiBsaTpob3ZlciA+IC5hcnJvdy1pY29uLWJvdHRvbSwgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpOmhvdmVyID4gYSwgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpOmhvdmVyID4gLmFycm93LWljb24tYm90dG9tOmFmdGVyLCAubWVudTNkbWVnYSA+IHVsID4gbGk6aG92ZXIgPiBhOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gICAgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpLnJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5tZW51M2RtZWdhID4gdWwgPiBsaS5maXJzdCB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpLmxhc3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAubWVudTNkbWVnYSA+IHVsID4gbGkuZnVsbC13aWR0aCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAubWVudTNkbWVnYSA+IHVsID4gbGkgPiBhLCAubWVudTNkbWVnYSA+IHVsID4gbGkgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpIHAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubWVudTNkbWVnYSA+IHVsID4gbGkgLmljb24tbWVudSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDdweDsgfVxuICAgIC5tZW51M2RtZWdhID4gdWwgPiBsaSA+IC5hcnJvdy1pY29uLCAubWVudTNkbWVnYSA+IHVsID4gbGkgPiAuYXJyb3ctaWNvbi1ib3R0b20ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpLm5vLWxpbms6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1lbnUzZG1lZ2EgPiB1bCBsaSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zczsgfVxuICAgIC5tZW51M2RtZWdhID4gdWwgbGk6aG92ZXIsIC5tZW51M2RtZWdhID4gdWwgbGkuY3VycmVudCB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICMxQzIzMzEgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5tZW51M2RtZWdhID4gdWwgbGk6aG92ZXIgYSwgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAubWVudTNkbWVnYSA+IHVsIGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm1lbnUzZG1lZ2EgPiB1bCBsaSA+IGEuaGFzLXN1Ym1lbnUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLm1lbnUzZG1lZ2EgPiB1bCBsaSA+IGEuaGFzLXN1Ym1lbnU6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcbiAgICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMTdweDtcbiAgICAgICAgICBjb250ZW50OiBcIlxcRTgxRFwiO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OyB9XG4gIC5tZW51M2RtZWdhIGRpdltjbGFzcyo9XCJhbmltYXRlLVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLm1lbnUzZG1lZ2EgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luOiAwIDAgMjJweCAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAubWVudTNkbWVnYSBzcGFuLmFycm93LWljb246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ0JTtcbiAgICBsZWZ0OiAxNnB4O1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXI6IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgLm1lbnUzZG1lZ2Egc3Bhbi5hcnJvdy1pY29uLWJvdHRvbTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDYlO1xuICAgIGxlZnQ6IDhweDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCAjMzMzO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLm1lbnUzZG1lZ2EgLm1lbnUtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzk0MzUyOyB9XG4gIC5tZW51M2RtZWdhIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgLm1lbnUzZG1lZ2EgLmNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAubWVudTNkbWVnYSAuc2VwYXJhdGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9XG4gIC5tZW51M2RtZWdhIC5jbGVhcmZpeCA+IC5tZW51LXRpdGxlIHtcbiAgICBtYXJnaW46IDEwcHggMjBweDsgfVxuICAubWVudTNkbWVnYSAubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lbnUzZG1lZ2EgLnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAubWVudTNkbWVnYSAuZ3JpZC1kZW1vIFtjbGFzcyo9XCJjb2wtbGdcIl0ge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IH1cbiAgLm1lbnUzZG1lZ2EgLmZ1bGwtd2lkdGggLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUzZG1lZ2EgLmltZ2NsYXNzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICM2NjY2NjY7IH1cbiAgLm1lbnUzZG1lZ2EgLnRleHQge1xuICAgIHdpZHRoOiAyMzBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubWVudTNkbWVnYSAubWVudS10aXRsZSB7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4OyB9XG4gIC5tZW51M2RtZWdhIC5kZXNjIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLm1lbnUzZG1lZ2EgLnNlcGFyYXRvciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwcHggMCAxMHB4IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgICAubWVudTNkbWVnYSAuc2VwYXJhdG9yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gYSwgLmRyb3Bkb3duLXN1Ym1lbnU6Zm9jdXMgPiBhIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzMzMzsgfVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAud3Atbm9uLWRyb3Bkb3duIC5idG4ge1xuICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDZweDsgfSB9XG5cbi5zZXBhcmF0b3I6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgUkVTUE9OU0lWRSBNZW51ICoqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTQ1JFRU4gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWVudTNkbWVnYS5yZXNwb25zaXZlIC5tZW51VG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgPiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi8qIE1PQklMRSovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1lbnUzZG1lZ2EgbGkgLnN1YiB7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAubWVudTNkbWVnYSA+IHVsIGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5tZW51M2RtZWdhID4gdWwgbGkgPiBhLmhhcy1zdWJtZW51OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDZweCA0cHggMCA0cHg7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDAzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbWFyZ2luLXRvcDogLTRweDsgfVxuICAubWVudTNkbWVnYSA+IHVsIHVsIGxpID4gYS5oYXMtc3VibWVudTpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAubWVudTNkbWVnYSA+IHVsIGxpID4gYS5oYXMtc3VibWVudTpob3ZlcjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogIzUyNmRkMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgPiB1bCA+IGxpLCAubWVudTNkbWVnYS5yZXNwb25zaXZlIGxpLm1lbnUtbm9uLWRyb3Bkb3duIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgLndwLW5vbi1kcm9wZG93biB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSA+IHVsID4gbGkgPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSA+IHVsID4gbGksIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgbGkubWVudS1ub24tZHJvcGRvd24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgPiB1bCA+IGxpID4gLmFycm93LWljb24tYm90dG9tOmFmdGVyIHtcbiAgICBsZWZ0OiA1JTsgfSB9XG5cbi8qIE1PQklMRSAmIFRBQkxFVCovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAubWVudTNkbWVnYS5yZXNwb25zaXZlIC5tZW51VG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWVudTNkbWVnYS5yZXNwb25zaXZlIC5jb250YWN0LWZvcm0gaW5wdXRbdHlwZT10ZXh0XSwgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSAuY29udGFjdC1mb3JtIHRleHRhcmVhIHtcbiAgICAgIHdpZHRoOiA5OCU7IH1cbiAgICAubWVudTNkbWVnYS5yZXNwb25zaXZlID4gdWwgPiBsaSA+IGEsIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgPiB1bCA+IGxpID4gLmFycm93LWljb24sIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgPiB1bCA+IGxpID4gLmFycm93LWljb24tYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgbGkgPiAuYXJyb3ctaWNvbjphZnRlciB7XG4gICAgICBib3JkZXI6IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgLyoqKioqKioqKioqIFJpZ2h0IENoYW5nZWQgVG8gTGVmdCoqKioqKioqKiovXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgbGkgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSA+IHVsID4gbGkge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgVkVSVElDQUwgU1RZTEUgT05MWSBTQ1JFRU4gKioqKioqKioqKioqKioqKioqKioqKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWVudTNkbWVnYS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyoqKioqKioqKioqKioqKioqKiAoKChJTiBSVEwgVkVSU0lPTikpKSBGbG9hdCBDaGFuZ2VkIFRvIFJpZ2h0ICoqKioqKioqKioqKioqKioqKi9cbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubWVudTNkbWVnYS52ZXJ0aWNhbCAuZHJvcGRvd24tbWVudSB7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgLm1lbnUzZG1lZ2EudmVydGljYWwgLmRyb3Bkb3duLW1lbnUuZmx5b3V0LW1lbnUge1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5tZW51M2RtZWdhLnZlcnRpY2FsID4gdWwgPiBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubWVudTNkbWVnYS52ZXJ0aWNhbCBzcGFuLmFycm93LWljb24tYm90dG9tOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogc29saWQgIzMzMztcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgLm1lbnUzZG1lZ2EudmVydGljYWwgbGk6aG92ZXIgc3Bhbi5hcnJvdy1pY29uLWJvdHRvbTphZnRlciB7XG4gICAgICBib3JkZXI6IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAgIC5tZW51M2RtZWdhLnZlcnRpY2FsID4gdWwgPiBsaSB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKioqKioqKioqKioqKioqRm9yIEZ1dHVyZSoqKioqKioqKioqKioqKioqKiovXG4vKi5tZW51VG9nZ2xlIC5tZWdhTWVudVRvZ2dsZS1pY29uIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgcmdiYSgyMzAsIDIzMCwgMjMwLCAwLjcpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBoZWlnaHQ6IDJweDtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB3aWR0aDogMTZweDtcclxufVxyXG4ubWVudVRvZ2dsZSAgLm1lZ2FNZW51VG9nZ2xlLWljb24ge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgcmdiYSgyMzAsIDIzMCwgMjMwLCAwLjgpO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsLTRweCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgcmdiYSgyMzAsIDIzMCwgMjMwLCAwLjkpO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLC04cHgsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcbiAgICAgICAgdG9wOiAtOHB4O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZW51LXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwIHJnYmEoMjMwLCAyMzAsIDIzMCwgMC43KTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB3aWR0aDogMTZweDtcclxufSovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblB1c2ggTWVudSAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmxhcmdlRHVyYXRpb25UcmFuc2l0aW9uLCAucHVzaE1lbnVUYWJQYW5lbCwgLnB1c2hNZW51T3BlbiAucHVzaE1lbnVUYWJQYW5lbCwgLnB1c2hNZW51T3BlbiAucHVzaE1lbnVMaW5rc1dyYXAsIC5wdXNoTWVudUxpbmtzV3JhcCwgLnB1c2hNZW51V3JhcHBlciAucHVzaE1lbnVPcGVuIC50YWJQYW5lbFNldCwgLnB1c2hNZW51V3JhcHBlciAudGFicGFuZWxDb250ZW50LCAucHVzaE1lbnVPcGVuIC50YWJQYW5lbENvbnRlbnQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMG1zO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDAwbXMsIDEwMDBtcywgMG1zOyB9XG5cbi5tYWluQ29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGxlZnQgMzc1bXMgZWFzZS1pbi1vdXQgMG1zO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5wdXNoTWVudU9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5wdXNoTWVudU9wZW4gLm1haW5Db250ZW50IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMjFlbTsgfVxuXG4ucHVzaE1lbnVMaW5rc1dyYXAge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMG1zO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcywgMzc1bXMsIDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBlYXNlLWluLW91dCwgbGluZWFyO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB3aWR0aDogMTVlbTsgfVxuICAucHVzaE1lbnVMaW5rc1dyYXAgPiBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbWVkaXVtIG5vbmU7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIG1hcmdpbjogMC42MjVlbSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMC45Mzc1ZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgcmlnaHQgMjUwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCkgMHMsIGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC01JTtcbiAgICB6LWluZGV4OiAwOyB9XG4gICAgLnB1c2hNZW51TGlua3NXcmFwID4gbGkgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250OiBib2xkIDE2cHggXCJTREZcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCByaWdodCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7IH1cblxuLnB1c2hNZW51T3BlbiAucHVzaE1lbnVMaW5rc1dyYXAgPiBsaSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLnB1c2hNZW51TGlua3NXcmFwIGxpOmhvdmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHJpZ2h0OiAwOyB9XG4gIC5wdXNoTWVudUxpbmtzV3JhcCBsaTpob3ZlciBzcGFuIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ubWFpblBhZ2VzIHtcbiAgcGFkZGluZy1sZWZ0OiAzZW07XG4gIHdpZHRoOiAxMGVtOyB9XG4gIC5tYWluUGFnZXMgbGkge1xuICAgIGJvcmRlci1ib3R0b206IG1lZGl1bSBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgbWFyZ2luOiAwLjYyNWVtIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwLjkzNzVlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCByaWdodCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogOTUlO1xuICAgIGJhY2tncm91bmQ6ICMwMDVlYjg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDsgfVxuICAgIC5tYWluUGFnZXMgbGk6aG92ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLnB1c2hNZW51VGFiUGFuZWwge1xuICB3aWR0aDogMjhlbTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHZpc2liaWxpdHkgMG1zIGxpbmVhciAzNzVtcztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAtMjhlbTtcbiAgei1pbmRleDogNTEwOyB9XG5cbi5wdXNoTWVudU9wZW4gLnB1c2hNZW51VGFiUGFuZWwge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmcgYSwgLnBhbmVsLXB1c2htZW51LW5vY2hpbGQgYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWJvZHkgbGkgYSB7XG4gIGNvbG9yOiAjYjRiMmFkOyB9XG5cbi5wdXNoTWVudU9wZW4ge1xuICByaWdodDogMDsgfVxuICAucHVzaE1lbnVPcGVuIC5wdXNoTWVudUxpbmtzV3JhcCB7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgbGluZWFyOyB9XG5cbi5wdXNoTWVudUxpbmtzV3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHdpZHRoIDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgcmlnaHQgMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgMzc1bXM7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAzZW07XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA1MDA7IH1cblxuLnB1c2hNZW51U2V0QWN0aXZlIHtcbiAgcmlnaHQ6IDI3ZW07IH1cblxuLmZvcmNlOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKi0tIG1hc2tpbmcgdGhlIHBhZ2UgYWZ0ZXIgb3BlbmluZyBuYXZpZ2F0aW9uIC0tKi9cbi5wdXNoTWVudU92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ0LCA0NCwgNTEsIDApO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDBtcyBsaW5lYXIgMzc1bXMsIGJhY2tncm91bmQtY29sb3IgMzc1bXMgZWFzZS1pbi1vdXQgMG1zO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMDsgfVxuXG4ucHVzaE1lbnVPcGVuIC5wdXNoTWVudU92ZXJsYXkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ0LCA0NCwgNTEsIDAuOSk7XG4gIGN1cnNvcjogdXJsKFwiaW1hZ2VzL2N1cnNvci1jbG9zZS5wbmdcIiksIGF1dG87XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcywgMG1zLCAwbXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zLCAwbXMsIDM3NW1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGxpbmVhciwgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDUwMDsgfVxuXG4ucHVzaE1lbnVPcGVuIC5wdXNoTWVudVRhYlBhbmVsIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgbGluZWFyO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5wdXNoTWVudVdyYXBwZXIge1xuICB3aWR0aDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA4MDMwOyB9XG5cbi8qY2xvc2UgbmF2aWdhdGlvbiBieSBjbGlja2luZyBvbiBvdmVybGF5IHNlY3Rpb24qL1xuLnRhYnBhbmVsU2V0Q2xvc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAtMjhlbTsgfVxuXG4ucHVzaE1lbnVDbG9zZSB7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qc3R5bGVzIGZvciBoYW1idXJnZXIgYW5kIGNsb3NlIGJ1dHRvbiAqL1xuLnB1c2hNZW51V3JhcHBlciAucHVzaE1lbnVPcGVuIC50YWJQYW5lbFNldCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGxpbmVhcjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4ucHVzaE1lbnVXcmFwcGVyIC50YWJQYW5lbFNldCB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogd2lkdGggMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHZpc2liaWxpdHkgMG1zIGxpbmVhciAzNzVtcztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnB1c2hNZW51V3JhcHBlciAudGFicGFuZWxDb250ZW50IHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBkaXJlY3Rpb246IGx0cjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgdmlzaWJpbGl0eSAwbXMgbGluZWFyIDM3NW1zOyB9XG5cbi5wdXNoTWVudU9wZW4gLnRhYlBhbmVsQ29udGVudCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGxpbmVhcjsgfVxuXG4udGFicGFuZWxDb250ZW50IC5jb250ZW50LCAudGFicGFuZWxDb250ZW50IC5jb250ZW50IGEge1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogY2xvc2UgYm94ICovXG4ucHVzaE1lbnVDbG9zZUljbzpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpOyB9XG5cbi5wdXNoTWVudUNsb3NlSWNvOmFmdGVyLCAucHVzaE1lbnVDbG9zZUljbzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMC4xOGVtIHNvbGlkICNmZmY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXRvcC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcztcbiAgd2lkdGg6IDQwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlOyB9XG5cbi5wdXNoTWVudUNsb3NlSWNvOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7IH1cblxuLm1haW4tbmF2LW9wZW4gLnB1c2hNZW51VGFiUGFuZWwgLnB1c2hNZW51Q2xvc2VJY28sIC5wdXNoTWVudVRhYlBhbmVsIC5wdXNoTWVudUNsb3NlSWNvIHtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMTAwMG1zO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnB1c2hNZW51VGFiUGFuZWwgLnB1c2hNZW51Q2xvc2VJY28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogI2U1ZTJlMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBtcywgdmlzaWJpbGl0eSAwbXMgbGluZWFyIDI1MG1zLCBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0IDBtcztcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5wdXNoTWVudVRhYlBhbmVsIC5wdXNoTWVudUNsb3NlSWNvOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyYzMzO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5wdXNoTWVudUNsb3NlSWNvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgY29sb3I6ICNiNGIyYWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogM2VtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XG4gIHdpZHRoOiAzZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA7IH1cblxuLyogSGFtYnVyZ2VyIEljb24gKi9cbi5wdXNoTWVudVdyYXBwZXIgLmhhbWJ1cmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgwLCAxNzgsIDE3MywgMC41KTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1kZWxheTogMG1zLCAwbXMsIDBtcywgMzc1bXMsIDM3NW1zLCAzNzVtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0LCBlYXNlLWluLW91dCwgZWFzZS1pbi1vdXQsIGVhc2UtaW4tb3V0LCBlYXNlLWluLW91dCwgbGluZWFyO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAyNTBtcyBlYXNlLWluLW91dCAwbXMsIHBhZGRpbmctcmlnaHQgMjUwbXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAzNzVtcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwbXMsIGNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBtcywgdmlzaWJpbGl0eSAwbXMgbGluZWFyIDBtcztcbiAgd2lkdGg6IDVlbTtcbiAgaGVpZ2h0OiA0ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjVlbSAyLjVlbSAxZW0gM2VtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogLTZlbTtcbiAgei1pbmRleDogOTk5OTsgfVxuICAucHVzaE1lbnVXcmFwcGVyIC5oYW1idXJnZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGVhc2UtaW4tb3V0LCBlYXNlLWluLW91dDtcbiAgICByaWdodDogMDsgfVxuICAgIC5wdXNoTWVudVdyYXBwZXIgLmhhbWJ1cmdlcjpob3ZlciBpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLnB1c2hNZW51V3JhcHBlciAuaGFtYnVyZ2VyIGkge1xuICAgIHdpZHRoOiAxOXB4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjbGVhcjogYm90aDtcbiAgICB6LWluZGV4OiA5OTk5OyB9XG5cbi5oaWRlUHVzaE1lbnVMaW5rcyAuaGFtYnVyZ2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogLTFlbTtcbiAgei1pbmRleDogOTk5OTsgfVxuICAuaGlkZVB1c2hNZW51TGlua3MgLmhhbWJ1cmdlcjpob3ZlciB7XG4gICAgcmlnaHQ6IC0wLjNlbTsgfVxuXG4uaGlkZVB1c2hNZW51TGlua3MgLnB1c2hNZW51TGlua3NXcmFwIHtcbiAgcmlnaHQ6IC0yOGVtOyB9XG5cbi5zaG93UHVzaE1lbnVMaW5rcyAucHVzaE1lbnVMaW5rc1dyYXAge1xuICByaWdodDogMDsgfVxuXG4uc2hvd1B1c2hNZW51TGlua3MgLmhhbWJ1cmdlciB7XG4gIHJpZ2h0OiAtNmVtOyB9XG5cbi5wdXNoTWVudU9wZW4uc2hvd1B1c2hNZW51TGlua3MgLnB1c2hNZW51TGlua3NXcmFwIHtcbiAgcmlnaHQ6IDI4ZW07IH1cblxuLnBhbmVsLXB1c2htZW51LCAucGFuZWwtcHVzaG1lbnUtbm9jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJjMmMzMztcbiAgdHJhbnNpdGlvbjogYWxsIC40czsgfVxuXG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmcge1xuICBtYXJnaW4tbGVmdDogMzlweDtcbiAgdHJhbnNpdGlvbjogYWxsIC40czsgfVxuICAucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmc6aG92ZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmMzMyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXM7IH1cbiAgLnBhbmVsLXB1c2htZW51IC5wYW5lbC1oZWFkaW5nIGEge1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnBhbmVsLXB1c2htZW51LW5vY2hpbGQ6aG92ZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyYzMzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zOyB9XG5cbi5wYW5lbC1wdXNobWVudS1ub2NoaWxkIGEge1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmc6aG92ZXIgYSwgLnBhbmVsLXB1c2htZW51LW5vY2hpbGQ6aG92ZXIgYSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cblxuLnBhbmVsLXB1c2htZW51IC5wYW5lbC1ib2R5IHtcbiAgcGFkZGluZzogMDsgfVxuICAucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWJvZHkgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyYzJjMzM7XG4gICAgcGFkZGluZzogOHB4IDEwcHggOHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmctcmlnaHQgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIHBhZGRpbmctbGVmdCAyNTBtcyBlYXNlLWluLW91dCAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgbWFyZ2luLXJpZ2h0OiAyZW07IH1cbiAgICAucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWJvZHkgbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmMzMyAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZy1yaWdodCAyNTBtcyBlYXNlLWluLW91dCAwcywgcGFkZGluZy1sZWZ0IDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBjb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNWVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLnBhbmVsLXB1c2htZW51IC5wYW5lbC1ib2R5IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMmMyYzMzOyB9XG4gICAgLnBhbmVsLXB1c2htZW51IC5wYW5lbC1ib2R5IGxpIDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLnBhbmVsLXB1c2htZW51IHVsIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyYzJjMzM7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBhbmVsLXB1c2htZW51IC5wYW5lbC1oZWFkaW5nW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYW5lbC1wdXNobWVudSAucGFuZWwtaGVhZGluZ1thcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcXGU5MzZcIjtcbiAgICBjb2xvcjogIzdlN2U3YztcbiAgICBmb250OiAxOHB4LzQ1cHggXCJHbHlwaGljb25zIEhhbGZsaW5nc1wiO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICMxNjE2MWE7XG4gICAgYmFja2dyb3VuZDogcmdiYSg0NCwgNDQsIDUxLCAwLjUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtNDBweDsgfVxuICAucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmdbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gOmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucGFuZWwtcHVzaG1lbnUgLmNvbGxhcHNlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFuZWwtcHVzaG1lbnUgLmNvbGxhcHNlZDphZnRlciB7XG4gICAgY29udGVudDogXCJcXGU5MzdcIjtcbiAgICBjb2xvcjogIzdlN2U3YztcbiAgICBmb250OiAxOHB4LzQ1cHggXCJHbHlwaGljb25zIEhhbGZsaW5nc1wiO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZDogIzE2MTYxYTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ0LCA0NCwgNTEsIDAuNSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC00MHB4OyB9XG4gIC5wYW5lbC1wdXNobWVudSAuY29sbGFwc2VkOmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucGFuZWwtcHVzaG1lbnUtbm9jaGlsZCB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuXG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWJvZHkgLnBhbmVsLXB1c2htZW51IC5wYW5lbC1ib2R5IGxpOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4vKlB1c2ggTWVudSBMb2dvICovXG4ucHVzaE1lbnVXcmFwcGVyIC5wdXNoTWVudUxvZ28ge1xuICBtYXJnaW46IDMwcHggYXV0byAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHVzaE1lbnVXcmFwcGVyIC5pbWdQdXNoTWVudUxvZ28ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5wdXNoTWVudU9wZW4gLmltZ1B1c2hNZW51TG9nbyB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBQdXNoIE1lbnUgU2VhcmNoQm94ICovXG4ucHVzaE1lbnVTZWFyY2hCb3ggLmdlbmVyYWxTZWFyY2hCb3gge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuICAucHVzaE1lbnVTZWFyY2hCb3ggLmdlbmVyYWxTZWFyY2hCb3ggLmlucHV0LWdyb3VwIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NjY2NjY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMzBweCAxOHB4IDAgMThweDtcbiAgICB3aWR0aDogOTAlOyB9XG4gIC5wdXNoTWVudVNlYXJjaEJveCAuZ2VuZXJhbFNlYXJjaEJveCwgLnB1c2hNZW51U2VhcmNoQm94IC5nZW5lcmFsU2VhcmNoQm94IC5mb3JtLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucHVzaE1lbnVTZWFyY2hCb3ggLmdlbmVyYWxTZWFyY2hCb3ggYSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbjogMnB4O1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmOyB9XG5cbi8qIHRhYiBwYW5lbCBuZXdzIHN0eWxlICovXG4ucHVzaE1lbnVXcmFwcGVyIC5uZXdzTGlzdEl0ZW0gYSwgLnB1c2hNZW51V3JhcHBlciAubmV3c0xpc3REYXRlIHtcbiAgY29sb3I6ICNiNGIyYWQ7IH1cblxuLnB1c2hNZW51V3JhcHBlciAubmV3c0xpc3RJdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyYzJjMzM7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1pbi1vdXQ7IH1cbiAgLnB1c2hNZW51V3JhcHBlciAubmV3c0xpc3RJdGVtOmhvdmVyIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgLnB1c2hNZW51V3JhcHBlciAubmV3c0xpc3RJdGVtIGE6YmVmb3JlLCAucHVzaE1lbnVXcmFwcGVyIC5uZXdzTGlzdEl0ZW0gYTphZnRlciB7XG4gICAgY29udGVudDogJycgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLmhhbWJ1cmdlciB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAtMWVtOyB9XG4gIC5wdXNoTWVudUxpbmtzV3JhcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHVzaE1lbnVUYWJQYW5lbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAudGFicGFuZWxDb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHVzaE1lbnVXcmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucHVzaE1lbnVUYWJQYW5lbCB7XG4gICAgcmlnaHQ6IC0xMzMlOyB9XG4gIC5wdXNoTWVudU9wZW4gLnB1c2hNZW51VGFiUGFuZWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC50YWJwYW5lbENvbnRlbnQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgLnRhYnBhbmVsQ29udGVudDpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgLnB1c2hNZW51T3BlbiAuaGFtYnVyZ2VyIHtcbiAgICByaWdodDogLTZlbTsgfVxuICAucHVzaE1lbnVUYWJQYW5lbCAubmV3c0xpc3RJdGVtIC5uZXdzSW1hZ2UsIC5wdXNoTWVudU92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnB1c2hNZW51V3JhcHBlciB7XG4gICAgd2lkdGg6IDA7IH1cbiAgICAucHVzaE1lbnVXcmFwcGVyIC50YWJwYW5lbENvbnRlbnQge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnB1c2hNZW51VGFiUGFuZWwge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAtMTMzJTtcbiAgICB6LWluZGV4OiA4MDMwOyB9IH1cblxuLnNjcm9sbFRvVG9wIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqKioqKioqKioqKioqKioqKipMb2dpbiBTdHlsZSoqKioqKioqKioqKioqKioqKiovXG4ubG9naW5Gb290ZXJXcmFwIC5yYWRjb21Db3B5cmlnaHRBbmRMb2dvIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAubG9naW5Gb290ZXJXcmFwIC5yYWRjb21Db3B5cmlnaHRBbmRMb2dvIC5nZW5lcmFsQ29weXJpZ2h0LCAubG9naW5Gb290ZXJXcmFwIC5yYWRjb21Db3B5cmlnaHRBbmRMb2dvIGEge1xuICAgIGNvbG9yOiAjMzMzOyB9XG5cbi5sb2dpblN0eWxlIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5sb2dpblN0eWxlIGh0bWwsIC5sb2dpblN0eWxlIGJvZHksIC5sb2dpblN0eWxlICNnZW5lcmFsTWFpbldyYXAsIC5sb2dpblN0eWxlIGZvcm0ge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5sb2dpblN0eWxlIGh0bWwubG9naW5Cb2R5LCAubG9naW5TdHlsZSBib2R5LmxvZ2luQm9keSwgLmxvZ2luU3R5bGUgI2dlbmVyYWxNYWluV3JhcC5sb2dpbkJvZHksIC5sb2dpblN0eWxlIGZvcm0ubG9naW5Cb2R5IHtcbiAgICAgIGJhY2tncm91bmQ6ICNGMEY1RkY7IH1cblxuLyoqKioqKioqKioqKioqKioqKlNhbXBhIExvZ2luIFN0eWxlKioqKioqKioqKioqKioqKioqKioqKiovXG4uYm9keVN0eWxlIHtcbiAgYmFja2dyb3VuZDogI0YwRjVGRjtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5ib2R5U3R5bGUgLm1haW5Gb290ZXJXcmFwIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgLmJvZHlTdHlsZSAubWFpbkZvb3RlcldyYXAgLnJhZGNvbUNvcHlyaWdodEFuZExvZ28ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgfVxuICAgICAgLmJvZHlTdHlsZSAubWFpbkZvb3RlcldyYXAgLnJhZGNvbUNvcHlyaWdodEFuZExvZ28gLmdlbmVyYWxDb3B5cmlnaHQge1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgICAgIC5ib2R5U3R5bGUgLm1haW5Gb290ZXJXcmFwIC5yYWRjb21Db3B5cmlnaHRBbmRMb2dvIC5nZW5lcmFsQ29weXJpZ2h0IGEge1xuICAgICAgICAgIGNvbG9yOiAjMzMzOyB9XG5cbi5sb2dpbiB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2Y1ZjhmYTtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtZmFtaWx5OiBTREY7IH1cbiAgLmxvZ2luIC5sb2dpbk1haW5Gb290ZXJXcmFwIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5sb2dpbiAjZ2VuZXJhbE1haW5XcmFwIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAubG9naW4gLnNpdGVNZW1iZXJNb2JpbGVMb2dpblNpZ251cFdyYXBwZXIgLnNpZ251cFJlbWVtYmVyTWVXcmFwcGVyIHtcbiAgICBtYXJnaW46IDAgMjJweCAxNXB4IDIycHg7IH1cbiAgLmxvZ2luIC5wYW5lbCAucGFuZWxJbWFnZSB7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87IH1cbiAgLmxvZ2luIC5wYW5lbCAucGFuZWwtYm9keSAuY29udGVudCB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxvZ2luIC5wYW5lbCAuZm9ybS1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmxvZ2luIC5wYW5lbCAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmxvZ2luIC5wYW5lbCAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwIC5oZWxwZXJMaW5rcyB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7IH1cbiAgICAgICAgLmxvZ2luIC5wYW5lbCAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwIC5oZWxwZXJMaW5rcyB1bCBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwYTE1NiAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgIC5sb2dpbiAucGFuZWwgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cCAuaGVscGVyTGlua3MgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzYzZWJhYyAhaW1wb3J0YW50OyB9XG4gICAgICAubG9naW4gLnBhbmVsIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAubG9naW5DYXB0Y2hhV3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5sb2dpbiAucGFuZWwgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cCA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgLmlucHV0LWdyb3VwLWFkZG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0VCRUJFQiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH0qLyB9XG4gICAgICAgIC5sb2dpbiAucGFuZWwgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cCA+IGRpdiAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgY29sb3I6ICM1YzY0NzM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgICAgICAubG9naW4gLnBhbmVsIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAgPiBkaXYgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSg3MywgMTI4LCAyNTUsIDAuMik7IH1cbiAgICAgICAgLmxvZ2luIC5wYW5lbCAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwID4gZGl2IC5wYXNzd29yZEJveFBvcG92ZXJUcmlnZ2VyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gIC5sb2dpbiAucGFuZWwgLnNpdGVNZW1iZXJMb2dpbiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubG9naW4gLnBhbmVsIC5zaXRlTWVtYmVyTG9naW4gdWwgbGkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLmxvZ2luIC5wYW5lbCAuc2l0ZU1lbWJlckxvZ2luIHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzczN2M4ZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIC5sb2dpbiAucGFuZWwgLnNpdGVNZW1iZXJMb2dpbiB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2QyYWM2NzsgfVxuXG4udXNlcm5hbWVGaWVsZFZhbHVlV3JhcHBlciBzcGFuLCAucGFzc3dvcmRGaWVsZFZhbHVlV3JhcHBlciBzcGFuIHtcbiAgcGFkZGluZzogNHB4IDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTNweDtcbiAgei1pbmRleDogMjA7XG4gIGJhY2tncm91bmQ6ICNmZjI4NDg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNmZmY7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjJweDtcbiAgYm9yZGVyLXJhZGl1czogMjJweDsgfVxuXG4ubG9naW5Cb2R5IC5tYWluQ29udGVudFdyYXAgPiAuY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmxvZ2luQm9keSAubWFpbkNvbnRlbnRXcmFwID4gLmNvbnRhaW5lciA+IGRpdiB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmxvZ2luIC5oZWFkZXJUb3Age1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5sb2dpbiAubWFpbkNvbnRlbnRXcmFwIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4ubG9naW4gLmxvZ2luUmlnaHRTaWRlIC5pbm5lciB7XG4gIGJhY2tncm91bmQ6ICMwMjM4NWE7XG4gIHBhZGRpbmc6IDM0cHggNTBweCAzNHB4OyB9XG5cbi5sb2dpbiAubWlkZGxlQ29sdW1uIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBtaW4taGVpZ2h0OiBhdXRvOyB9XG5cbi5sb2dpbiAubWFpbkNvbnRlbnRXcmFwID4gLmNvbnRhaW5lcjpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5sb2dpbiAubWFpbkNvbnRlbnRXcmFwIC5jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5sb2dpbiAuZ2VuZXJhbFBvd2VyZWRCeSwgLmxvZ2luIC5nZW5lcmFsQ29weXJpZ2h0IHtcbiAgcGFkZGluZzogMDsgfVxuXG4ubG9naW4gLm15UmFkY29tRmVhdHVyZXMgcCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6ICNmZGZkZmQ7XG4gIG1hcmdpbi1ib3R0b206IDIycHg7XG4gIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDsgfVxuXG4ubG9naW4gLm15TG9nbyB7XG4gIHBhZGRpbmc6IDUwcHggMjBweDsgfVxuXG4ubG9naW4gLmdseXBoaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuXG4ubG9naW4gLmxvZ2luTGVmdFNpZGUgLnBhbmVsLWJvZHkge1xuICBwYWRkaW5nLXRvcDogNDBweDsgfVxuXG4ubG9naW4gLmxvZ2luRm9ybVdyYXBwZXIgLmxpc3Qge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5sb2dpbiAubG9naW5Gb3JtV3JhcHBlciAubGlzdCBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5sb2dpbiAubG9naW5Gb3JtV3JhcHBlciAubGlzdCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMDIzODVhO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIC5sb2dpbiAubG9naW5Gb3JtV3JhcHBlciAubGlzdCBsaSBhaG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwMDBjYzsgfVxuXG4ubG9naW4gLmxvZ2luRm9ybVdyYXBwZXIgLmZvcm0tY29udHJvbCB7XG4gIG1hcmdpbi10b3A6IDE2cHg7IH1cblxuLmxvZ2luIC5sb2dpbkZvcm1XcmFwcGVyIC5SYWRDYXB0Y2hhIC5mb3JtLWNvbnRyb2wge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5sb2dpbiAubG9naW5Gb3JtV3JhcHBlciAuUmFkQ2FwdGNoYSA+IHNwYW4ge1xuICBiYWNrZ3JvdW5kOiAjZWY1NjYyO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5sb2dpbiAudXNlcm5hbWVGaWVsZFZhbHVlV3JhcHBlcixcbi5sb2dpbiAucGFzc3dvcmRGaWVsZFZhbHVlV3JhcHBlcixcbi5sb2dpbiAuZm9ybS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5sb2dpbiAudXNlcm5hbWVGaWVsZFZhbHVlV3JhcHBlciBzcGFuLFxuICAubG9naW4gLnBhc3N3b3JkRmllbGRWYWx1ZVdyYXBwZXIgc3BhbixcbiAgLmxvZ2luIC5mb3JtLWNvbnRyb2wgc3BhbiB7XG4gICAgcGFkZGluZzogNHB4IDE0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmYyODQ4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbGVmdDogMTVweDsgfVxuXG4ubG9naW4gLnNpdGVNZW1iZXJMb2dpbiAubG9naW5DYXB0Y2hhV3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmxvZ2luIC5taWRkbGVDb2x1bW4ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWluLWhlaWdodDogYXV0bzsgfVxuXG4ubG9naW4gLmJvZHlTdHlsZSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubG9naW4gLm1haW5Db250ZW50V3JhcCA+IC5jb250YWluZXI6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5sb2dpbiAucGFuZWwtc3R5bGU1IHtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5sb2dpbiAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sb2dpbiAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmc6YmVmb3JlLCAubG9naW4gLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5sb2dpbiAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgaDEsIC5sb2dpbiAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgaDIsIC5sb2dpbiAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgaDMsIC5sb2dpbiAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgaDQsIC5sb2dpbiAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgaDUsIC5sb2dpbiAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgaDYge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGNvbG9yOiAjMjYyNjI2O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZm9udC1mYW1pbHk6IFwiU0RGXCI7XG4gICAgICBwYWRkaW5nOiAwIDVweCAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiY2I4YjggIWltcG9ydGFudDsgfVxuICAubG9naW4gLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1ib2R5IHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cblxuLmxvZ2luIC5sb2dpbkxlZnRTaWRlIC5wYW5lbC1ib2R5IHtcbiAgcGFkZGluZy10b3A6IDQwcHg7IH1cblxuLmxvZ2luIC5tYWluSGVhZGVyV3JhcCB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ubG9naW4gLnNpdGVNZW1iZXJTaWdudXAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cCA+IGRpdiAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZDlkZSAhaW1wb3J0YW50OyB9XG5cbi5sb2dpbiAuc2l0ZU1lbWJlclNpZ251cCAuY2FsbGluZ0NvZGVXcmFwcGVyID4gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIHBhZGRpbmctdG9wOiAxNXB4OyB9XG5cbi5sb2dpbiAuc2l0ZU1lbWJlclNpZ251cCAubWVzc2FnZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogNHB4ICFpbXBvcnRhbnQ7IH1cblxuLmxvZ2luIC5sb2dpbkZvcm1XcmFwcGVyIC51c2VybmFtZUZpZWxkVmFsdWVXcmFwcGVyIHNwYW4sXG4ubG9naW4gLmxvZ2luRm9ybVdyYXBwZXIgLnBhc3N3b3JkRmllbGRWYWx1ZVdyYXBwZXIgc3Bhbixcbi5sb2dpbiAubG9naW5Gb3JtV3JhcHBlciAuZm9ybS1jb250cm9sIHNwYW4ge1xuICB0b3A6IDM3cHggIWltcG9ydGFudDtcbiAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmxvZ2luIGlucHV0W2lkJD1cIkNhcHRjaGFUZXh0Qm94XCJdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZDlkZSAhaW1wb3J0YW50OyB9XG5cbi5kYXNoYm9hcmRQYWdlIC5tYWluSGVhZGVyV3JhcCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmxvZ2luTGVmdFNpZGUge1xuICBwYWRkaW5nOiAwIDMwcHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5sb2dpbiAubWFpbkZvb3RlcldyYXAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxvZ2luIC5tYWluSGVhZGVyV3JhcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAubG9naW4gLmxvZ2luUmlnaHRTaWRlIC5pbm5lciB7XG4gICAgcGFkZGluZzogMzRweCAyOHB4IDM0cHg7IH1cbiAgLm15UmFkY29tRmVhdHVyZXMgcCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmxvZ2luIC5sb2dpblJlbWVtYmVyTWVXcmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5tYWluSGVhZGVyV3JhcCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxvZ2luIC5tYWluQ29udGVudFdyYXAgPiAuY29udGFpbmVyOmZpcnN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgLnBhbmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5zaXRlTWVtYmVyRm9yZ290UGFzc3dvcmRXcmFwcGVyIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAgPiBkaXYgLmJ0biB7XG4gIG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuTWFzdGVycGFnZSBMYXlvdXQgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5nZW5lcmFsTWFpbldyYXAge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5tYWluQ29udGVudFdyYXAge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5tYWluQ29udGVudFdyYXAgPiAuY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogLTIycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI0KTsgfVxuXG4ubWFpbkhlYWRlcldyYXAge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZGJlODtcbiAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5oZWFkZXJCb3R0b20ge1xuICBiYWNrZ3JvdW5kOiAjMmUzOTUxO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDsgfVxuXG4ucmlnaHRDb2x1bW4sIC5taWRkbGVXcmFwIHtcbiAgYmFja2dyb3VuZDogIzFFMjYyRDsgfVxuXG4ubWlkZGxlQ29sdW1uIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIG1pbi1oZWlnaHQ6IDc4MHB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKipEYXNoYm9hcmQgUGFnZSoqKioqKioqKioqKioqKioqKioqKioqL1xuLmRhc2hib2FyZFBhZ2Uge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5kYXNoYm9hcmRQYWdlIC5taWRkbGVDb2x1bW4ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLmRhc2hib2FyZFBhZ2UgLmhlYWRlclRvcCB7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gIC5kYXNoYm9hcmRQYWdlIC5tYWluSGVhZGVyV3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFDMjMzMTtcbiAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbWluLWhlaWdodDogNDBweDsgfVxuICAuZGFzaGJvYXJkUGFnZSAucmlnaHRDb2x1bW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxQzIzMzE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwczsgfVxuICAgIC5kYXNoYm9hcmRQYWdlIC5yaWdodENvbHVtbi5jbG9zZWQge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC41czsgfVxuICAgICAgLmRhc2hib2FyZFBhZ2UgLnJpZ2h0Q29sdW1uLmNsb3NlZCAuc2l0ZW1lbWJlclBhbmVsQmFyQ29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgICAgLmRhc2hib2FyZFBhZ2UgLnJpZ2h0Q29sdW1uLmNsb3NlZCAuc2l0ZW1lbWJlclBhbmVsQmFyQ29udGFpbmVyIC5wYW5lbCB7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmRhc2hib2FyZFBhZ2UgLmZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zaXRlbWVtYmVyVG9wQmFyID4gLnRvcEJhckl0ZW1XcmFwcGVyIHtcbiAgICBtYXJnaW46IDAgNXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5tYWluSGVhZGVyV3JhcCAuc2l0ZW1lbWJlclRvcEJhciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5kYXNoYm9hcmRQYWdlIC5taWRkbGVDb2x1bW4ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lcXVhbEhlaWdodFBhcmVudCB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuRm9ydW0gICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNkaXZGb3J1bSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uaW1nRm9ydW0ge1xuICBiYWNrZ3JvdW5kOiB1cmwoSW1hZ2VzL0ZvcnVtLnBuZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gIHdpZHRoOiAxNzFweDtcbiAgaGVpZ2h0OiAzOHB4OyB9XG5cbi8qKioqKioqKioqKiogU3RhcnQgT2YgUGFyYWxsYXggKioqKioqKioqKioqKi9cbi5wYXJhbGxheCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDsgfVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBQYXJhbGxheCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5QcmludFZlcnNpb24gICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBtZWRpYSBwcmludCB7XG4gIGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuRm9vdGVyICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubWFpbkZvb3RlcldyYXAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgYmFja2dyb3VuZDogIzFDMjMzMTsgfVxuXG4ucmFkY29tQ29weXJpZ2h0QW5kTG9nbyB7XG4gIGJhY2tncm91bmQ6ICMyZTM5NTE7XG4gIHBhZGRpbmc6IDhweCAxNXB4OyB9XG5cbi5nZW5lcmFsQ29weXJpZ2h0IHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4ucG9wdXBCb2R5IC5nZW5lcmFsQ29weXJpZ2h0IHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLmdlbmVyYWxDb3B5cmlnaHQgYSB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5kYXNoYm9hcmRQYWdlIC5yYWRjb21Db3B5cmlnaHRBbmRMb2dvIHtcbiAgcGFkZGluZzogOHB4IDAgIWltcG9ydGFudDsgfVxuXG4ubG9naW4gLmdlbmVyYWxDb3B5cmlnaHQge1xuICBjb2xvcjogIzMzMzsgfVxuICAubG9naW4gLmdlbmVyYWxDb3B5cmlnaHQgYSB7XG4gICAgY29sb3I6ICMzMzM7IH1cblxuLmxvZ2luIC5nZW5lcmFsUG93ZXJlZEJ5IGEsIC5sb2dpbiAuZ2VuZXJhbFBvd2VyZWRCeSBzcGFuIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZGFzaGJvYXJkUGFnZSAubWFpbkZvb3RlcldyYXAgLmlubmVyRm9vdGVyV3JhcCAucm93OmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmRhc2hib2FyZFBhZ2UgLm1haW5Gb290ZXJXcmFwIC5tYWluTG9nb0ltYWdlIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQWRtaW5CYXIgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5hZG1pbmJhciB7XG4gIGRpcmVjdGlvbjogcnRsO1xuICBtYXJnaW4tdG9wOiAtNTFweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogODAyMDtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJhY2tncm91bmQ6ICMxQzIzMzE7XG4gIHBhZGRpbmc6IDdweCAyMHB4IDhweDtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7IH1cbiAgLmFkbWluYmFyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBmb250LWZhbWlseTogXCJHbHlwaGljb25zIEhhbGZsaW5nc1wiO1xuICAgIGNvbG9yOiAjZGRkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xN3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7IH1cbiAgLmFkbWluYmFyOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcRTg2Myc7XG4gICAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcbiAgICBjb2xvcjogI2RkZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB3aWR0aDogMTVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjNweDtcbiAgICBsZWZ0OiAzcHg7XG4gICAgei1pbmRleDogMDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYWRtaW5iYXI6aG92ZXI6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmFkbWluYmFyIC5xdWlja2xpbmtzIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYWRtaW5iYXIgLnF1aWNrbGlua3MgdWwge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYWRtaW5iYXIgLnF1aWNrbGlua3MgdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjZjJmMmYyO1xuICAgICAgICBwYWRkaW5nOiAwIDhweCAwIDdweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIC5hZG1pbmJhciAucXVpY2tsaW5rcyB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzBiYjNmOTsgfVxuICAgICAgICAuYWRtaW5iYXIgLnF1aWNrbGlua3MgdWwgbGkgYSAuZ2x5cGhpY29uLW1hbmEge1xuICAgICAgICAgIHRvcDogLTFweDsgfVxuICAgICAgICAgIC5hZG1pbmJhciAucXVpY2tsaW5rcyB1bCBsaSBhIC5nbHlwaGljb24tbWFuYTpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAgIC5hZG1pbmJhciAucXVpY2tsaW5rcyB1bCBsaSBhIC5nbHlwaGljb24tc3RhdHMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7IH1cbiAgICAgIC5hZG1pbmJhciAucXVpY2tsaW5rcyB1bC5uYXYgbGkubXlBY2NvdW50IGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9Db21wb25lbnRzL1NpdGVNZW1iZXIvUmVzb3VyY2VzL0ltYWdlcy9BdmF0YXIucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG4gICAgICAuYWRtaW5iYXIgLnF1aWNrbGlua3MgdWwubmF2IGxpID4gYTpob3ZlciwgLmFkbWluYmFyIC5xdWlja2xpbmtzIHVsLm5hdiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5zaG93QWRtaW4uYWRtaW5iYXIge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5zaG93QWRtaW4uYWRtaW5iYXI6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIGNvbG9yOiAjMzMzOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYWRtaW5CYXJXcmFwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5IZWFkZXJMb2dvICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc2FtcGFOZXcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zdmctY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLm1haW5Mb2dvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tYWluTG9nbyBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5tYWluTG9nbyBhIC5nbHlwaGljb24tbG9nbyB7XG4gICAgICBjb2xvcjogIzU4NTg1QTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubWFpbkxvZ28gLmg1IHtcbiAgICBmb250LXNpemU6IDAuOGVtOyB9XG4gIC5tYWluTG9nbyBhIC5nbHlwaGljb24tbG9nbyB7XG4gICAgZm9udC1zaXplOiA2ZW07IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkRhdGUgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5nZW5lcmFsQ3VycmVudERhdGVUaW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjM2IzYjNiO1xuICBwYWRkaW5nOiA4cHggMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5kYXRldGltZVNlcGFyYXRvciB7XG4gIHBhZGRpbmc6IDAgNHB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2VhcmNoICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZ2VuZXJhbFNlYXJjaEJveCAuaW5wdXQtZ3JvdXAge1xuICBiYWNrZ3JvdW5kOiAjMUMyMzMxO1xuICBib3JkZXItcmFkaXVzOiA1MHB4OyB9XG4gIC5nZW5lcmFsU2VhcmNoQm94IC5pbnB1dC1ncm91cCBpbnB1dCB7XG4gICAgY29sb3I6ICM4ODk0Yjc7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuZ2VuZXJhbFNlYXJjaEJveCAuaW5wdXQtZ3JvdXAgaW5wdXQ6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4uZ2VuZXJhbFNlYXJjaEJveCBhIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW46IDJweDtcbiAgYmFja2dyb3VuZDogIzJlMzk1MTtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuICAuZ2VuZXJhbFNlYXJjaEJveCBhOmhvdmVyLCAuZ2VuZXJhbFNlYXJjaEJveCBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzODU0O1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5zZWFyY2h0aXRsZSB7XG4gIGNvbG9yOiAjMDAwMGNjO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYS5zZWFyY2h0aXRsZTpsaW5rIHtcbiAgY29sb3I6ICMwMDAwY2M7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hLnNlYXJjaHRpdGxlOnZpc2l0ZWQsIGEuc2VhcmNodGl0bGU6YWN0aXZlIHtcbiAgY29sb3I6ICM1NTFBOEI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbmEuc2VhcmNodGl0bGU6aG92ZXIge1xuICBjb2xvcjogI2ViNzYyOTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGJvcmRlci1ib3R0b206ICNlYjc2MjkgMCBzb2xpZDsgfVxuXG4uc2VhcmNoaGlnaGxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnNlYXJjaGNvdW50ZXIge1xuICBjb2xvcjogIzAwMDsgfVxuXG4uc2VhcmNoYWRkcmVzcyB7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgY29sb3I6ICMwMDgwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbmEuc2VhcmNoYWRkcmVzczpsaW5rIHtcbiAgY29sb3I6ICMwMDgwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hLnNlYXJjaGFkZHJlc3M6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYS5hZGRyZXNzOnZpc2l0ZWQsIGEuYWRkcmVzczphY3RpdmUge1xuICBjb2xvcjogIzgyODRDQztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zZWFyY2htb3JlcmVzdWx0IHtcbiAgZm9udC1zaXplOiAuOTVlbTsgfVxuXG5hLnNlYXJjaG1vcmVyZXN1bHQ6bGluayB7XG4gIGNvbG9yOiAjODI4NENDO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYS5zZWFyY2htb3JlcmVzdWx0OmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zZWFyY2hjb250ZW50bGVuZ3RoIHtcbiAgY29sb3I6ICM4ZDhkOGQ7IH1cblxuLnNlYXJjaHBhZ2VudW1iZXIge1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4uc2VhcmNocGFnZW51bWJlciB1bC5wYWdpbmF0aW9uIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VhcmNocGFnZW51bWJlciBhLnNlYXJjaHByZXZpb3VzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwwMEJCXCI7IH1cblxuLnNlYXJjaHBhZ2VudW1iZXIgYS5zZWFyY2huZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMDBBQlwiOyB9XG5cbi8qKioqKioqKioqKiogU3RhcnQgT2YgU2VhcmNoIFN0eWxlICoqKioqKioqKioqKiovXG4uQ29tcG9uZW50U2VhcmNoQm94V3JhcCB7XG4gIG1hcmdpbjogMCBhdXRvIDEwcHggYXV0bztcbiAgcGFkZGluZzogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAjYWFhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5Db21wb25lbnRTZWFyY2hCb3hXcmFwIC5jY2Jzd1RvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLkNvbXBvbmVudFNlYXJjaEJveFdyYXAgLmNjYnN3VG9wIHNwYW4uY2Nic3dUZXh0VGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjYWUxNDA2O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZmZmIDExJSwgI2ZhZmFmYSA1NiUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLkNvbXBvbmVudFNlYXJjaEJveFdyYXAgLmNjYnN3TWlkZGxlIC5jY2Jzd01pZGRsZUxlZnQgLmNjYnN3TWlkZGxlUmlnaHQgLmNjYnN3TWlkZGxlQ29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2YzZjNmMyAxOCUsICNmZmYgNTklKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFNlYXJjaCBDb21wb25lbnQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgU2VhcmNoIE1vZHVsZSAqKioqKioqKioqKioqL1xuLm1vZHVsZVNlYXJjaFJlc3VsdFdyYXAge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0REREFEQTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERERBREE7XG4gIG1hcmdpbjogNXB4IDA7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCAjZGRkOyB9XG4gIC5tb2R1bGVTZWFyY2hSZXN1bHRXcmFwIC5zZWFyY2hIZWFkZXJMYWJlbCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogIzZlNmU2ZTsgfVxuICAubW9kdWxlU2VhcmNoUmVzdWx0V3JhcCAuc2VhcmNoRGV0YWlsc0hlYWRlckxhYmVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICM2ZTZlNmU7IH1cblxuLm1vZHVsZVNlYXJjaFdyYXAge1xuICBiYWNrZ3JvdW5kOiB1cmwoSW1hZ2VzL01vZHVsZVNlYXJjaC9Nb2R1bGVTZWFyY2gucG5nKSBuby1yZXBlYXQgcmlnaHQgdG9wO1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBhZGRpbmc6IDAgNnB4IDAgNjFweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tb2R1bGVTZWFyY2hXcmFwIC5iZ0ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoSW1hZ2VzL01vZHVsZVNlYXJjaC9Nb2R1bGVTZWFyY2gucG5nKSBuby1yZXBlYXQ7IH1cbiAgLm1vZHVsZVNlYXJjaFdyYXAgLnR4dFNlYXJjaFdyYXAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM0cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBkaXJlY3Rpb246IHJ0bDsgfVxuICAgIC5tb2R1bGVTZWFyY2hXcmFwIC50eHRTZWFyY2hXcmFwIGlucHV0IHtcbiAgICAgIG1hcmdpbjogN3B4IDAgMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5tb2R1bGVTZWFyY2hXcmFwIC5kcm9wRG93bldyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTY4cHg7XG4gICAgaGVpZ2h0OiAyM3B4O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogM3B4OyB9XG4gICAgLm1vZHVsZVNlYXJjaFdyYXAgLmRyb3BEb3duV3JhcCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5tb2R1bGVTZWFyY2hXcmFwIC5kcm9wRG93bldyYXAgLmFycm93RG93biB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODFweCAtNXB4O1xuICAgICAgd2lkdGg6IDlweDtcbiAgICAgIG1hcmdpbjogMCAxMXB4IDAgNXB4O1xuICAgICAgaGVpZ2h0OiA3cHg7IH1cbiAgICAubW9kdWxlU2VhcmNoV3JhcCAuZHJvcERvd25XcmFwIC5tb2R1bGVTZWFyY2hTZWxlY3Qge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGhlaWdodDogMjlweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDsgfVxuICAubW9kdWxlU2VhcmNoV3JhcCAubW9kdWxlU2VhcmNoU3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLm1vZHVsZVNlYXJjaFdyYXAgLm1vZHVsZVNlYXJjaFN1Ym1pdCAuYnRuU3VibWl0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICB3aWR0aDogMzlweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG5cbi5zbWFsbE1vZHVsZVNlYXJjaFdyYXAge1xuICBiYWNrZ3JvdW5kOiB1cmwoSW1hZ2VzL01vZHVsZVNlYXJjaC9TbWFsbE1vZHVsZVNlYXJjaC5wbmcpIG5vLXJlcGVhdCByaWdodCB0b3A7XG4gIGhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMCA2cHggMCAyN3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCAuYmdJbWFnZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKEltYWdlcy9Nb2R1bGVTZWFyY2gvU21hbGxNb2R1bGVTZWFyY2gucG5nKSBuby1yZXBlYXQ7IH1cbiAgLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCAudHh0U2VhcmNoV3JhcCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjJweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGRpcmVjdGlvbjogcnRsOyB9XG4gICAgLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCAudHh0U2VhcmNoV3JhcCBpbnB1dCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmb250LXNpemU6IDlweDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cbiAgLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCAuZHJvcERvd25XcmFwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC00NHB4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGQ7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogM3B4O1xuICAgIHJpZ2h0OiAzcHg7IH1cbiAgICAuc21hbGxNb2R1bGVTZWFyY2hXcmFwIC5kcm9wRG93bldyYXAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGhlaWdodDogMTVweDsgfVxuICAgIC5zbWFsbE1vZHVsZVNlYXJjaFdyYXAgLmRyb3BEb3duV3JhcCAuYXJyb3dEb3duIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zM3B4IDA7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCAuZHJvcERvd25XcmFwIC5tb2R1bGVTZWFyY2hTZWxlY3Qge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGhlaWdodDogMTdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7XG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogOTk5OTk5OyB9XG4gIC5zbWFsbE1vZHVsZVNlYXJjaFdyYXAgLm1vZHVsZVNlYXJjaFN1Ym1pdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIHdpZHRoOiAyMXB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAgIC5zbWFsbE1vZHVsZVNlYXJjaFdyYXAgLm1vZHVsZVNlYXJjaFN1Ym1pdCAuYnRuU3VibWl0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5MYW5ndWFnZSAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmdlbmVyYWxTZWxlY3RMYW5ndWFnZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmdlbmVyYWxTZWxlY3RMYW5ndWFnZSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmdlbmVyYWxTZWxlY3RMYW5ndWFnZSBsaSBhIHtcbiAgICAgIGNvbG9yOiAjNDk0OTRkOyB9XG4gICAgICAuZ2VuZXJhbFNlbGVjdExhbmd1YWdlIGxpIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cbiAgICAuZ2VuZXJhbFNlbGVjdExhbmd1YWdlIGxpOmxhc3QtY2hpbGQgYTphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG5cbi5zZWxlY3RMYW5ndWFnZURyb3Bkb3duV3JhcCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDk0OTRkO1xuICBmbG9hdDogbGVmdDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogNXB4OyB9XG4gIC5zZWxlY3RMYW5ndWFnZURyb3Bkb3duV3JhcCAuZHJvcGRvd24tbWVudSB7XG4gICAgbWFyZ2luLXRvcDogN3B4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMjBweCAhaW1wb3J0YW50OyB9XG4gIC5zZWxlY3RMYW5ndWFnZURyb3Bkb3duV3JhcCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAgIC5zZWxlY3RMYW5ndWFnZURyb3Bkb3duV3JhcCBsaSBhIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogM3B4IDdweCAhaW1wb3J0YW50OyB9XG4gICAgICAuc2VsZWN0TGFuZ3VhZ2VEcm9wZG93bldyYXAgbGkgYTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlbGVjdExhbmd1YWdlRHJvcGRvd25XcmFwIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjNDk0OTRkICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zZWxlY3RMYW5ndWFnZURyb3Bkb3duV3JhcCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZ2VuZXJhbFNlbGVjdExhbmd1YWdlIHtcbiAgICBjbGVhcjogYm90aDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuVG9vbHMgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5nZW5lcmFsVG9vbHNCb3gge1xuICBmbG9hdDogbGVmdDsgfVxuICAuZ2VuZXJhbFRvb2xzQm94ID4gZGl2IHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7IH1cbiAgICAuZ2VuZXJhbFRvb2xzQm94ID4gZGl2OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM0ZmMwZTg7IH1cbiAgICAgIC5nZW5lcmFsVG9vbHNCb3ggPiBkaXY6aG92ZXIgYSB7XG4gICAgICAgIGNvbG9yOiAjMmUzOTUxOyB9XG4gIC5nZW5lcmFsVG9vbHNCb3ggYSB7XG4gICAgY29sb3I6ICM0OTQ5NGQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDFzOyB9XG4gIC5nZW5lcmFsVG9vbHNCb3ggLmdseXBoaWNvbiB7XG4gICAgcGFkZGluZzogMCAycHg7IH1cbiAgLmdlbmVyYWxUb29sc0JveCAuc29jaWFsTmV0d29ya0l0ZW1XcmFwIGEgLmdseXBoaWNvbiB7XG4gICAgcGFkZGluZzogMDsgfVxuXG4udGVsbGFmcmllbmRQYWdlIC5mb3JtTGFiZWwge1xuICB3aWR0aDogMTEwcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlbWVtYmVyICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc2l0ZU1lbWJlcldlbGNvbWVXcmFwIHtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5zaXRlTWVtYmVyV2VsY29tZVdyYXAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuNXM7IH1cbiAgLnNpdGVNZW1iZXJXZWxjb21lV3JhcCA+IGEgaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC41czsgfVxuICAuc2l0ZU1lbWJlcldlbGNvbWVXcmFwID4gYSBzcGFuIHtcbiAgICBwYWRkaW5nOiAwIDhweDsgfVxuICAuc2l0ZU1lbWJlcldlbGNvbWVXcmFwID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICM0ZmMxZTk7IH1cbiAgICAuc2l0ZU1lbWJlcldlbGNvbWVXcmFwID4gYTpob3ZlciBpIHtcbiAgICAgIGNvbG9yOiAjNGZjMWU5OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU29jaWFsIE5ldHdvcmsgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5zb2NpYWxOZXR3b3Jrc1dyYXBwZXIge1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzAwYjRmZjsgfVxuICAgICAgICAuc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIGxpIGEgLmdseXBoaWNvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyN3B4O1xuICAgICAgICAgIGNvbG9yOiAjMDBiNGZmOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU3dpdGNoQmFyICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4jZ2VuZXJhbFN3aXRjaEJhcldyYXBwZXIge1xuICBtYXJnaW46IDAgNXB4OyB9XG5cbi5zd2l0Y2hCYXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIGNvbG9yOiAjNTg1ODVhO1xuICBmb250LWZhbWlseTogXCJTREZcIjsgfVxuICAuc3dpdGNoQmFyIGEge1xuICAgIGNvbG9yOiAjNTg1ODVhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJTREZcIjtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLnN3aXRjaEJhcjpob3ZlciB7XG4gICAgY29sb3I6ICMxMTE7IH1cblxuLnN3aXRjaEJhclNlbGVjdGVkIHtcbiAgY29sb3I6ICM1ODU4NWE7IH1cbiAgLnN3aXRjaEJhclNlbGVjdGVkOmxpbmssIC5zd2l0Y2hCYXJTZWxlY3RlZDp2aXNpdGVkLCAuc3dpdGNoQmFyU2VsZWN0ZWQ6YWN0aXZlIHtcbiAgICBjb2xvcjogIzAwYjRmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnN3aXRjaEJhclNlbGVjdGVkOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwMGI0ZmY7IH1cblxuLnN3aXRjaEJhciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAyM3B4OyB9XG5cbi5zd2l0Y2hCYXIsIC5zd2l0Y2hCYXIgYSB7XG4gIGNvbG9yOiAjNTg1ODVhO1xuICBmb250LWZhbWlseTogXCJTREZcIjsgfVxuXG4uc3dpdGNoQmFyIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnN3aXRjaEJhcjpob3ZlciB7XG4gIGNvbG9yOiAjMTExOyB9XG5cbi5zd2l0Y2hCYXJTZWxlY3RlZCB7XG4gIGNvbG9yOiAjNTg1ODVhOyB9XG5cbi5zd2l0Y2hCYXJTZWxlY3RlZDpsaW5rLCAuc3dpdGNoQmFyU2VsZWN0ZWQ6dmlzaXRlZCwgLnN3aXRjaEJhclNlbGVjdGVkOmFjdGl2ZSB7XG4gIGNvbG9yOiAjNGZjMGVhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5QYWdlIE5hdmlnYXRlICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZ29Ub1RvcCB7XG4gIHdpZHRoOiA1MXB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIHBhZGRpbmc6IDlweDtcbiAgYmFja2dyb3VuZDogIzAwYjRmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7IH1cbiAgLmdvVG9Ub3A6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZ29Ub1RvcDphZnRlciB7XG4gICAgY29udGVudDogJ1xcRTgxMCc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogMC42cztcbiAgICBmb250OiBub3JtYWwgMjBweCBcIkdseXBoaWNvbnMgSGFsZmxpbmdzXCI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qKioqKioqKioqKiogU3RhcnQgT2YgTGluZWFyIEZvb3RlciAqKioqKioqKioqKioqL1xuLmxpbmVhckZvb3RlciB7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5saW5lYXJGb290ZXIgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmxpbmVhckZvb3RlciB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cbiAgICAgIC5saW5lYXJGb290ZXIgdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiAuNHMgYWxsOyB9XG4gICAgICAgIC5saW5lYXJGb290ZXIgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM1MGMxZTk7IH1cbiAgICAgIC5saW5lYXJGb290ZXIgdWwgbGk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAn4pePJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIGNvbG9yOiAjNzU4MmIxOyB9XG4gICAgICAubGluZWFyRm9vdGVyIHVsIGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG5cbi8qKioqKioqKioqKioqKiogR2VucmFsIEZvb3RlciBMaW5rcyAqKioqKioqKioqKioqKiovXG4uZm9vdGVyTmF2IC5mb290ZXJJdGVtIGg1IGEge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgbWluLXdpZHRoOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbi5mb290ZXJOYXYgdWwge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5mb290ZXJOYXYgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZm9vdGVyTmF2IHVsIGxpIGEge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICNjMmMxYzE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjNzO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5kYXNoYm9hcmRQYWdlIC5mb290ZXJOYXYgdWwgbGkgYTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxFODFCJztcbiAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFweDtcbiAgcmlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC40czsgfVxuXG4uZGFzaGJvYXJkUGFnZSAuZm9vdGVyTmF2IHVsIGxpIGE6aG92ZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIC5kYXNoYm9hcmRQYWdlIC5mb290ZXJOYXYgdWwgbGkgYTpob3ZlcjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmdlbmVyYWxQb3dlcmVkQnkge1xuICBjb2xvcjogI2FjYWNhYztcbiAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC5nZW5lcmFsUG93ZXJlZEJ5IGEge1xuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcbiAgICBjb2xvcjogI2FjYWNhYzsgfVxuICAgIC5nZW5lcmFsUG93ZXJlZEJ5IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNlNGU0ZTQ7IH1cblxuLmRhc2hib2FyZFBhZ2UgLmdlbmVyYWxQb3dlcmVkQnkge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuZGFzaGJvYXJkUGFnZSAuZ2VuZXJhbFBvd2VyZWRCeSBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJveCBTdHlsZSAqKioqKioqKioqKioqL1xuLmFjY29yZGlvbi10b2dnbGUge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyoqKioqKioqKioqKiBTdGFydCBPZiBQYW5lbC1TdHlsZXMgKioqKioqKioqKioqKi9cbi5wYW5lbC1zdHlsZTEucGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNWY3O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGgxLCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDEsXG4gIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGgyLCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDIsXG4gIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGgzLCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDMsXG4gIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGg0LCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDQsXG4gIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGg1LCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDUsXG4gIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGg2LCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDYsXG4gIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyBhID4gc3Bhbjpub3QoLmdseXBoaWNvbiksIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyBzcGFuOm5vdCguZ2x5cGhpY29uKSxcbiAgLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nIHAsIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyBhID4gcCB7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCAxNnB4IFwiU0RGXCIsIFRhaG9tYTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucGFuZWwtc3R5bGUxID4gLnBhbmVsLWJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IHNvbGlkIDFweCB0cmFuc3BhcmVudDsgfVxuXG4ucGFuZWwtc3R5bGUxLnBhbmVsIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNXB4IDBweCByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMzkyKTsgfVxuXG4ucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgIzJjYjNlYztcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyBoMiB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogIzBjYThlYTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XG4gIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyBhLm1vcmVUaXRsZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDsgfVxuICAgIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyBhLm1vcmVUaXRsZTpob3ZlciB7XG4gICAgICBjb2xvcjogIzJjYjNlYzsgfVxuXG4ucGFuZWwtc3R5bGUxIC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlMGUwZTA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ViZWJlYjsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5wYW5lbC1zdHlsZTIucGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmNztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBoMSwgLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGgxLFxuICAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBoMiwgLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGgyLFxuICAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBoMywgLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGgzLFxuICAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBoNCwgLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGg0LFxuICAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBoNSwgLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGg1LFxuICAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBoNiwgLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGg2LFxuICAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgYSA+IHNwYW46bm90KC5nbHlwaGljb24pLCAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgc3Bhbjpub3QoLmdseXBoaWNvbiksXG4gIC5wYW5lbC1zdHlsZTIgPiAucGFuZWwtaGVhZGluZyBwLCAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgYSA+IHAge1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgMTZweCBcIlNERlwiLCBUYWhvbWE7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogc29saWQgMXB4IHRyYW5zcGFyZW50OyB9XG5cbi5wYW5lbC1zdHlsZTIucGFuZWwge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggMHB4IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4zOTIpOyB9XG5cbi5wYW5lbC1zdHlsZTIgLnBhbmVsLWhlYWRpbmcge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgcGFkZGluZy1ib3R0b206IDBweDsgfVxuICAucGFuZWwtc3R5bGUyIC5wYW5lbC1oZWFkaW5nIGgyIHtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzJjYjNlYztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnBhbmVsLXN0eWxlMiAucGFuZWwtaGVhZGluZyAuZ2x5cGhpY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICMyY2IzZWM7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxuICAucGFuZWwtc3R5bGUyIC5wYW5lbC1oZWFkaW5nIGEubW9yZVRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0OyB9XG4gICAgLnBhbmVsLXN0eWxlMiAucGFuZWwtaGVhZGluZyBhLm1vcmVUaXRsZTpob3ZlciB7XG4gICAgICBjb2xvcjogIzJjYjNlYzsgfVxuXG4ucGFuZWwtc3R5bGUyIC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlMGUwZTA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ViZWJlYjtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMyY2IzZWM7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucGFuZWwtc3R5bGUzLnBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI0ZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nID4gaDEsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoMSxcbiAgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nID4gaDIsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoMixcbiAgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nID4gaDMsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoMyxcbiAgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nID4gaDQsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoNCxcbiAgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nID4gaDUsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoNSxcbiAgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nID4gaDYsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoNixcbiAgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nIGEgPiBzcGFuOm5vdCguZ2x5cGhpY29uKSwgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nIHNwYW46bm90KC5nbHlwaGljb24pLFxuICAucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgcCwgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nIGEgPiBwIHtcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIDE2cHggXCJTREZcIiwgVGFob21hO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5wYW5lbC1zdHlsZTMgPiAucGFuZWwtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IHNvbGlkIDFweCB0cmFuc3BhcmVudDsgfVxuXG4ucGFuZWwtc3R5bGUzLnBhbmVsIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNXB4IDBweCByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMzkyKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7IH1cblxuLnBhbmVsLXN0eWxlMyAucGFuZWwtaGVhZGluZyB7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwOyB9XG4gIC5wYW5lbC1zdHlsZTMgLnBhbmVsLWhlYWRpbmcgaDIge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5wYW5lbC1zdHlsZTMgLnBhbmVsLWhlYWRpbmcgLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cbiAgLnBhbmVsLXN0eWxlMyAucGFuZWwtaGVhZGluZyBhLm1vcmVUaXRsZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDsgfVxuICAgIC5wYW5lbC1zdHlsZTMgLnBhbmVsLWhlYWRpbmcgYS5tb3JlVGl0bGU6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMTBhMGU7IH1cblxuLnBhbmVsLXN0eWxlMyAucGFuZWwtYm9keSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZTBlMGUwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjMmNiM2VjOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBhbmVsLXN0eWxlNC5wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGgxLCAucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDEsXG4gIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGgyLCAucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDIsXG4gIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGgzLCAucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDMsXG4gIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGg0LCAucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDQsXG4gIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGg1LCAucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDUsXG4gIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGg2LCAucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDYsXG4gIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyBhID4gc3Bhbjpub3QoLmdseXBoaWNvbiksIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyBzcGFuOm5vdCguZ2x5cGhpY29uKSxcbiAgLnBhbmVsLXN0eWxlNCA+IC5wYW5lbC1oZWFkaW5nIHAsIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyBhID4gcCB7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCAxNnB4IFwiU0RGXCIsIFRhaG9tYTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM1MDUwNTA7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggdHJhbnNwYXJlbnQ7IH1cblxuLnBhbmVsLXN0eWxlNC5wYW5lbCB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ucGFuZWwtc3R5bGU0IC5wYW5lbC1ib2R5IHtcbiAgYm94LXNoYWRvdzogMCAwIDExcHggcmdiYSgwLCAwLCAwLCAwLjExKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5wYW5lbC1zdHlsZTQgLnBhbmVsLWhlYWRpbmcge1xuICBib3gtc2hhZG93OiAwIDAgMTFweCByZ2JhKDAsIDAsIDAsIDAuMTEpO1xuICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMGI0ZmY7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucGFuZWwtc3R5bGU0IC5wYW5lbC1oZWFkaW5nIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XG4gIC5wYW5lbC1zdHlsZTQgLnBhbmVsLWhlYWRpbmcgYS5tb3JlVGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAucGFuZWwtc3R5bGU0IC5wYW5lbC1oZWFkaW5nIGEubW9yZVRpdGxlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDEwYTBlOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBhbmVsLXN0eWxlNSB7XG4gIHBhZGRpbmc6IDE1cHg7IH1cbiAgLnBhbmVsLXN0eWxlNS5wYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyA+IGgxLCAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDEsXG4gICAgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gaDIsIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoMixcbiAgICAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBoMywgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGgzLFxuICAgIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyA+IGg0LCAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDQsXG4gICAgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gaDUsIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoNSxcbiAgICAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBoNiwgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGg2LFxuICAgIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyBhID4gc3Bhbjpub3QoLmdseXBoaWNvbiksIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyBzcGFuOm5vdCguZ2x5cGhpY29uKSxcbiAgICAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgcCwgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nIGEgPiBwIHtcbiAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgMjBweCBcIlNERlwiLCBUYWhvbWE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjMzIzMjMyO1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggdHJhbnNwYXJlbnQ7IH1cbiAgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nIC5tb3JlVGl0bGUge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nIGgyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cbiAgICAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmc6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICMzMjMyMzI7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBvcGFjaXR5OiAuNjsgfVxuICAgIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZzphZnRlciB7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzIzMjMyO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm90dG9tOiA0cHg7XG4gICAgICBvcGFjaXR5OiAuNDsgfVxuICAucGFuZWwtc3R5bGU1IC5wYW5lbEltYWdlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDIwcHggYXV0bzsgfVxuICAucGFuZWwtc3R5bGU1IC5wYW5lbC1ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKioqKiBQYW5lbCBPcHRpb25zICovXG4ucGFuZWwtaGVhZGluZyAudGl0bGUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogN3B4IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS45ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDM3cHg7IH1cbiAgLnBhbmVsLWhlYWRpbmcgLnRpdGxlLWJsb2NrIC5hY2NvcmRpb24tY2FyZXQge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucGFuZWwtb3B0aW9ucyB7XG4gIG1hcmdpbjogNnB4OyB9XG4gIC5wYW5lbC1vcHRpb25zIC5idG4taWNvbi1vbmx5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAucGFuZWwtb3B0aW9ucyAuYnRuLXRvb2xzLCAucGFuZWwtb3B0aW9ucyAuYnRuLXRvb2xzOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMWJiYWUxO1xuICAgIGJvcmRlci1jb2xvcjogIzFiYmFlMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIC5wYW5lbC1vcHRpb25zIC5idG4tdG9vbHMuYWN0aXZlLCAucGFuZWwtb3B0aW9ucyAuYnRuLXRvb2xzLmFjdGl2ZTpmb2N1cywgLnBhbmVsLW9wdGlvbnMgLmJ0bi10b29sczpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFiYmFlMTtcbiAgICBib3JkZXItY29sb3I6ICMxYmJhZTE7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnBhbmVsLW9wdGlvbnMgLmJ0bi1zaG9ydGN1dCAuZ2x5cGhpY29uLFxuLnBhbmVsLW9wdGlvbnMgLmJ0bi10b29scyAuZ2x5cGhpY29uIHtcbiAgZm9udC1zaXplOiAxLjNlbTsgfVxuXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFRhYiBTdHlsZSAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBUYWIgU3R5bGUxICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiBUYWIgTW9iaWxlIFN0eWxlICoqKioqKioqKioqKioqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFiLXdyYXBwZXIgLnBhbmVsLWRlZmF1bHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAudGFiLXdyYXBwZXIgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFDMjMzMTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFRhYiBTdHlsZSAqKioqKioqKioqKioqL1xuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpub3QoLmdyaWRIZWFkZXIpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2NhYzhjOCAhaW1wb3J0YW50OyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuaW5uZXJHcmlkV3JhcHBlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjIgIWltcG9ydGFudDsgfVxuXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLnBhZ2VyQ3VzdG9tR3JpZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjIgIWltcG9ydGFudDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipHcmF5IFNraW4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5ncmF5U2tpbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtY2hpbGQoMm4rMSksIC5ncmF5U2tpbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkZmRmZGY7IH1cblxuLmdyYXlTa2luLmdyaWRIZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZGZkZmRmICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uaW5uZXJHcmlkV3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjIgIWltcG9ydGFudDsgfVxuXG4uaW5uZXJHcmlkIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2QyZDJkMiAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMjBweCAjOTA5MDkwOyB9XG4gIC5pbm5lckdyaWQudGFibGUtc3RyaXBlZCA+IHRib2R5ID4gdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICNmM2YzZjMgIWltcG9ydGFudDsgfVxuICAuaW5uZXJHcmlkLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOmhvdmVyOm50aC1jaGlsZCgybisxKSB7XG4gICAgYmFja2dyb3VuZDogIzAwYjRmZiAhaW1wb3J0YW50OyB9XG4gIC5pbm5lckdyaWQgLmlubmVyR3JpZCAuZ3JpZEhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2U2ZTZlNiAhaW1wb3J0YW50OyB9XG5cbi5ncmlkSGVhZGVyIHRoIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNiAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2QyZDJkMjtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5ncmlkSGVhZGVyIHRoIC5nbHlwaGljb24ge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblBhZ2VyICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY29sLWNlbnRlcmVkIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbnRyLnBhZ2VyQ3VzdG9tR3JpZCB7XG4gIGJhY2tncm91bmQ6ICNmMGYzZjY7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmMGYzZjYgMCwgI2UwZTNlYSAxMDAlKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICNmOWZhZmI7IH1cblxuLnBhZ2VyQ3VzdG9tR3JpZCB0ZCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnBhZ2VyQ3VzdG9tR3JpZCBzcGFuIHtcbiAgY29sb3I6ICMzNzM3Mzc7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICBoZWlnaHQ6IDE1cHg7IH1cblxuLnBhZ2VyQ3VzdG9tR3JpZFRhYmxlIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMGQ2ZTA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmOyB9XG4gIC5wYWdlckN1c3RvbUdyaWRUYWJsZSB0ZCB7XG4gICAgcGFkZGluZzogNnB4OyB9XG5cbi5wYWdlckN1c3RvbUdyaWRDb3VudFRhYmxlIHRkIHtcbiAgcGFkZGluZzogNnB4OyB9XG5cbi5wYWdlckN1c3RvbUdyaWROdW1iZXJzIHtcbiAgY29sb3I6ICMyYjNhNGE7XG4gIHVuaWNvZGUtYmlkaTogYmlkaS1vdmVycmlkZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnBhZ2VyQ3VzdG9tR3JpZE51bWJlcnMgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcGFkZGluZzogMCAycHg7XG4gICAgY29sb3I6ICM1YzZiODk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5hLnBhZ2VyQ3VzdG9tR3JpZDpsaW5rLFxuYS5wYWdlckN1c3RvbUdyaWQ6YWN0aXZlLFxuYS5wYWdlckN1c3RvbUdyaWQ6dmlzaXRlZCxcbmEucGFnZXJDdXN0b21HcmlkTmV4dCxcbmEucGFnZXJDdXN0b21HcmlkUHJldiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNWM2Yjg5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjNWM2Yjg5O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbmEucGFnZXJDdXN0b21HcmlkOmhvdmVyLFxuYS5wYWdlckN1c3RvbUdyaWROZXh0OmhvdmVyLFxuYS5wYWdlckN1c3RvbUdyaWRQcmV2OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzllYTViMztcbiAgY29sb3I6ICNmZmY7IH1cblxuLnBhZ2VyTnVtYmVyVGV4dCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjMzczNzM3O1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgdW5pY29kZS1iaWRpOiBlbWJlZDsgfVxuXG4ucGFnZXJDZWxsRGlyIHtcbiAgZGlyZWN0aW9uOiBydGw7IH1cblxuLnBhZ2VyQ3VzdG9tR3JpZENlbGwge1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgd2lkdGg6IDExMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wYWdlckN1c3RvbUdyaWRDZWxsIC5zZWxlY3Qge1xuICAgIHdpZHRoOiA1NXB4OyB9XG5cbi5wYWdlckN1c3RvbUdyaWRDZWxsR290byB7XG4gIHdpZHRoOiAxMTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnBhZ2VyQ3VzdG9tR3JpZENlbGxHb3RvIC50ZXh0Ym94IHtcbiAgICB3aWR0aDogNTVweDsgfVxuXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFBhZ2VyIFdyYXBwZXIgKioqKioqKioqKioqKi9cbi5wYWdlcldyYXBwZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjdjOGRhO1xuICBiYWNrZ3JvdW5kOiAjZWNmMGY2O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWNmMGY2IDAsICNiN2M4ZGEgMTAwJSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI2Y3ZjlmYjtcbiAgcGFkZGluZzogMXB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2VyV3JhcHBlcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAucGFnZXJXcmFwcGVyIC5zZWN0aW9uTGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDk1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5wYWdlcldyYXBwZXIgLnNlY3Rpb25MZWZ0IHNlbGVjdCB7XG4gICAgICB3aWR0aDogMzVweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAuOWVtOyB9XG4gICAgLnBhZ2VyV3JhcHBlciAuc2VjdGlvbkxlZnQgc3BhbiB7XG4gICAgICBmb250LXNpemU6IC45ZW07IH1cbiAgLnBhZ2VyV3JhcHBlciAuc2VjdGlvblJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAucGFnZXJXcmFwcGVyIC5zZWN0aW9uUmlnaHQgaW5wdXRbY2xhc3M9XCJidXR0b25cIl0ge1xuICAgICAgd2lkdGg6IDI4cHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogLjllbTsgfVxuICAgIC5wYWdlcldyYXBwZXIgLnNlY3Rpb25SaWdodCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAuOWVtOyB9XG4gIC5wYWdlcldyYXBwZXIgLnNlY3Rpb25NaWRkbGUge1xuICAgIG1hcmdpbjogMCA1NXB4IDAgOTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAucGFnZXJXcmFwcGVyIC5zZWN0aW9uTWlkZGxlLm5vTGVmdCB7XG4gICAgICBtYXJnaW46IDAgNTVweCAwIDA7IH1cbiAgICAgIC5wYWdlcldyYXBwZXIgLnNlY3Rpb25NaWRkbGUubm9MZWZ0Lm5vUmlnaHQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAucGFnZXJXcmFwcGVyIC5zZWN0aW9uTWlkZGxlLm5vUmlnaHQge1xuICAgICAgbWFyZ2luOiAwIDAgMCA5NXB4OyB9XG4gIC5wYWdlcldyYXBwZXIgLnBhZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgbWFyZ2luOiA3cHggMXB4O1xuICAgIGJvcmRlcjogMXB4ICM3NjgzOTkgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICBjb2xvcjogIzVjNmI4OTtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAucGFnZXJXcmFwcGVyIC5wYWdlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNhNWIxYzc7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYTViMWM3IDAsICM3NjgzOTkgMTAwJSk7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAucGFnZXJXcmFwcGVyIC5wYWdlLnNlbGVjdGVkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAucGFnZXJXcmFwcGVyIC5wYWdlLnNlbGVjdGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogIzVjNmI4OTsgfVxuICAucGFnZXJXcmFwcGVyIC5uZXh0UGFnZSwgLnBhZ2VyV3JhcHBlciAucHJldmlvdXNQYWdlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjYTViMWM3O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNhNWIxYzcgMCwgIzc2ODM5OSAxMDAlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA0cHggM3B4IDdweDsgfVxuICAgIC5wYWdlcldyYXBwZXIgLm5leHRQYWdlOmhvdmVyLCAucGFnZXJXcmFwcGVyIC5wcmV2aW91c1BhZ2U6aG92ZXIge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICM3OTg4YTc7IH1cblxuLm5vdGlmeSAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgdG9wOiA2cHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLm5vdGlmeSAuaGFzLWZlZWRiYWNrIC50b29sdGlwLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDsgfVxuXG4ubm90aWZ5IC5oYXMtZmVlZGJhY2sgLnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIGxlZnQ6IC00cHg7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDIwcHggMCAwIDIwcHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZhMzsgfVxuXG4ubm90aWZ5IC5oYXMtZmVlZGJhY2sgLnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTVweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMTVweCAwIDAgMTVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZjFkMDMxOyB9XG5cbi5ub3RpZnkgLmhhcy1mZWVkYmFjayAudG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiAjOWE1NTc0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZhMztcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjFkMDMxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjFkMDMxO1xuICBib3gtc2hhZG93OiAzcHggM3B4IDRweCAwIHJnYmEoMjIxLCAyMjEsIDIyMSwgMC44NCk7XG4gIGZvbnQtc2l6ZTogMS4xOGVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5CYXNpYyBTdHlsZSAgICAgICAgICAgICAgICAgICBcclxuKiBUaGVzZSBzdHlsZXMgYXJlIHJlcXVpcmVkIGZvciBub1VpU2xpZGVyIHRvIGZ1bmN0aW9uLlxyXG4qIFlvdSBkb24ndCBuZWVkIHRvIGNoYW5nZSB0aGVzZSBydWxlcyB0byBhcHBseSB5b3VyIGRlc2lnbi5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubm9VaS10YXJnZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpcmVjdGlvbjogbHRyOyB9XG4gIC5ub1VpLXRhcmdldCwgLm5vVWktdGFyZ2V0ICoge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubm9VaS1iYXNlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5ub1VpLW9yaWdpbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5ub1VpLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4ubm9VaS1zdGFja2luZyAubm9VaS1oYW5kbGUge1xuICAvKiBUaGlzIGNsYXNzIGlzIGFwcGxpZWQgdG8gdGhlIGxvd2VyIG9yaWdpbiB3aGVuXHJcbml0cyB2YWx1ZXMgaXMgPiA1MCUuICovXG4gIHotaW5kZXg6IDEwOyB9XG5cbi5ub1VpLXN0YWNraW5nICsgLm5vVWktb3JpZ2luIHtcbiAgLyogRml4IHN0YWNraW5nIG9yZGVyIGluIElFNywgd2hpY2ggaW5jb3JyZWN0bHlcclxuY3JlYXRlcyBhIG5ldyBjb250ZXh0IGZvciB0aGUgb3JpZ2lucy4gKi9cbiAgei1pbmRleDogLTE7IH1cblxuLm5vVWktc3RhdGUtdGFwIC5ub1VpLW9yaWdpbiB7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcywgdG9wIDAuM3M7IH1cblxuLm5vVWktc3RhdGUtZHJhZyAqIHtcbiAgY3Vyc29yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKiBQYWludGluZyBhbmQgcGVyZm9ybWFuY2U7XHJcbiogQnJvd3NlcnMgY2FuIHBhaW50IGhhbmRsZXMgaW4gdGhlaXIgb3duIGxheWVyLiAqKioqKioqKioqKioqL1xuLm5vVWktYmFzZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLyoqKioqKioqKioqKiBTbGlkZXIgc2l6ZSBhbmQgaGFuZGxlIHBsYWNlbWVudCAqKioqKioqKioqKioqL1xuLm5vVWktaG9yaXpvbnRhbCB7XG4gIGhlaWdodDogMThweDsgfVxuXG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLWhhbmRsZSB7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGxlZnQ6IC0xN3B4O1xuICB0b3A6IC02cHg7IH1cblxuLm5vVWktdmVydGljYWwge1xuICB3aWR0aDogMThweDsgfVxuICAubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGUge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIHRvcDogLTE3cHg7IH1cblxuLyoqKioqKioqKioqKiBTdHlsaW5nICoqKioqKioqKioqKiovXG4ubm9VaS1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4ICNmMGYwZjA7IH1cblxuLm5vVWktY29ubmVjdCB7XG4gIGJhY2tncm91bmQ6ICMzRkI4QUY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSg1MSwgNTEsIDUxLCAwLjQ1KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCA0NTBtczsgfVxuXG4ubm9VaS1vcmlnaW4ge1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLm5vVWktdGFyZ2V0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDNEM0QzO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggI0YwRjBGMCwgMCAzcHggNnB4IC01cHggI0JCQjsgfVxuXG4ubm9VaS10YXJnZXQubm9VaS1jb25uZWN0IHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDUxLCA1MSwgNTEsIDAuNDUpLCAwIDNweCA2cHggLTVweCAjQkJCOyB9XG5cbi5yYW5nZVNsaWRlcldyYXBwZXIgLnZhbHVlVXBwZXIsIC5yYW5nZVNsaWRlcldyYXBwZXIgLnZhbHVlTG93ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuLnJhbmdlU2xpZGVyV3JhcHBlciAubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogIzgwQzlGNTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDUxLCA1MSwgNTEsIDAuNDUpOyB9XG5cbi8qKioqKioqKioqKiogSGFuZGxlcyBBbmQgQ3Vyc29ycyAqKioqKioqKioqKioqL1xuLm5vVWktZHJhZ2FibGUge1xuICBjdXJzb3I6IHctcmVzaXplOyB9XG5cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWRyYWdhYmxlIHtcbiAgY3Vyc29yOiBuLXJlc2l6ZTsgfVxuXG4ubm9VaS1oYW5kbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDlEOUQ5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAjZmZmLCBpbnNldCAwIDFweCA3cHggI0VCRUJFQiwgMCAzcHggNnB4IC0zcHggI0JCQjsgfVxuXG4ubm9VaS1hY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4ICNmZmYsIGluc2V0IDAgMXB4IDdweCAjRERELCAwIDNweCA2cHggLTNweCAjQkJCOyB9XG5cbi8qKioqKioqKioqKiogSGFuZGxlIFN0cmlwcyAqKioqKioqKioqKioqL1xuLm5vVWktaGFuZGxlOmJlZm9yZSxcbi5ub1VpLWhhbmRsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICBsZWZ0OiAxNnB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQ6ICNFOEU3RTY7IH1cblxuLm5vVWktaGFuZGxlOmFmdGVyIHtcbiAgbGVmdDogMTdweDsgfVxuXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YmVmb3JlLCAubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGxlZnQ6IDZweDtcbiAgdG9wOiAxNHB4OyB9XG5cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTphZnRlciB7XG4gIHRvcDogMTdweDsgfVxuXG4vKioqKioqKioqKioqIERpc2FibGVkIFN0eWxlICoqKioqKioqKioqKiovXG5bZGlzYWJsZWRdIC5ub1VpLWhhbmRsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW2Rpc2FibGVkXS5ub1VpLWNvbm5lY3QsIFtkaXNhYmxlZF0gLm5vVWktY29ubmVjdCB7XG4gIGJhY2tncm91bmQ6ICNCOEI4Qjg7IH1cblxuLyoqKioqKioqKioqKioqKiBDdXN0b21pemVkIHN0eWxlcyBoZXJlICoqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKipTaXRlbWVtYmVyIEF2YXRhcioqKioqKioqKioqKioqKioqKioqL1xuLnNpdGVtZW1iZXJBdmF0YXIge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgLnNpdGVtZW1iZXJBdmF0YXIgLmF2YXRhcldyYXBwZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmOyB9XG4gICAgLnNpdGVtZW1iZXJBdmF0YXIgLmF2YXRhcldyYXBwZXIgLmltZ0F2YXRhciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5zaXRlbWVtYmVyQXZhdGFyIC5hdmF0YXJXcmFwcGVyIC5hdmF0YXJJY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nOiA0cHg7IH1cbiAgLnNpdGVtZW1iZXJBdmF0YXIgLnNpdGVtZW1iZXJGdWxsbmFtZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKipRdWljayBBY2Nlc3MqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5xdWlja0FjY2VzcyB7XG4gIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIC5xdWlja0FjY2VzcyB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5xdWlja0FjY2VzcyB1bCBsaSBkaXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL0ltYWdlcy9zaGFwZWJnLnBuZ1wiKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmJhNmY4LCAjNTlkMWQ5KTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSgzNCwgMzQsIDM0LCAwLjM4KTtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLnF1aWNrQWNjZXNzIHVsIGxpIGRpdiBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5xdWlja0FjY2VzcyB1bCBsaTpudGgtY2hpbGQoMikgZGl2IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vSW1hZ2VzL3NoYXBlYmcucG5nXCIpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkOTFkMWMsICNmZjUwNTApOyB9XG4gICAgLnF1aWNrQWNjZXNzIHVsIGxpOm50aC1jaGlsZCgzKSBkaXYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9JbWFnZXMvc2hhcGViZy5wbmdcIiksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmOTk1NiwgI2ZmYmY0Yik7IH1cbiAgICAucXVpY2tBY2Nlc3MgdWwgbGk6bnRoLWNoaWxkKDQpIGRpdiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL0ltYWdlcy9zaGFwZWJnLnBuZ1wiKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNzM1NWIwLCAjNjg3OGUxKTsgfVxuXG4vKioqKioqKioqKioqKlNpZ25VcCBTdHlsZSAqKioqKioqKioqKioqKioqL1xuLnNpZ251cExlZnRzaWRlICNwbmxSb2xlc0luZm9ybWF0aW9uQm94IC52YWxpZGF0b3JFbmFibGVkRm9ybVJvdyB0YWJsZSB7XG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5zaXRlTWVtYmVyRm9yZ290UGFzc3dvcmRXcmFwcGVyIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAgPiBkaXYgLmJ0biB7XG4gIG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50OyB9XG5cbi8qKioqKioqKioqKioqKk1lZGlhIFF1ZXJ5KioqKioqKioqKioqKioqKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2l0ZW1lbWJlclRvcEJhciA+IC50b3BCYXJJdGVtV3JhcHBlci5kYXRlVGltZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZW1lbWJlckF2YXRhciAuYXZhdGFyV3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7IH0gfVxuXG4ub3JhbmdlQm94IHtcbiAgYmFja2dyb3VuZDogdXJsKC9BcHBfVGhlbWVzL1NpdGVNZW1iZXItZmEtSVIvSW1hZ2VzL3N0b3JlVHJhc3BhcmVudC5wbmcpIG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmYTIwMCAwJSwgI2ZmNmMwMCAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDE0cHggcmdiYSgyNTUsIDEwOCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5ibHVlQm94IHtcbiAgYmFja2dyb3VuZDogdXJsKC9BcHBfVGhlbWVzL1NpdGVNZW1iZXItZmEtSVIvSW1hZ2VzL3N0b3JlVHJhc3BhcmVudC5wbmcpIG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAwYThmZiAwJSwgIzAwOGFmZiAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDE0cHggcmdiYSgwLCAxMzgsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5kYXJrYmx1ZUJveCB7XG4gIGJhY2tncm91bmQ6IHVybCgvQXBwX1RoZW1lcy9TaXRlTWVtYmVyLWZhLUlSL0ltYWdlcy9zdG9yZVRyYXNwYXJlbnQucG5nKSBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMyYzY2ZWIgMCwgIzZkNTRlNiAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDE0cHggcmdiYSgwLCAxMzgsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5wdXJwbGVCb3gge1xuICBiYWNrZ3JvdW5kOiB1cmwoL0FwcF9UaGVtZXMvU2l0ZU1lbWJlci1mYS1JUi9JbWFnZXMvc3RvcmVUcmFzcGFyZW50LnBuZykgbm8tcmVwZWF0LCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjYTg1M2ZmIDAlLCAjYjIyZGZmIDEwMCUpO1xuICBib3gtc2hhZG93OiAwIDEwcHggMTRweCByZ2JhKDE3OCwgNDUsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5ncmVlbkJveCB7XG4gIGJhY2tncm91bmQ6IHVybCgvQXBwX1RoZW1lcy9TaXRlTWVtYmVyLWZhLUlSL0ltYWdlcy9zdG9yZVRyYXNwYXJlbnQucG5nKSBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMGJhYTIgMCUsICMwMGM2N2UgMTAwJSk7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAxNHB4IHJnYmEoMCwgMTk4LCAxMjYsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4ucmVkQm94IHtcbiAgYmFja2dyb3VuZDogdXJsKC9BcHBfVGhlbWVzL1NpdGVNZW1iZXItZmEtSVIvSW1hZ2VzL3N0b3JlVHJhc3BhcmVudC5wbmcpIG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmMmM3NiAwJSwgI2ZmMWY0NCAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDE0cHggcmdiYSgxOTQsIDAsIDMyLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLnBpbmtCb3gge1xuICBiYWNrZ3JvdW5kOiB1cmwoL0FwcF9UaGVtZXMvU2l0ZU1lbWJlci1mYS1JUi9JbWFnZXMvc3RvcmVUcmFzcGFyZW50LnBuZykgbm8tcmVwZWF0LCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZmY4YWJmIDAlLCAjZWExOWRkIDEwMCUpO1xuICBib3gtc2hhZG93OiAwIDEwcHggMTRweCByZ2JhKDE5NCwgMCwgMzIsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4ueWVsbG93Qm94IHtcbiAgYmFja2dyb3VuZDogdXJsKC9BcHBfVGhlbWVzL1NpdGVNZW1iZXItZmEtSVIvSW1hZ2VzL3N0b3JlVHJhc3BhcmVudC5wbmcpIG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmYjExOCAwJSwgI2ZmZGUwMCAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDE0cHggcmdiYSgxOTQsIDAsIDMyLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLmJveEl0ZW1zIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmJveEl0ZW1zIGEgLmdseXBoaWNvbiB7XG4gIGZvbnQtc2l6ZTogMjJweDsgfVxuXG4uYm94SXRlbXMgYSAudGl0bGUge1xuICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiU0RGIFN1YnNpZGlhcnlcIjsgfVxuXG4uYm94SXRlbXMge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7IH1cblxuLmJ0bi1pbmRpZ28ge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJvcmRlci1jb2xvcjogIzM3N2FlZDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1pbmRpZ286aG92ZXIsIC5idG4taW5kaWdvOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM3N2FlZDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTVweDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1pbmRpZ286YWN0aXZlLCAuYnRuLWluZGlnby5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3YWVkO1xuICBib3JkZXItY29sb3I6ICMzNzdhZWQ7IH1cblxuLmJ0bi1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJvcmRlci1jb2xvcjogI2U2N2EzNjtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1vcmFuZ2U6aG92ZXIsIC5idG4tb3JhbmdlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOGQzODtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTVweDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1vcmFuZ2U6YWN0aXZlLCAuYnRuLW9yYW5nZS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4ZDM4O1xuICBib3JkZXItY29sb3I6ICNmZjhkMzg7IH1cblxuLmJ0bi1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNjODU4ZGUpLCB0bygjYWMzOGZmKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2M4NThkZSAwLCAjYWMzOGZmIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjODU4ZGUgMCwgI2FjMzhmZiAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2M4NThkZSAwLCAjYWMzOGZmIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJvcmRlci1jb2xvcjogI2FjMzhmZjtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1wdXJwbGU6aG92ZXIsIC5idG4tcHVycGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FjMzhmZjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTVweDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1wdXJwbGU6YWN0aXZlLCAuYnRuLXB1cnBsZS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWMzOGZmO1xuICBib3JkZXItY29sb3I6ICNhYzM4ZmY7IH1cblxuLmRhcmtTdHlsZSB7XG4gIGJhY2tncm91bmQ6ICMxQzIzMzE7IH1cblxuLmN1c3RvbVNlYXJjaCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBmbG9hdDogbGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqU2l0ZW1lbWJlciBNZW51KioqKioqKioqKioqKioqKioqKiovXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5uYXZiYXItbmF2ID4gbGkge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMUUyNjJEO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdmJhci1uYXYgPiBsaS5vcGVuIHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI0ZGNkEwMDsgfVxuXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgdWwge1xuICBiYWNrZ3JvdW5kOiAjMUUyNjJEO1xuICB3aWR0aDogMTAwJTsgfVxuXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5uYXZiYXItYnJhbmQsIC52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNjN2M3YzcgIWltcG9ydGFudDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLnZlcnRpY2FsU2l0ZU1lbWJlck1lbnVXcmFwcGVyLmRhcmtTaXRlTWVtYmVyTWVudSAubmF2YmFyLW5hdiA+IGxpID4gYSAuY2FyZXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAxNXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdmJhci1uYXYgPiBsaSA+IGEgLmNhcmV0OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcbiAgY29udGVudDogXCJcXGU4MTJcIjtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGNvbG9yOiAjYzdjN2M3O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnZlcnRpY2FsU2l0ZU1lbWJlck1lbnVXcmFwcGVyLmRhcmtTaXRlTWVtYmVyTWVudSAubmF2IC5vcGVuID4gYSxcbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdiAub3BlbiA+IGE6aG92ZXIsXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5uYXYgLm9wZW4gPiBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMzQjQyNDg7XG4gIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDsgfVxuXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICByaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogN3B4IDEzcHg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgY29sb3I6ICMxNzE2MTY7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogI0ZGNkEwMDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5nbHlwaGljb24ge1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zaXRlTWVtYmVyTWVudVdyYXBwZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNpdGVtZW1iZXJMb2dvdXRXcmFwcGVyIHtcbiAgcGFkZGluZzogMjBweCAwOyB9XG4gIC5zaXRlbWVtYmVyTG9nb3V0V3JhcHBlciAuc2l0ZW1lbWJlckxvZ291dE1lc3NhZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIC5zaXRlbWVtYmVyTG9nb3V0V3JhcHBlciAuc2l0ZW1lbWJlckxvZ291dE1lc3NhZ2Ugc3BhbiB7XG4gICAgICBjb2xvcjogIzUwNTA1MDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuc2l0ZW1lbWJlckxvZ291dFdyYXBwZXIgLnNpdGVtZW1iZXJMb2dvdXRCdG4gLmJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLnNpdGVtZW1iZXJMb2dvdXRXcmFwcGVyIC5zaXRlbWVtYmVyTG9nb3V0QnRuIC5idG4uYnRuLXN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjQzMCAhaW1wb3J0YW50OyB9XG4gICAgLnNpdGVtZW1iZXJMb2dvdXRXcmFwcGVyIC5zaXRlbWVtYmVyTG9nb3V0QnRuIC5idG4uYnRuLWRhbmdlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkMwMDAwICFpbXBvcnRhbnQ7IH1cblxuLmZpeGVkQnV0dG9uIC5yZXNlcnZhdGlvbk5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2LjY2NjY2NjY3JSk7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogOTk5OyB9XG4gIC5maXhlZEJ1dHRvbiAucmVzZXJ2YXRpb25OYXZpZ2F0aW9uID4gZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RiZGI7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuTWVkaWEgUXVlcnkgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmZpeGVkQnV0dG9uIC5yZXNlcnZhdGlvbk5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDc1JTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucGFuZWwge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5wYW5lbCAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDE1cHggNXB4IDA7IH1cbiAgLmxvZ2luIC5wYW5lbC1zdHlsZTUge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSAhaW1wb3J0YW50OyB9XG4gICAgLmxvZ2luIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZzpiZWZvcmUsIC5sb2dpbiAucGFuZWwtc3R5bGU1IC5wYW5lbC1oZWFkaW5nOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxvZ2luIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuICAuZml4ZWRCdXR0b24gLnJlc2VydmF0aW9uTmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAuZ29Ub1RvcCB7XG4gICAgd2lkdGg6IDMwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDsgfVxuICAucG9ydGFsU2VydmljZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmJveEl0ZW1zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5ib3hJdGVtcyBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDEwcHggYXV0byAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDIwcHggNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYm94SXRlbXMgYSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmJveEl0ZW1zIGEgLmdseXBoaWNvbiB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5oZWFkZXJUb3AgLm1haW5Mb2dvSW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gIC5tZW1iZXJBcmVhX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1pZGRsZVdyYXAge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLmNvbGxhcHNlZENvbHVtbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1MDU4Nzg7IH1cbiAgLmZvb3Rlck5hdiAuY29sbGFwc2VkQ29sdW1uIHVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb290ZXJOYXYgLmNvbGxhcHNlZENvbHVtbiBoNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5mb290ZXJOYXYgLmNvbGxhcHNlZENvbHVtbiBoNTphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxlODA1JztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdseXBoaWNvbnMgSGFsZmxpbmdzXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC01cHg7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgY29sb3I6ICM0RkMxRTk7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLmZvb3Rlck5hdi5jbG9zZWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXGU4MDYnOyB9XG4gIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCBsaSB1bCBsaSAuc3ViLWFycm93LCAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwgdWwgLmNvbGxhcHNpYmxlIC5zdWItYXJyb3cge1xuICAgIGJvcmRlci1jb2xvcjogIzU4NTg1YSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcbiAgICBib3JkZXItd2lkdGg6IDVweCA0cHggMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDA7IH1cbiAgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIGxpIHVsIGxpIGE6aG92ZXIgLnN1Yi1hcnJvdywgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHVsIHVsIC5jb2xsYXBzaWJsZSBhOmhvdmVyIC5zdWItYXJyb3cge1xuICAgIGJvcmRlci1jb2xvcjogI2Y1MDMwMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcbiAgICBib3JkZXItd2lkdGg6IDVweCA0cHggMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMTBweDtcbiAgICB3aWR0aDogMDsgfVxuICAubWFpbkhlYWRlcldyYXAgLmdseXBoaWNvbi1yZXNwb25zaXZlIHtcbiAgICBmb250LXNpemU6IDEuNWVtOyB9XG4gIC5tYWluU2l0ZW1lbWJlcldlbGNvbWUge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAubWFpblNlbGVjdExhbmd1YWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgLm1haW5TZWFyY2hCb3ggLmdlbmVyYWxTZWFyY2hCb3ggLmZvcm0tY29udHJvbCB7XG4gICAgd2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBwYWRkaW5nOiAycHggNnB4IDNweDsgfVxuICAubWFpbk5hdmlnYXRpb25XcmFwIC5tYWluU21hbGxNZW51V3JhcCAubWFpbk1lbnUge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGRkZGQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7IH1cbiAgICAubWFpbk5hdmlnYXRpb25XcmFwIC5tYWluU21hbGxNZW51V3JhcCAubWFpbk1lbnUgLm5hdmJhciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAubWFpbk5hdmlnYXRpb25XcmFwIC5tYWluU21hbGxNZW51V3JhcCAubWFpbk1lbnUgLm5hdmJhciAubmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODU4NUE7IH1cbiAgICAgICAgLm1haW5OYXZpZ2F0aW9uV3JhcCAubWFpblNtYWxsTWVudVdyYXAgLm1haW5NZW51IC5uYXZiYXIgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5tYWluTmF2aWdhdGlvbldyYXAgLm1haW5TbWFsbE1lbnVXcmFwIC5tYWluTWVudSAubmF2YmFyIC5uYXZiYXItdG9nZ2xlOmhvdmVyIC5pY29uLWJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1MDMwMzsgfVxuICAgICAgLm1haW5OYXZpZ2F0aW9uV3JhcCAubWFpblNtYWxsTWVudVdyYXAgLm1haW5NZW51IC5uYXZiYXIgLm5hdmJhci1uYXYge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgLm1haW5NZW51IC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbjogMCAwIDRweCAwO1xuICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgLmdvVG9Ub3Age1xuICAgIHJpZ2h0OiAzNXB4OyB9XG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1heC1oZWlnaHQ6IDE3MHB4O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAubWFpbkZvb3RlcldyYXAgLmNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2l0ZU1lbWJlcldlbGNvbWVXcmFwLCAuZ2VuZXJhbEN1cnJlbnREYXRlVGltZSwgLmdlbmVyYWxTZWxlY3RMYW5ndWFnZSwgLnJhZGNvbUNvcHlyaWdodEFuZExvZ28gKiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJpZ2h0Q29sdW1uIC5tYWluTG9nb0ltYWdlIHtcbiAgICBtYXJnaW46IDEwcHggYXV0byAxMHB4OyB9XG4gIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCB1bCB1bC5kcm9wZG93bi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMzkuOXB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5kYXNoYm9hcmRQYWdlIC5yaWdodENvbHVtbiB7XG4gICAgbWluLWhlaWdodDogMTAyNHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZGFzaGJvYXJkUGFnZSAuZml4ZWRNZW51IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTYuNjY2NjY3JSkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCAhaW1wb3J0YW50OyB9XG4gICAgLnRhYmxlLXJlc3BvbnNpdmUgdGFibGU6bm90KC50YWJsZS1leGNsdWRlKSB7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7IH1cbiAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAub2ZmQ2FudmFzSW5SZXNwb25zaXZlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAtMzIwcHg7XG4gICAgei1pbmRleDogODA0MDtcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggIzAwMDsgfVxuICAgIC5vZmZDYW52YXNJblJlc3BvbnNpdmUgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLm9mZkNhbnZhc0luUmVzcG9uc2l2ZSAubWVudTNkbWVnYS5yZXNwb25zaXZlID4gdWwgPiBsaSxcbiAgLm9mZkNhbnZhc0luUmVzcG9uc2l2ZSAubWVudTNkbWVnYS5yZXNwb25zaXZlIGxpLm1lbnUtbm9uLWRyb3Bkb3duIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAub2ZmQ2FudmFzTWVudVRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDgwNDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjMDAwOyB9XG4gIC5vZmZDYW52YXNNZW51VG9nZ2xlIC5tZWdhTWVudVRvZ2dsZUljb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMTVweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5kYXNoYm9hcmRQYWdlIC5maXhlZE1lbnUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNSUpICFpbXBvcnRhbnQ7IH0gfVxuIiwi77u/JGJyYW5kLWNvbG9yOiAjMDBiNGZmO1xyXG4kYnJhbmQtcHJpbWFyeTogIzFDMjMzMTtcclxuJGJyYW5kLXN1Y2Nlc3M6ICM1Y2I4NWM7XHJcbiRicmFuZC1pbmZvOiAgICAjNWJjMGRlO1xyXG4kYnJhbmQtd2FybmluZzogI2YwYWQ0ZTtcclxuJGJyYW5kLWRhbmdlcjogICNkOTUzNGY7XHJcblxyXG4kcHJpbWFyeS1iYWNrZ3JvdW5kOiAgI2VhZWRmMTtcclxuJHNlY29uZC1iYWNrZ3JvdW5kOiAjMmUzOTUxO1xyXG5cclxuJGdyYXktZGFya2VyOiBsaWdodGVuKCMwMDAsIDIwJSk7IC8vICMyMjJcclxuJGdyYXktZGFyazogICBsaWdodGVuKCMwMDAsIDMwJSk7IC8vICMzMzMgXHJcbiRncmF5OiAgICAgICAgbGlnaHRlbigjMDAwLCA1MCUpOyAvLyAjNTU1XHJcbiRncmF5LWxpZ2h0OiAgbGlnaHRlbigjMDAwLCA4NSUpOyAvLyAjNzc3XHJcbiRncmF5LWxpZ2h0ZXI6bGlnaHRlbigjMDAwLCA5NSUpOyAvLyAjZWVlXHJcblxyXG4kZm9udC1jb2xvci1oOiAjNWE2NTc1ICMzNzY0OGEgIzA5NjRkNSAjY2I3NTBmICNmNTAzMDMgIzljOWI5YjsgLy9saXN0IGZvciBoMSB0byBoNiB0YWdzXHJcblxyXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgbnRoKCRmb250LWNvbG9yLWgsIDMpO1xyXG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpO1xyXG4kY29udGVudC1saW5rLWNvbG9yOiAgICAgICAgbnRoKCRmb250LWNvbG9yLWgsIDEpO1xyXG4kY29udGVudC1saW5rLWhvdmVyLWNvbG9yOiAgZGFya2VuKCRjb250ZW50LWxpbmstY29sb3IsIDE1JSk7XHJcbiRzaG9ydGN1dC1saW5rLWNvbG9yOiAgICAgICAjMjM0QkEzO1xyXG4kc2hvcnRjdXQtbGluay1ob3Zlci1jb2xvcjogI0RENEI1NjtcclxuXHJcbiRyZWQ6ICAgI2Y0NDMzNjtcclxuJGdyZWVuOiAjNGNhZjUwO1xyXG4kYmx1ZTogICMyMTk2ZjM7XHJcbiR5ZWxsb3c6I2ZmOTgwMDtcclxuJGJsYWNrOiAjMDAwO1xyXG4kd2hpdGU6ICNmZmY7XHJcbiR0aGVtZS1jb2xvcjogI2RmZGZkZiA7XHJcbiRzZWFyY2gtY29sb3I6ICNkZGQ7XHJcblxyXG4kcHJpbWFyeS1mb250SWNvbjogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcclxuJHNlY29uZC1mb250SWNvbjogICdWaWV3Rm9udEljb24nO1xyXG5cclxuLyokaWNvbi1mb250LXBhdGg6ICAgICAgICAgIFwiLi4vZm9udHMvXCI7XHJcbiRpY29uLWZvbnQtbmFtZToqLyBcclxuXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIlNERlwiO1xyXG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgXCJTREYgU3Vic2lkaWFyeVwiO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xyXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XHJcbiRmb250LWZhbWlseS1iYXNlLWZhLW51bTogXCJTREZGYU51bVwiO1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4O1xyXG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKTsgLy8gfjE4cHhcclxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSk7IC8vIH4xMnB4XHJcblxyXG4kZm9udC1zaXplLWg6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDEuNjQpKSBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMS40MikpIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjgpKSBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjE0KSkgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4wNykpIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuOTIpKTsgIC8vbGlzdCBmb3IgaDEgdG8gaDYgdGFnc1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjU7IC8vIDIwLzE0XHJcbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSk7IC8vIH4yMHB4XHJcblxyXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQ7XHJcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwO1xyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMTtcclxuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0O1xyXG5cclxuJHBhZGRpbmctYmFzZTogICAgICAgICAgICAgICAgICAgNXB4O1xyXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgICAgICA2cHg7XHJcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAgICAgIDEycHg7XHJcblxyXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgICAgICAxMHB4O1xyXG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgICAgICAxNnB4O1xyXG5cclxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgICAgICAgNXB4O1xyXG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgICAgICAxMHB4O1xyXG5cclxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgICAgICAgMXB4O1xyXG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgICAgICA1cHg7XHJcblxyXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgICAxLjU7XHJcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAgICAgIDEuMzM7XHJcblxyXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICAgICA0cHg7XHJcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgICAgIDZweDtcclxuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAgICAgM3B4O1xyXG5cclxuJHBhbmVsLWJnOiAjZmZmLCAjZmZmLCAjZmZmLCB0cmFuc3BhcmVudCwgI2ZmZjtcclxuJHBhbmVsLWJvcmRlcjogMCwwLDAsMCwwO1xyXG4kcGFuZWwtYm9yZGVyLXJhZGl1czogNXB4LDAsMCw1cHgsMDtcclxuJHBhbmVsLWJveC1zaGFkb3c6IG5vbmUsbm9uZSxub25lLG5vbmUsbm9uZTtcclxuJHBhbmVsLWhlYWRpbmctYmc6ICNmNGY1ZjcsICNmNGY1ZjcsICMwMGI0ZmYsICNmZmYsdHJhbnNwYXJlbnQ7XHJcbiRwYW5lbC1oZWFkaW5nLWNvbG9yOiAjMzMzMzMzLCMzMzMzMzMsI2ZmZiwjNTA1MDUwLCMzMjMyMzI7XHJcbiRwYW5lbC1oZWFkaW5nLWZvbnQtc2l6ZTogMTZweCwxNnB4LDE2cHgsMTZweCwyMHB4O1xyXG4kcGFuZWwtaGVhZGluZy1mb250LXdlaWdodDogYm9sZCxib2xkLGJvbGQsYm9sZCxib2xkO1xyXG4kcGFuZWwtaGVhZGluZy1hbGlnbjogcmlnaHQscmlnaHQscmlnaHQsY2VudGVyLGNlbnRlcjtcclxuJHBhbmVsLWhlYWRpbmctYm9yZGVyOiAwLDAsMCwwLDA7XHJcbiRwYW5lbC1oZWFkaW5nLWJvcmRlci1yYWRpdXM6IDAsMCwwLDVweCw0cHggNHB4IDAgMDtcclxuJHBhbmVsLWJvZHktYmc6ICNmZmYsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQ7XHJcbiRwYW5lbC1ib2R5LWJvcmRlcjogdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQ7XHJcbiIsIkBtaXhpbiBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkZmlsZS1wYXRoLCAkZm9udC13ZWlnaHQsICRmb250LXN0eWxlKSB7XHJcblx0QGZvbnQtZmFjZSB7XHJcblx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG5cdFx0XHRzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3QnKTtcclxuXHRcdFx0c3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdFx0XHQgdXJsKCcjeyRmaWxlLXBhdGh9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdFx0XHQgdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcblx0XHRmb250LXN0eWxlOiAkZm9udC1zdHlsZTtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBwb3NpdGlvbigkdHlwZTogc3RhdGljLCAkdG9wOiBudWxsLCAkcmlnaHQ6IG51bGwsICRib3R0b206IG51bGwsICRsZWZ0OiBudWxsLCAkei1pbmRleDogbnVsbCkge1xyXG5cdHBvc2l0aW9uOiAkdHlwZTtcclxuXHRAaWYgJHRvcCAhPSBudWxsIHtcclxuXHRcdHRvcDogJHRvcDtcclxuXHR9XHJcblx0QGlmICRyaWdodCAhPSBudWxsIHtcclxuXHRcdHJpZ2h0OiAkcmlnaHQ7XHJcblx0fVxyXG5cdEBpZiAkYm90dG9tICE9IG51bGwge1xyXG5cdFx0Ym90dG9tOiAkYm90dG9tO1xyXG5cdH1cclxuXHRAaWYgJGxlZnQgIT0gbnVsbCB7XHJcblx0XHRsZWZ0OiAkbGVmdDtcclxuXHR9XHJcblx0QGlmICR6LWluZGV4ICE9IG51bGwge1xyXG5cdFx0ei1pbmRleDogJHotaW5kZXg7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgoKSB7XHJcbiAgJjpiZWZvcmUsXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIiBcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gIH1cclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiAgcGFuZWwtc3R5bGUoJHBhbmVsLWJnLCAkcGFuZWwtYm9yZGVyLCAkcGFuZWwtYm9yZGVyLXJhZGl1cywgJHBhbmVsLWJveC1zaGFkb3csICRwYW5lbC1oZWFkaW5nLWJnLCAkcGFuZWwtaGVhZGluZy1jb2xvciwgJHBhbmVsLWhlYWRpbmctZm9udC1zaXplLCRwYW5lbC1oZWFkaW5nLWZvbnQtd2VpZ2h0LCRwYW5lbC1oZWFkaW5nLWFsaWduLCRwYW5lbC1oZWFkaW5nLWJvcmRlciwkcGFuZWwtaGVhZGluZy1ib3JkZXItcmFkaXVzLCRwYW5lbC1ib2R5LWJnLCAkcGFuZWwtYm9keS1ib3JkZXIpIHtcclxuXHQmLnBhbmVsIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1iZztcclxuXHRcdGJvcmRlcjogJHBhbmVsLWJvcmRlcjtcclxuXHRcdGJvcmRlci1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFkaXVzO1xyXG5cdFx0Ym94LXNoYWRvdzogJHBhbmVsLWJveC1zaGFkb3c7XHJcblx0fVxyXG5cdFx0PiAucGFuZWwtaGVhZGluZyB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1oZWFkaW5nLWJnO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAkcGFuZWwtaGVhZGluZy1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICBib3JkZXI6JHBhbmVsLWhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiRwYW5lbC1oZWFkaW5nLWFsaWduO1xyXG5cdFx0XHQmID4gaDEsICYgPiBhID4gaDEsXHJcblx0XHRcdCYgPiBoMiwgJiA+IGEgPiBoMixcclxuXHRcdFx0JiA+IGgzLCAmID4gYSA+IGgzLFxyXG5cdFx0XHQmID4gaDQsICYgPiBhID4gaDQsXHJcblx0XHRcdCYgPiBoNSwgJiA+IGEgPiBoNSxcclxuXHRcdFx0JiA+IGg2LCAmID4gYSA+IGg2LFxyXG5cdFx0XHRhID4gc3Bhbjpub3QoLmdseXBoaWNvbiksIHNwYW46bm90KC5nbHlwaGljb24pLFxyXG5cdFx0XHRwLCBhID4gcCB7XHJcblx0XHRcdFx0Zm9udDogbm9ybWFsIG5vcm1hbCAkcGFuZWwtaGVhZGluZy1mb250LXNpemUgJGZvbnQtZmFtaWx5LWJhc2UsIFRhaG9tYTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogJHBhbmVsLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdGNvbG9yOiAkcGFuZWwtaGVhZGluZy1jb2xvcjtcclxuXHRcdFx0XHRmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0PiAucGFuZWwtYm9keSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1ib2R5LWJnO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCAkcGFuZWwtYm9keS1ib3JkZXI7XHJcblx0XHR9XHJcbn0iLCLvu79AaW5jbHVkZSBmb250LWZhY2UoJHByaW1hcnktZm9udEljb24sJy9Gb250cy9Gb250SWNvbicsIGJvbGQsIG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktYmFzZSwnL0ZvbnRzL0lSQU5TYW5zTGlnaHQnLCBub3JtYWwsIG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktYmFzZSwnL0ZvbnRzL0lSQU5TYW5zQm9sZCcsIGJvbGQsIG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktc2VyaWYsICcvRm9udHMvSXJhblJlZ3VsYXInLCBub3JtYWwsIG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktc2VyaWYsICcvRm9udHMvSXJhbkJvbGQnLCBib2xkLCBub3JtYWwpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJGZvbnQtZmFtaWx5LWJhc2UtZmEtbnVtLCAnL0ZvbnRzL0lSQU5TYW5zRmFOdW0nLCBub3JtYWwsIG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktYmFzZS1mYS1udW0sICcvRm9udHMvSVJBTlNhbnNCb2xkRmFOdW0nLCBib2xkLCBub3JtYWwpO1xyXG4iLCLvu79cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5IZWxwZXIgQ2xhc3NlcyAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubm9Sb3dNYXJnaW4ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubm9Jbm5lclJvd01hcmdpbiAucm93IHtcclxuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnJvd01hcmdpbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogLTE1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVsdHJhU2FtbGxQYWRkaW5nIHtcclxuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5leHRyYVNhbWxsUGFkZGluZyB7XHJcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0NXB4O1xyXG59XHJcblxyXG4ubWVkaXVtUGFkZGluZyB7XHJcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG59XHJcblxyXG4ubGFyZ2VQYWRkaW5nIHtcclxuICAgIHBhZGRpbmctdG9wOiA5MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDkwcHg7XHJcbn1cclxuXHJcbi5leHRyYUxhcmdlUGFkZGluZyB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XHJcbn1cclxuXHJcbi51bHRyYVNhbWxsTWFyZ2luIHtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4uZXh0cmFTYW1sbE1hcmdpbiB7XHJcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxufVxyXG5cclxuLm1lZGl1bU1hcmdpbiB7XHJcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxufVxyXG5cclxuLmxhcmdlTWFyZ2luIHtcclxuICAgIG1hcmdpbi10b3A6IDkwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xyXG59XHJcblxyXG4uZXh0cmFMYXJnZU1hcmdpbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xyXG59XHJcblxyXG4uaWdub3JlUGFkZGluZ1RvcCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaWdub3JlUGFkZGluZ0JvdHRvbSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaWdub3JlTWFyZ2luVG9wIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlnbm9yZU1hcmdpbkJvdHRvbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5CYXNpYyBTdHlsZSAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5odG1sLCAjYXNwbmV0Rm9ybSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuYm9keSB7XHJcbiAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG59XHJcblxyXG4ucG9wdXBCb2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpcmVjdGlvbjogcnRsO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5mbGFnIC5SYWRDb21ib0JveF9TQU1QQSB7XHJcbiAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgMnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKiBFZGl0b3IgU3R5bGUgKioqKioqKioqKioqKioqKioqKiovXHJcbnRleHRhcmVhLnJlVGV4dEFyZWEge1xyXG4gICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEhlYWRpbmcgU3R5bGUgKioqKioqKioqKioqKi9cclxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2e1xyXG4gICAgaCN7JGl9LCAuaCN7JGl9e1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbnRoKCRmb250LXNpemUtaCAsICRpKTtcclxuICAgICAgICBjb2xvcjogbnRoKCRmb250LWNvbG9yLWggLCAkaSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogRW5kIE9mIEhlYWRpbmcgU3R5bGUgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgTGluayBTdHlsZSAqKioqKioqKioqKioqL1xyXG4udG9vbHMge1xyXG4gICAgY29sb3I6IG50aCgkZm9udC1jb2xvci1oLCAxKTtcclxuICAgIGZvbnQtc2l6ZTogLjllbTtcclxufVxyXG5cclxuLm1vcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2NDk5QTtcclxuICAgIGJvcmRlcjogIzRENTE1NCAxcHggc29saWQ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDNweDtcclxufVxyXG5cclxuLmJyaWVmRGVzY3JpcHRpb24ge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICBjb2xvcjogIzI1NTk5NTtcclxufVxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgJi5jb250ZW50e1xyXG4gICAgICAgICY6dmlzaXRlZCwgJjpsaW5rLCAmOmFjdGl2ZXtcclxuICAgICAgICAgICAgY29sb3I6ICRjb250ZW50LWxpbmstY29sb3I7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgY29sb3I6ICRjb250ZW50LWxpbmstaG92ZXItY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50b29sc3tcclxuICAgICAgICAmOmxpbmssICY6dmlzaXRlZCwgJjphY3RpdmV7XHJcbiAgICAgICAgICAgIGNvbG9yOiBudGgoJGZvbnQtY29sb3ItaCwgMSk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgY29sb3I6ICBudGgoJGZvbnQtY29sb3ItaCwgNSk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm1vcmV7XHJcbiAgICAgICAgJjpsaW5rLCAmOnZpc2l0ZWQsICY6YWN0aXZle1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBjb2xvcjogI2I4YzRlMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJyaWVmRGVzY3JpcHRpb257XHJcbiAgICAgICAgJjpsaW5rLCAmOnZpc2l0ZWQsICY6YWN0aXZle1xyXG4gICAgICAgICAgICBjb2xvcjogIzI1NTk5NTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBjb2xvcjogIzI1NTk5NTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMjIyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBMaW5rIFN0eWxlICoqKioqKioqKioqKiovXHJcbi5sZWFkIHtcclxuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ib3hMYXN0VXBkYXRlIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBjb2xvcjogI2FhYTtcclxuICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LCAubGFiZWwge1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEdlbmVyYWwgU3R5bGUgKioqKioqKioqKioqKi9cclxuLnNob3J0Y3V0e1xyXG4gICAgJjpsaW5rLCAmOnZpc2l0ZWQsICY6YWN0aXZle1xyXG4gICAgICAgIGNvbG9yOiAkc2hvcnRjdXQtbGluay1jb2xvcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIGNvbG9yOiAkc2hvcnRjdXQtbGluay1ob3Zlci1jb2xvcjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRzaG9ydGN1dC1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FwdGlvbiB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnRhYmxlQm9yZGVyIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlM2UzO1xyXG59XHJcblxyXG4udGFibGUtbm8tYm9yZGVyLnRhYmxlLWJvcmRlcmVkLnRhYmxlIHtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGFibGUtbm8tYm9yZGVyLnRhYmxlLWJvcmRlcmVkLnRhYmxle1xyXG4gICAgPiB0Ym9keSwgPiB0Zm9vdCwgPiB0aGVhZHtcclxuICAgICAgICA+IHRye1xyXG4gICAgICAgICAgICA+IHRkLCA+IHRoe1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zY2hlbWFUYWJsZSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG59XHJcblxyXG4uYm94IHtcclxuICAgIHdpZHRoOiAxNzVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5N0FGQzE7XHJcbn1cclxuXHJcbi5kb3R0ZWRUYWJsZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBib3JkZXI6IDFweCBkb3R0ZWQgI2MwYzBjMDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbn1cclxuXHJcbi5kb3R0ZWRWTGluZSB7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxufVxyXG5cclxuLmRvdHRlZEhMaW5lIHtcclxuICAgIHBhZGRpbmc6IDVweCAwIDEwcHggMDtcclxufVxyXG5cclxuLmhpbnQge1xyXG4gICAgY29sb3I6ICM0RDUxNTQ7XHJcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG59XHJcblxyXG4ubXVsdGlQYWdlIHtcclxuICAgIG1pbi1oZWlnaHQ6IDcwMHB4O1xyXG59XHJcblxyXG4qIGh0bWwgLm11bHRpUGFnZSB7XHJcbiAgICBoZWlnaHQ6IDcwMHB4O1xyXG59XHJcblxyXG4uc2VhcmNoVGFibGUge1xyXG4gICAgYm9yZGVyOiAjYWFhIDFweCBzb2xpZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XHJcbn1cclxuXHJcblVMLmdlbmVyYWxTdHlsZSB7XHJcbiAgIC8vIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybChJbWFnZXMvU2ltcGxlQnVsbGV0LmdpZik7XHJcbn1cclxuXHJcbmxpLmdlbmVyYWxTdHlsZSB7XHJcbiAgICAvL2xpc3Qtc3R5bGUtaW1hZ2U6IHVybChJbWFnZXMvU2ltcGxlQnVsbGV0LmdpZik7XHJcbn1cclxuXHJcbi5pbWFnZUJvcmRlciB7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZDFkMWQxO1xyXG59XHJcblxyXG4uZ2VuZXJhbFRhYmxlIHtcclxuICAgIGJvcmRlcjogI2FhYSAxcHggZG90dGVkO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcclxufVxyXG5cclxuLkRvY2tDb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIGRpcmVjdGlvbjogcnRsO1xyXG59XHJcblxyXG4uUmFkRG9ja1pvbmUge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ibGFja0xhYmVsIHtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbn1cclxuXHJcbi5nb2xkTGFiZWwge1xyXG4gICAgY29sb3I6ICNjZmI0NTY7XHJcbn1cclxuXHJcbi53aGl0ZUxhYmVsIHtcclxuICAgIGNvbG9yOiAjNDQ0ZDU0O1xyXG59XHJcblxyXG4uYmx1ZUxhYmVsIHtcclxuICAgIGNvbG9yOiAjOTBiOWQzO1xyXG59XHJcblxyXG4ucGF5bWVudFRhYmxlIHtcclxuICAgIGJvcmRlcjogJGJsYWNrIDFweCBzb2xpZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbn1cclxuXHJcbi5LaW1iZXJseUdyaWQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc2OENBNTtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG4udGFibGVIZWFkZXJLaW1iZXJseSB0ZCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAwIC0yMzAwcHggcmVwZWF0LXggIzcxOENBMTtcclxuICAgIGJvcmRlci1jb2xvcjogIzk4QUNCRiAjNzI4QkExICMzRDU1NkMgIzQ1NUY3NztcclxuICAgIGNvbG9yOiBXaGl0ZTtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbiAgICBib3JkZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG4udGFibGVJdGVtS2ltYmVybHkge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC9Db21wb25lbnRzL1N0b3JlL1Jlc291cmNlcy9JbWFnZXMvRkEvQ2FydC9XaGl0ZS9pdGVtLWJnLnBuZykgcmVwZWF0LXggY2VudGVyIGJvdHRvbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgY29sb3I6ICM2MDcyODA7XHJcbiAgICB0ZXh0LWluZGVudDogMDtcclxuICAgIHRke1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHg7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZSB3aGl0ZSB3aGl0ZSAjREFFMkU4O1xyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDFweDtcclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlQWx0ZXJuYXRlSXRlbUtpbWJlcmx5IHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREFFMkU4O1xyXG4gICAgY29sb3I6ICM2MDcyODA7XHJcbiAgICB0ZXh0LWluZGVudDogMDtcclxuICAgIHRke1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHg7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjREFFMkU4O1xyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDFweDtcclxuICAgIH1cclxufVxyXG5cclxuLnJvdW5kZWRDb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggI2FhYWFhYTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XHJcbn1cclxuXHJcbi5hdXRvSGVpZ2h0IHtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWJzZW50IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi50YWJsZS1zdHJpcGVkID4gdGJvZHkge1xyXG4gICAgPiB0cjpudGgtY2hpbGQob2RkKSwgPiB0cjpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZWJ1ZyB7XHJcbiAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgR2VuZXJhbCBNb2R1bGUgKioqKioqKioqKioqKi9cclxuLnJhZGlvLWxpc3Qge1xyXG4gICAgLnJhZGlvIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGxhYmVse1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNoZWNrYm94LWxpc3R7XHJcbiAgICAuY2hlY2tib3gge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgbGFiZWx7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zcGFjZXIge1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5idG4tbm9ybWFsIHtcclxuICAgIHdpZHRoOiAxMjBweDtcclxufVxyXG5cclxuLmJ0bi1sYXJnZSB7XHJcbiAgICB3aWR0aDogMTgwcHg7XHJcbn1cclxuXHJcbi5idG4tcmVtb3ZlIHtcclxuXHJcbn1cclxuXHJcbi5idG5zLWJveCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcblxyXG5kdCwgZGQge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNztcclxufVxyXG5cclxuLnBhbmVsLWxpZ2h0IC5wYW5lbC1oZWFkaW5nIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmNWY1ZjUgMCwgJHdoaXRlIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG4ucGFuZWwtc2ltcGxlIHtcclxuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIC5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2VhZWRmNDtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgLml0ZW0ge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VhZWRmNDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCA1cHg7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogLjJlbSAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFuZWwtc2VhcmNoIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICA+IC5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjVmNWY1IDAsICNlOGU4ZTggMTAwJSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgICAgIHNwYW46YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU4NjJcIjtcclxuICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCAwLjhlbS8xICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbGxhcHNlZCBzcGFuOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODYzXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgMS4yZW0vMS4yICRmb250LWZhbWlseS1iYXNlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gLnBhbmVsLWJvZHkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmYmZiZmI7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VjZWNlYztcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlY2VjZWM7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5FZmZlY3QgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmVmZmVjdFBhcmVudCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi8qKioqKioqKioqKiogaW5pdGlhbGx5IGhpZGUgYW5pbWF0YWJsZSBvYmplY3RzICoqKioqKioqKioqKiovXHJcbi5hbmltYXRhYmxlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XHJcbn1cclxuQG1lZGlhKG1heC13aWR0aDo3NjdweCl7XHJcbiAgICAuYW5pbWF0YWJsZSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG4vKioqKioqKioqKioqIHNob3cgb2JqZWN0cyBiZWluZyBhbmltYXRlZCAqKioqKioqKioqKioqL1xyXG4uYW5pbWF0ZWQge1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqIENTUyBBbmltYXRpb25zICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZSAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XHJcbiAgICAwJSwgMjAlLCA1MyUsIDgwJSwgMTAwJSB7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgIH1cclxuXHJcbiAgICA0MCUsIDQzJSB7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA3MCUge1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgOTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcclxuICAgIH1cclxufVxyXG5cclxuLkJvdW5jZSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2UgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmxhc2ggKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmbGFzaCB7XHJcbiAgICAwJSwgNTAlLCAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIDI1JSwgNzUlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmxhc2gge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZsYXNoICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFB1bHNlICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5QdWxzZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBQdWxzZSAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBSdWJiZXJCYW5kICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDMwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDQwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDUwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDY1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNzUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5SdWJiZXJCYW5kIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFJ1YmJlckJhbmQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgU2hha2UgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBzaGFrZSB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMjAlLCA0MCUsIDYwJSwgODAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uU2hha2Uge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2hha2U7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgU2hha2UgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgU3dpbmcgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBzd2luZyB7XHJcbiAgICAyMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDQwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA4MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Td2luZyB7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFN3aW5nICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFRhZGEgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyB0YWRhIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAlLCAyMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgNDAlLCA2MCUsIDgwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5UYWRhIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFRhZGEgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgV29iYmxlICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgd29iYmxlIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgMTUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA0NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDc1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Xb2JibGUge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBXb2JibGUgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgSmVsbG8gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBqZWxsbyB7XHJcbiAgICAxMS4xJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIDIyLjIlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMzMuMyUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgNDQuNCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDU1LjUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA2Ni42JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDc3LjclIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgODguOCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uSmVsbG8ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEplbGxvICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZUluICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xyXG4gICAgMCUsIDIwJSwgNDAlLCA2MCUsIDgwJSwgMTAwJSB7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIH1cclxuXHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgMjAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcclxuICAgIH1cclxuXHJcbiAgICA4MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIH1cclxufVxyXG5cclxuLkJvdW5jZUluIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2VJbkRvd24gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xyXG4gICAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDkwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLkJvdW5jZUluRG93biB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEJvdW5jZUluRG93biAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2VJbkxlZnQgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xyXG4gICAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDkwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLkJvdW5jZUluTGVmdCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEJvdW5jZUluTGVmdCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2VJblJpZ2h0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XHJcbiAgICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIH1cclxuXHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDc1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA5MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uQm91bmNlSW5SaWdodCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJblJpZ2h0ICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZUluVXAgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcclxuICAgIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgfVxyXG5cclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgNzUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDkwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uQm91bmNlSW5VcCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJblVwICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbiAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmFkZUluIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbkRvd24gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmFkZUluRG93biB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBGYWRlSW5Eb3duICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbkRvd25CaWcgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GYWRlSW5Eb3duQmlnIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJbkRvd25CaWcgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluTGVmdCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GYWRlSW5MZWZ0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJbkxlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluTGVmdEJpZyAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLkZhZGVJbkxlZnRCaWcge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluTGVmdEJpZyAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBGYWRlSW5SaWdodCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GYWRlSW5SaWdodCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluUmlnaHQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluUmlnaHRCaWcgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GYWRlSW5SaWdodEJpZyB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluUmlnaHRCaWcgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluVXAgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmFkZUluVXAge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJblVwICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJblVwQmlnICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmFkZUluVXBCaWcge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJblVwQmlnICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZsaXAgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmbGlwIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIH1cclxuXHJcbiAgICA0MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIH1cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIDgwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GbGlwIHtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGlwICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZsaXBJblggKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmbGlwSW5YIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDQwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgODAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GbGlwSW5YIHtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZsaXBJblggKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmxpcEluWSAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgNDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICA4MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLkZsaXBJblkge1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmxpcEluWSAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBGbGlwT3V0WCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLkZsaXBPdXRYIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGlwT3V0WCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBGbGlwT3V0WSAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLkZsaXBPdXRZIHtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGlwT3V0WSAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBMaWdodFNwZWVkSW4gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICA4MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5MaWdodFNwZWVkSW4ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIExpZ2h0U3BlZWRJbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBMaWdodFNwZWVkT3V0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uTGlnaHRTcGVlZE91dCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgTGlnaHRTcGVlZE91dCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb3RhdGVJbiAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLlJvdGF0ZUluIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBSb3RhdGVJbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb3RhdGVJbkRvd25MZWZ0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Sb3RhdGVJbkRvd25MZWZ0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFJvdGF0ZUluRG93bkxlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgUm90YXRlSW5Eb3duUmlnaHQgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4uUm90YXRlSW5Eb3duUmlnaHQge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFJvdGF0ZUluRG93blJpZ2h0ICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJvdGF0ZUluVXBMZWZ0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Sb3RhdGVJblVwTGVmdCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgUm90YXRlSW5VcExlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgUm90YXRlSW5VcFJpZ2h0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4uUm90YXRlSW5VcFJpZ2h0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgUm90YXRlSW5VcFJpZ2h0ICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEhpbmdlICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgaGluZ2Uge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG5cclxuICAgIDIwJSwgNjAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbiAgICA0MCUsIDgwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uSGluZ2Uge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEhpbmdlICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJvbGxJbiAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLlJvbGxJbiB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFJvbGxJbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb2xsT3V0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcm9sbE91dCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuLlJvbGxPdXQge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgUm9sbE91dCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW4gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyB6b29tSW4ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLlpvb21JbiB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFpvb21JbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW5Eb3duICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgem9vbUluRG93biB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIH1cclxufVxyXG5cclxuLlpvb21JbkRvd24ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgWm9vbUluRG93biAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW5MZWZ0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIH1cclxufVxyXG5cclxuLlpvb21JbkxlZnQge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogRW5kIE9mIFpvb21JbkxlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgWm9vbUluUmlnaHQgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIH1cclxufVxyXG5cclxuLlpvb21JblJpZ2h0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBab29tSW5SaWdodCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW5VcCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uWm9vbUluVXAge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqIEVuZCBPZiBab29tSW5VcCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBTbGlkZURvd24gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uU2xpZGVJbkRvd24ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFNsaWRlRG93biAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBTbGlkZUluTGVmdCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5TbGlkZUluTGVmdCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgU2xpZGVJbkxlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgU2xpZGVJblJpZ2h0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG5cclxuLlNsaWRlSW5SaWdodCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFNsaWRlSW5SaWdodCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBTbGlkZUluVXAgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uU2xpZGVJblVwIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgU2xpZGVJblVwICoqKioqKioqKioqKiovXHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2xpZGVyICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIExpZ2h0IFNsaWRlciAqKioqKioqKioqKioqL1xyXG4uc2xpZGVyV3JhcHBlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uc2xpZGVya2l0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlcmtpdC1uYXYge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgMTApO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZXJraXQtbmF2LWNsaXAge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDAsIG51bGwsIG51bGwsIDAsIG51bGwpO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVya2l0LWJ0biB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgMTApO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZXJraXQtcGFuZWwge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIDEpO1xyXG5cclxuICAgICAgICAuc2xpZGVya2l0LXBhbmVsLXRleHRib3gge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2xpZGVya2l0LXBhbmVsLXRleHQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCwgbnVsbCwgbnVsbCwgMCwgMyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2xpZGVya2l0LXBhbmVsLW92ZXJsYXkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCwgbnVsbCwgbnVsbCwgMCwgMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZXJraXQtcGFuZWwtYWN0aXZlIHtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCA1KTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVya2l0LXBhbmVsLW9sZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgNCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlcmtpdC1jb3VudCB7XHJcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmctYmFzZTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNXB4LCA1cHgsIG51bGwsIG51bGwsIDEwKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVya2l0LXRpbWVyIHtcclxuICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCBudWxsLCBudWxsLCAwLCAxMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogVmVydGljYWwgQW5kIEhvcml6b250YWwgKioqKioqKioqKioqKi9cclxuLnNsaWRlci12ZXJ0aWNhbCB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAuc2xpZGVya2l0LW5hdiB7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlcmtpdC1uYXYtY2xpcCB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlci12ZXJ0aWNhbCB7XHJcbiAgICAgICAgLnNsaWRlci12ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgIC5zbGlkZXJraXQtbmF2LWNsaXAge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2xpZGVyLXZlcnRpY2FsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zbGlkZXJraXQtbmF2LWNsaXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2xpZGVyLXZlcnRpY2FsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2xpZGVya2l0LXBhbmVscyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCwgbnVsbCwgMCwgMCwgbnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5zbGlkZXItdmVydGljYWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC5zbGlkZXJraXQtcGFuZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCAwLCBudWxsLCAwLCAwLCBudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zbGlkZXJraXQtbmV3cyB7XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgICAgICBmb250OiBib2xkIDEuMGVtLzEuNmVtICRmb250LWZhbWlseS1iYXNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2xpZGVya2l0LW5ld3MtcmVhZG1vcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCwgbnVsbCwgMTBweCwgMTBweCwgbnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZXJraXQtbmF2LWNsaXAge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMCwgMTAyLCAxNDEpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqIE5hdiAqKioqKioqKioqKioqL1xyXG4uc2xpZGVyLWhvcml6b250YWwge1xyXG4gICAgLnNsaWRlcmtpdC1uYXYge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsLCBudWxsLCAwLCBudWxsLCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVya2l0LW5hdi1jbGlwIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICAmLnNsaWRlcmtpdC1zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHggNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2FkYjBiMyB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAsIDUwJSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NhY2RkMTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNhZGIwYjM7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKiBQYW5lbCAqKioqKioqKioqKioqL1xyXG4uc2xpZGVyLWhvcml6b250YWwge1xyXG4gICAgLnNsaWRlcmtpdC1wYW5lbHMge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwsIG51bGwsIG51bGwsIDAsIG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZXJraXQtcGFuZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCAwLCBudWxsLCBudWxsLCAwLCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVya2l0LW5ld3Mge1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgZm9udDogYm9sZCAxLjBlbS8xLjZlbSAkZm9udC1mYW1pbHktYmFzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVya2l0LW5ld3MtcmVhZG1vcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsLCBudWxsLCAxMHB4LCAxMHB4LCBudWxsKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKiBOYXYgKioqKioqKioqKioqKi9cclxuLnNsaWRlci1ob3Jpem9udGFsLXRleHQge1xyXG4gICAgLnNsaWRlcmtpdC1uYXYge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsLCBudWxsLCAwLCBudWxsLCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVya2l0LW5hdi1jbGlwIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkM2QzZDM7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVya2l0LXBhbmVscyB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCwgbnVsbCwgbnVsbCwgMCwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlcmtpdC1wYW5lbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VmZjJmMyAwLCNjY2QxZDMgMTAwJSk7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgMCwgbnVsbCwgbnVsbCwgMCwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlcmtpdC1uZXdzIHtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICBmb250OiBib2xkIDFlbS8xLjZlbSAkZm9udC1mYW1pbHktYmFzZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlcmtpdC1uZXdzLXJlYWRtb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCwgbnVsbCwgMTBweCwgMTBweCwgbnVsbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogTGlnaHQgU2xpZGVyIFBhZ2VyICoqKioqKioqKioqKiovXHJcbi5zbGlkZXJraXRTZXBhcmF0b3Ige1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWVkZWU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQ6ICNiY2MyYzM7XHJcbn1cclxuXHJcbi5zbGlkZXJraXRDb250cm9sQmFyIHtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6JGJvcmRlci1yYWRpdXMtc21hbGw7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogNzJweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuXHJcbiAgICAuY29udHJvbEJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRyb2xOZXh0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJJbWFnZXMvTmF2aWdhdGlvbkJ1dHRvbnMucG5nXCIpO1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRyb2xQcmV2aW91cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiSW1hZ2VzL05hdmlnYXRpb25CdXR0b25zLnBuZ1wiKTtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjRweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250cm9sU3RvcCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiSW1hZ2VzL05hdmlnYXRpb25CdXR0b25zLnBuZ1wiKTtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDhweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250cm9sUGxheSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiSW1hZ2VzL05hdmlnYXRpb25CdXR0b25zLnBuZ1wiKTtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzJweCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGlnaHRSb3RhdG9yQ29tcGxleCB7XHJcbiAgICAucGFuZWxUZXh0QW5kUGFnZXIge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VmZjJmMyAwLCNjY2QxZDMgMTAwJSk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M3Y2JjZDtcclxuICAgIH1cclxuXHJcbiAgICAucGFuZWxOYXZpZ2F0b3JBbmRJbWFnZXMge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlcmtpdFBhZ2luZ0luZm9ybWF0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14cy1ob3Jpem9udGFsO1xyXG4gICAgfVxyXG59XHJcbiIsIu+7vy8qKioqKioqKioqKiogU3RhcnQgT2YgYWNjb3JkaW9uIFNsaWRlciAqKioqKioqKioqKioqL1xyXG4uYWNjb3JkaW9uLWNhcmV0IC5hY2NvcmRpb24tdG9nZ2xlOmFmdGVyLFxyXG4uYWNjb3JkaW9uLWNhcmV0IC5hY2NvcmRpb24tc3dpdGNoOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250SWNvbjtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTFweDtcclxufVxyXG5cclxuLmFjY29yZGlvbi1jYXJldCAuYWNjb3JkaW9uLXRvZ2dsZTphZnRlciB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLmFjY29yZGlvbi1jYXJldCAuYWNjb3JkaW9uLXRvZ2dsZTpub3QoLmNvbGxhcHNlZCk6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcXEU4NTdcIjtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG4uYWNjb3JkaW9uLWNhcmV0IC5hY2NvcmRpb24tdG9nZ2xlLmNvbGxhcHNlZDphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlxcRTgxMlwiO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxufVxyXG5cclxuLmFjY29yZGlvbi1jYXJldCAuYWNjb3JkaW9uLXN3aXRjaDpub3QoLmNvbGxhcHNlZCk6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxFODA2XCI7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG4uYWNjb3JkaW9uLWNhcmV0IC5hY2NvcmRpb24tc3dpdGNoLmNvbGxhcHNlZDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXEU4MDVcIjtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcblxyXG59XHJcblxyXG4vKioqKioqKioqKioqIEVuZCBPZiBhY2NvcmRpb24gU2xpZGVyICoqKioqKioqKioqKiovIiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5NZW51ICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5Ub3BNZW51IHtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxufVxyXG5cclxuLmdlbmVyYWxNZW51IHtcclxufVxyXG5cclxuLm1haW5NZW51IHtcclxuICAgIC5uYXZiYXItcmlnaHQge1xyXG4gICAgICAgICYgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjhmOGY4LCAjZTllOWU5KSByZXBlYXQgc2Nyb2xsIDAgMCAjZTllOWU5O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+IGxpLm9wZW4gPiBhLFxyXG4gICAgICAgICYgPiBsaS5jdXJyZW50ID4gYSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZjUwMzAzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAgICAgICAmID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGkubWVudUNvbGxhcHNlIHtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzNnB4LCBudWxsLCBudWxsLCAwLCBudWxsKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxNXB4IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjY2VkYjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjZWRiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1lbnUzZG1lZ2EgPiB1bCBsaSA+IGEgaSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbn1cclxuXHJcbi5kcm9wZG93bi1tZW51ID4gbGkge1xyXG4gID4gYSB7XHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogI2U4ZThlODtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y1ZjVmNSAwcHgsICNlOGU4ZTggMTAwJSk7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgICAgY29sb3I6IHJlZDtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhYWE7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYub3BlbiA+IGEsICYuY3VycmVudCA+IGEge1xyXG4gICAgYmFja2dyb3VuZDogI2U4ZThlODtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmNWY1ZjUgMHB4LCAjZThlOGU4IDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgY29sb3I6IG50aCgkZm9udC1jb2xvci1oLCA1KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYWFhO1xyXG4gIH1cclxufSIsIu+7vy8qKioqKioqKioqKiogU3RhcnQgT2YgSG9yaXpvbnRhbCBNZW51ICoqKioqKioqKioqKiovXHJcbi5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgJiB7XHJcbiAgICAgICAgICAgIC5jb2xsYXBzaWJsZSB7XHJcbiAgICAgICAgICAgICAgICAuc3ViLWFycm93IHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IC1tb3otdXNlLXRleHQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IGRhc2hlZCBzb2xpZCBkYXNoZWQgZGFzaGVkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUsIG51bGwsIG51bGwsIDEwcHgsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAsIDEwMCUsIG51bGwsIGF1dG8sIG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmID4gbGkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDE1cHg7XHJcblxyXG4gICAgICAgICAgICAmLmhhcy1zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdWwuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDEwMCUsIDAsIG51bGwsIGF1dG8sIG51bGwpO1xyXG5cclxuICAgICAgICB1bC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgYXV0bywgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuXHJcbiAgICAgICAgdWwge1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgYTpob3ZlciAuc3ViLWFycm93LCAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwgdWwgLmNvbGxhcHNpYmxlIGE6aG92ZXIgLnN1Yi1hcnJvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRjUwMzAzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQgc29saWQgZGFzaGVkIGRhc2hlZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlLCBudWxsLCBudWxsLCAxMHB4LCBudWxsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuc3ViLWFycm93IHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IC1tb3otdXNlLXRleHQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IGRhc2hlZCBzb2xpZCBkYXNoZWQgZGFzaGVkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUsIG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGE6aG92ZXIgLnN1Yi1hcnJvdywgLmNvbGxhcHNpYmxlIGE6aG92ZXIgLnN1Yi1hcnJvdyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRjUwMzAzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSwgbnVsbCwgbnVsbCwgMTBweCwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnN1Yi1hcnJvdywgLmNvbGxhcHNpYmxlIC5zdWItYXJyb3cge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzU4NTg1QSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUsIG51bGwsIG51bGwsIDEwcHgsIG51bGwpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWFpbk1lbnUge1xyXG4gICAgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHtcclxuICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjhmOGY4LCAjZTllOWU5KSByZXBlYXQgc2Nyb2xsIDAgMCAjZTllOWU5O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhhcy1zdWJtZW51IHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKTtcclxufVxyXG5cclxuLnNmLWhvcml6b250YWwgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1pbi13aWR0aDogMTYwcHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIG1hcmdpbjogMnB4IDAgMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLDAsMCwwLjE3NSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwwLDAsMC4xNzUpO1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMDAlLCAwLCBudWxsLCBudWxsLCAxMDAwKTtcclxufVxyXG4vKioqKioqKiogU2lkZSBOYXYgVG9nZ2xlciAqKioqKioqKiovXHJcbi5kYXNoYm9hcmRQYWdlIHtcclxuXHJcbiAgICAudG9nZ2xlV3JhcCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG5cclxuICAgICAgICAubmF2VG9nZ2xlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZW1lbWJlclBhbmVsQmFyQ29udGFpbmVyIC5wYW5lbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhKG1heC13aWR0aDoxMzY2cHgpIGFuZCAobWluLXdpZHRoOjEyMDApIHtcclxuICAgIC5kYXNoYm9hcmRQYWdlIC5zaWRlQmFySW5uZXIge1xyXG4gICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6OTkxcHgpIHtcclxuICAgIC5kYXNoYm9hcmRQYWdlIC5zaWRlQmFySW5uZXIge1xyXG4gICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYShtaW4td2lkdGg6OTkycHgpIHtcclxuICAgIC5kYXNoYm9hcmRQYWdlIC50b2dnbGVXcmFwIHtcclxuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiIsIu+7vy8qKioqKioqKioqKiogU3RhcnQgT2YgTXVsdGlDb2x1bW4gTWVudSAqKioqKioqKioqKioqL1xyXG4ubXVsdGlDb2x1bW5NZW51e1xyXG4gICAgLm5hdiwgLmNvbGxhcHNlLCAuZHJvcHVwLCAuZHJvcGRvd257XHJcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubXVsdGlDb2x1bW5NZW51LWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Bkb3duLm11bHRpQ29sdW1uTWVudS1mdyAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdWwubmF2IGxpLmRyb3Bkb3duOmhvdmVyID4gdWwuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufSIsIu+7vy8qKioqKioqKioqKioqKioqIFN0YXJ0IE9mIE1ha2UgTWVudSBGaXggKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZpeGVkTWVudSB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwwICFpbXBvcnRhbnQsbnVsbCxudWxsLG51bGwsOTk5OTk5OSk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCAjQUZBRkFGO1xyXG59XHJcbi5kYXNoYm9hcmRQYWdlIHtcclxuICAgIC5maXhlZE1lbnUge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLDAgIWltcG9ydGFudCxhdXRvICFpbXBvcnRhbnQsbnVsbCwwLDk5OSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuZnVsbC13aWR0aCB7XHJcbiAgICAgICAgLmZpeGVkTWVudXtcclxuICAgICAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubWFpbk1lbnUgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgTWVudSBUb2dnbGVycyBJbiBNb2JpbGUgKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1lbnVUb2dnbGUge1xyXG4gICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XHJcbiAgICBjb2xvcjogJGdyYXktbGlnaHRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDEycHggMTVweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAubWVnYU1lbnVUb2dnbGVJY29uIHtcclxuICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMnB4IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY2xvc2VTdGF0dXMgLm1lZ2FNZW51VG9nZ2xlSWNvbiBzcGFuIHtcclxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgTWVnYSBNZW51ICoqKioqKioqKioqKioqKioqKioqKiovXHJcbi5tZW51M2RtZWdhIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyID4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgJi5hcnJvdy1pY29uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSw0NCUsbnVsbCxudWxsLDE2cHgsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmFycm93LWljb24tYm90dG9tOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSw0NiUsbnVsbCxudWxsLDhweCxudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAjMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTcwLCAxNzAsIDE3MCwgMC41KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuXHJcbiAgICAgICAgICAgICYub3BlbkxlZnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCxudWxsLGF1dG8sbnVsbCwwIWltcG9ydGFudCxudWxsKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcms7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3ViIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwwLDEwMCUsbnVsbCxudWxsLDIwKTtcclxuXHJcbiAgICAgICAgICAgICYub3BlbkJvdHRvbSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ncmlzYm94IGxpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYmJiYjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHggMHB4IDRweCAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA2cHggNHB4IDZweDtcclxuICAgICAgICAgICAgd2lkdGg6IDExNnB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDJweCAycHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggI2NjYztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgb3V0bGluZTogMCBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjMzMzO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICM1MjZkZDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOnZpc2l0ZWQge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAwIG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gdWwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM2MTZCN0E7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xyXG5cclxuICAgICAgICAgICAgICAgID4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC5hcnJvdy1pY29uLWJvdHRvbSwgYSwgLmFycm93LWljb24tYm90dG9tOmFmdGVyLCBhOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5maXJzdCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmxhc3Qge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuZnVsbC13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihzdGF0aWMsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiB7XHJcbiAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSwgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIGEge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaWNvbi1tZW51IHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IHtcclxuICAgICAgICAgICAgICAgIC5hcnJvdy1pY29uLCAuYXJyb3ctaWNvbi1ib3R0b20ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5uby1saW5rOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLCAmLmN1cnJlbnQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuXHJcbiAgICAgICAgICAgICAgICAmLmhhcy1zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250SWNvbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLDUwJSxudWxsLG51bGwsMTdweCxudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXEU4MURcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpdltjbGFzcyo9XCJhbmltYXRlLVwiXSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIycHggMDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgJi5hcnJvdy1pY29uOmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLDQ0JSxudWxsLG51bGwsMTZweCxudWxsKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYXJyb3ctaWNvbi1ib3R0b206YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsNDYlLG51bGwsbnVsbCw4cHgsbnVsbCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgIzMzMztcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAycHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzk0MzUyO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcGFyYXRlIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuICAgIH1cclxuXHJcbiAgICAuY2xlYXJmaXggPiAubWVudS10aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmxlZnQge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5yaWdodCB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmdyaWQtZGVtbyBbY2xhc3MqPVwiY29sLWxnXCJdIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgfVxyXG5cclxuICAgIC5mdWxsLXdpZHRoIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWdjbGFzcyB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1saWdodDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAjNjY2NjY2O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICB3aWR0aDogMjMwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNlYXJjaC1jb2xvcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcclxuICAgIH1cclxuXHJcbiAgICAuZGVzYyB7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXBhcmF0b3Ige1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIG1hcmdpbjogMHB4IDAgMTBweCAwO1xyXG4gICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS1saWdodGVyO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuICAgIH1cclxufVxyXG5cclxuLmRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgJjpob3ZlciA+IGEsICY6Zm9jdXMgPiBhIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XHJcbiAgICAud3Atbm9uLWRyb3Bkb3duIC5idG4ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNlcGFyYXRvcjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxufVxyXG4vKioqKioqKioqKioqKioqKiBTdGFydCBPZiBSRVNQT05TSVZFIE1lbnUgKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyogU0NSRUVOICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgLm1lbnVUb2dnbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBNT0JJTEUqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5tZW51M2RtZWdhIHtcclxuICAgICAgICBsaSAuc3ViIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICAmLmhhcy1zdWJtZW51OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA2cHggNHB4IDAgNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSw1MCUsbnVsbCxudWxsLDEwcHgsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1bCBsaSA+IGEuaGFzLXN1Ym1lbnU6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGkgPiBhLmhhcy1zdWJtZW51OmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICM1MjZkZDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAubWVudTNkbWVnYS5yZXNwb25zaXZlIHtcclxuICAgICAgICA+IHVsID4gbGksIGxpLm1lbnUtbm9uLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC53cC1ub24tZHJvcGRvd24ge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gdWwgPiBsaSA+IGRpdiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAubWVudTNkbWVnYS5yZXNwb25zaXZlIHtcclxuICAgICAgICA+IHVsID4gbGksIGxpLm1lbnUtbm9uLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHVsID4gbGkgPiAuYXJyb3ctaWNvbi1ib3R0b206YWZ0ZXIge1xyXG4gICAgICAgICAgICBsZWZ0OiA1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIE1PQklMRSAmIFRBQkxFVCovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5tZW51VG9nZ2xlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250YWN0LWZvcm0ge1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTglO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHVsID4gbGkgPiB7XHJcbiAgICAgICAgICAgIGEsIC5hcnJvdy1pY29uLCAuYXJyb3ctaWNvbi1ib3R0b20ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgID4gLmFycm93LWljb246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICAgICAgLyoqKioqKioqKioqIFJpZ2h0IENoYW5nZWQgVG8gTGVmdCoqKioqKioqKiovXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSw1MCUsbnVsbCxudWxsLDUlLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHVsID4gbGkge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgVkVSVElDQUwgU1RZTEUgT05MWSBTQ1JFRU4gKioqKioqKioqKioqKioqKioqKioqKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAubWVudTNkbWVnYS52ZXJ0aWNhbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLyoqKioqKioqKioqKioqKioqKiAoKChJTiBSVEwgVkVSU0lPTikpKSBGbG9hdCBDaGFuZ2VkIFRvIFJpZ2h0ICoqKioqKioqKioqKioqKioqKi9cclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgJi5mbHlvdXQtbWVudSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiB1bCA+IGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3Bhbi5hcnJvdy1pY29uLWJvdHRvbTphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgIzMzMztcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAycHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaTpob3ZlciBzcGFuLmFycm93LWljb24tYm90dG9tOmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiB1bCA+IGxpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKkZvciBGdXR1cmUqKioqKioqKioqKioqKioqKioqL1xyXG4vKi5tZW51VG9nZ2xlIC5tZWdhTWVudVRvZ2dsZS1pY29uIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgcmdiYSgyMzAsIDIzMCwgMjMwLCAwLjcpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBoZWlnaHQ6IDJweDtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB3aWR0aDogMTZweDtcclxufVxyXG4ubWVudVRvZ2dsZSAgLm1lZ2FNZW51VG9nZ2xlLWljb24ge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgcmdiYSgyMzAsIDIzMCwgMjMwLCAwLjgpO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsLTRweCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgcmdiYSgyMzAsIDIzMCwgMjMwLCAwLjkpO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLC04cHgsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcbiAgICAgICAgdG9wOiAtOHB4O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZW51LXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwIHJnYmEoMjMwLCAyMzAsIDIzMCwgMC43KTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB3aWR0aDogMTZweDtcclxufSovXHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuUHVzaCBNZW51ICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5sYXJnZUR1cmF0aW9uVHJhbnNpdGlvbiB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMG1zO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwMG1zLCAxMDAwbXMsIDBtcztcclxufVxyXG5cclxuLm1haW5Db250ZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdHJhbnNpdGlvbjogbGVmdCAzNzVtcyBlYXNlLWluLW91dCAwbXM7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCwgbnVsbCwgbnVsbCwgMCwgMTApO1xyXG59XHJcblxyXG4ucHVzaE1lbnVPcGVuIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAubWFpbkNvbnRlbnQge1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zO1xyXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KTtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgMCwgbnVsbCwgbnVsbCwgLTIxZW0sIG51bGwpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHVzaE1lbnVMaW5rc1dyYXAge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMG1zLCAwbXMsIDBtcztcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zLCAzNzVtcywgMG1zO1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBlYXNlLWluLW91dCwgbGluZWFyO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIHdpZHRoOiAxNWVtO1xyXG5cclxuICAgICYgPiBsaSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbWVkaXVtIG5vbmU7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XHJcbiAgICAgICAgbWFyZ2luOiAwLjYyNWVtIDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nOiAwLjkzNzVlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCByaWdodCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAwLCAtNSUsIG51bGwsIG51bGwsIDApO1xyXG5cclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44KTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBmb250OiBib2xkIDE2cHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCByaWdodCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHVzaE1lbnVPcGVuIHtcclxuICAgIC5wdXNoTWVudUxpbmtzV3JhcCB7XHJcbiAgICAgICAgJiA+IGxpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnB1c2hNZW51TGlua3NXcmFwIHtcclxuICAgIGxpOmhvdmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAwLCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubWFpblBhZ2VzIHtcclxuICAgIHBhZGRpbmctbGVmdDogM2VtO1xyXG4gICAgd2lkdGg6IDEwZW07XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG1lZGl1bSBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xyXG4gICAgICAgIG1hcmdpbjogMC42MjVlbSAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZzogMC45Mzc1ZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgcmlnaHQgMjUwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCkgMHMsIGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA1ZWI4O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAwLCAwLCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnB1c2hNZW51VGFiUGFuZWwge1xyXG4gICAgd2lkdGg6IDI4ZW07XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiAgICBAZXh0ZW5kIC5sYXJnZUR1cmF0aW9uVHJhbnNpdGlvbjtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoIDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgcmlnaHQgMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgMzc1bXM7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwsIC0yOGVtLCBudWxsLCBudWxsLCA1MTApO1xyXG59XHJcblxyXG4ucHVzaE1lbnVPcGVuIHtcclxuICAgIC5wdXNoTWVudVRhYlBhbmVsIHtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZUR1cmF0aW9uVHJhbnNpdGlvbjtcclxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYW5lbC1wdXNobWVudSAucGFuZWwtaGVhZGluZywgLnBhbmVsLXB1c2htZW51LW5vY2hpbGQge1xyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxufVxyXG5cclxuLnBhbmVsLXB1c2htZW51IC5wYW5lbC1ib2R5IGxpIGEge1xyXG4gICAgY29sb3I6ICNiNGIyYWQ7XHJcbn1cclxuXHJcbi5wdXNoTWVudU9wZW4ge1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgMCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcblxyXG4gICAgLnB1c2hNZW51TGlua3NXcmFwIHtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZUR1cmF0aW9uVHJhbnNpdGlvbjtcclxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wdXNoTWVudUxpbmtzV3JhcCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQGV4dGVuZCAubGFyZ2VEdXJhdGlvblRyYW5zaXRpb247XHJcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgdmlzaWJpbGl0eSAwbXMgbGluZWFyIDM3NW1zO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAzZW0sIDAsIG51bGwsIG51bGwsIDUwMCk7XHJcbn1cclxuXHJcbi5wdXNoTWVudVNldEFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAyN2VtLCBudWxsLCBudWxsLCBudWxsKTtcclxufVxyXG5cclxuLnRhYlBhbmVsU2V0QWN0aXZlIHtcclxufVxyXG5cclxuLmZvcmNlOmFmdGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vKi0tIG1hc2tpbmcgdGhlIHBhZ2UgYWZ0ZXIgb3BlbmluZyBuYXZpZ2F0aW9uIC0tKi9cclxuLnB1c2hNZW51T3ZlcmxheSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ0LCA0NCwgNTEsIDApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDBtcyBsaW5lYXIgMzc1bXMsIGJhY2tncm91bmQtY29sb3IgMzc1bXMgZWFzZS1pbi1vdXQgMG1zO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCAwLCBudWxsLCAwKTtcclxufVxyXG5cclxuLnB1c2hNZW51T3BlbiB7XHJcbiAgICAucHVzaE1lbnVPdmVybGF5IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDQsIDQ0LCA1MSwgMC45KTtcclxuICAgICAgICBjdXJzb3I6IHVybCgnaW1hZ2VzL2N1cnNvci1jbG9zZS5wbmcnKSxhdXRvO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcywgMG1zLCAwbXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMsIDBtcywgMzc1bXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXIsIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCBudWxsLCBudWxsLCA1MDApO1xyXG4gICAgfVxyXG5cclxuICAgIC5wdXNoTWVudVRhYlBhbmVsIHtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZUR1cmF0aW9uVHJhbnNpdGlvbjtcclxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLnB1c2hNZW51V3JhcHBlciB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCBudWxsLCA4MDMwKTtcclxufVxyXG5cclxuLypjbG9zZSBuYXZpZ2F0aW9uIGJ5IGNsaWNraW5nIG9uIG92ZXJsYXkgc2VjdGlvbiovXHJcbi50YWJwYW5lbFNldENsb3NlIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsLCAtMjhlbSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbn1cclxuXHJcbi5wdXNoTWVudUNsb3NlIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIG51bGwsIDAsIG51bGwsIG51bGwsIG51bGwpO1xyXG59XHJcblxyXG5cclxuLypzdHlsZXMgZm9yIGhhbWJ1cmdlciBhbmQgY2xvc2UgYnV0dG9uICovXHJcbi5wdXNoTWVudVdyYXBwZXIge1xyXG4gICAgLnB1c2hNZW51T3BlbiB7XHJcbiAgICAgICAgLnRhYlBhbmVsU2V0IHtcclxuICAgICAgICAgICAgQGV4dGVuZCAubGFyZ2VEdXJhdGlvblRyYW5zaXRpb247XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGxpbmVhcjtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYlBhbmVsU2V0IHtcclxuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHZpc2liaWxpdHkgMG1zIGxpbmVhciAzNzVtcztcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJwYW5lbENvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGV4dGVuZCAubGFyZ2VEdXJhdGlvblRyYW5zaXRpb247XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHZpc2liaWxpdHkgMG1zIGxpbmVhciAzNzVtcztcclxuICAgIH1cclxufVxyXG5cclxuLnB1c2hNZW51T3BlbiB7XHJcbiAgICAudGFiUGFuZWxDb250ZW50IHtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZUR1cmF0aW9uVHJhbnNpdGlvbjtcclxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4udGFicGFuZWxDb250ZW50IC5jb250ZW50LCAudGFicGFuZWxDb250ZW50IC5jb250ZW50IGEge1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG59XHJcblxyXG4uc2VhcmNoV3JhcHBlciB7XHJcbn1cclxuLyogY2xvc2UgYm94ICovXHJcbi5wdXNoTWVudUNsb3NlSWNvOmJlZm9yZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG4ucHVzaE1lbnVDbG9zZUljbzphZnRlciwgLnB1c2hNZW51Q2xvc2VJY286YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcDogMC4xOGVtIHNvbGlkICR3aGl0ZTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItdG9wLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgd2lkdGg6IDQwJTtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUsIG51bGwsIG51bGwsIDUwJSwgbnVsbCk7XHJcbn1cclxuXHJcbi5wdXNoTWVudUNsb3NlSWNvOmFmdGVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG4ubWFpbi1uYXYtb3BlbiAucHVzaE1lbnVUYWJQYW5lbCAucHVzaE1lbnVDbG9zZUljbywgLnB1c2hNZW51VGFiUGFuZWwgLnB1c2hNZW51Q2xvc2VJY28ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcywgMG1zLCAxMDAwbXM7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xyXG59XHJcblxyXG4ucHVzaE1lbnVUYWJQYW5lbCB7XHJcbiAgICAucHVzaE1lbnVDbG9zZUljbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIGNvbG9yOiAjZTVlMmUwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMG1zLCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgMjUwbXMsIG9wYWNpdHkgMjUwbXMgZWFzZS1pbi1vdXQgMG1zO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJjMzM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wdXNoTWVudUNsb3NlSWNvIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XHJcbiAgICBjb2xvcjogI2I0YjJhZDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAzZW07XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgd2lkdGg6IDNlbTtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCBudWxsLCBudWxsLCAwLCAxMDApO1xyXG59XHJcblxyXG4vKiBIYW1idXJnZXIgSWNvbiAqL1xyXG4ucHVzaE1lbnVXcmFwcGVyIHtcclxuICAgIC5oYW1idXJnZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgwLCAxNzgsIDE3MywgMC41KTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMG1zLCAzNzVtcywgMzc1bXMsIDM3NW1zO1xyXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCwgZWFzZS1pbi1vdXQsIGVhc2UtaW4tb3V0LCBlYXNlLWluLW91dCwgZWFzZS1pbi1vdXQsIGxpbmVhcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAyNTBtcyBlYXNlLWluLW91dCAwbXMsIHBhZGRpbmctcmlnaHQgMjUwbXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAzNzVtcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwbXMsIGNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBtcywgdmlzaWJpbGl0eSAwbXMgbGluZWFyIDBtcztcclxuICAgICAgICB3aWR0aDogNWVtO1xyXG4gICAgICAgIGhlaWdodDogNGVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDEuNWVtIDIuNWVtIDFlbSAzZW07XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAtNmVtLCBudWxsLCBudWxsLCA5OTk5KTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGVhc2UtaW4tb3V0LCBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgMCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcblxyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgOTk5OSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaGlkZVB1c2hNZW51TGlua3Mge1xyXG4gICAgLmhhbWJ1cmdlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIC0xZW0sIG51bGwsIG51bGwsIDk5OTkpO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgLTAuM2VtLCBudWxsLCBudWxsLCBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnB1c2hNZW51TGlua3NXcmFwIHtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAtMjhlbSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaG93UHVzaE1lbnVMaW5rcyB7XHJcbiAgICAucHVzaE1lbnVMaW5rc1dyYXAge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIG51bGwsIDAsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC5oYW1idXJnZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIG51bGwsIC02ZW0sIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHVzaE1lbnVPcGVuLnNob3dQdXNoTWVudUxpbmtzIHtcclxuICAgIC5wdXNoTWVudUxpbmtzV3JhcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgMjhlbSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYW5lbC1wdXNobWVudSwgLnBhbmVsLXB1c2htZW51LW5vY2hpbGQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMmMyYzMzO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxufVxyXG5cclxuLnBhbmVsLXB1c2htZW51IHtcclxuICAgIC5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMzlweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmMzMyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYW5lbC1wdXNobWVudS1ub2NoaWxkIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmMzMyAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXM7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnBhbmVsLXB1c2htZW51IC5wYW5lbC1oZWFkaW5nOmhvdmVyIGEsIC5wYW5lbC1wdXNobWVudS1ub2NoaWxkOmhvdmVyIGEge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcclxufVxyXG5cclxuLnBhbmVsLXB1c2htZW51IHtcclxuXHJcbiAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgIzJjMmMzMztcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDEwcHggOHB4IDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZy1yaWdodCAyNTBtcyBlYXNlLWluLW91dCAwcywgcGFkZGluZy1sZWZ0IDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBjb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyZW07XHJcblxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyYzMzICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXJpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBwYWRkaW5nLWxlZnQgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41ZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyYzJjMzM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMmMyYzMzO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYW5lbC1oZWFkaW5nW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkzNlwiO1xyXG4gICAgICAgICAgICBjb2xvcjogIzdlN2U3YztcclxuICAgICAgICAgICAgZm9udDogMThweC80NXB4ICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTYxNjFhO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ0LCA0NCwgNTEsIDAuNSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCBudWxsLCBudWxsLCAtNDBweCwgbnVsbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29sbGFwc2VkIHtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkzN1wiO1xyXG4gICAgICAgICAgICBjb2xvcjogIzdlN2U3YztcclxuICAgICAgICAgICAgZm9udDogMThweC80NXB4ICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTYxNjFhO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ0LCA0NCwgNTEsIDAuNSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCBudWxsLCBudWxsLCAtNDBweCwgbnVsbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYW5lbC1wdXNobWVudS1ub2NoaWxkIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxufVxyXG5cclxuLnBhbmVsLXB1c2htZW51IHtcclxuICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICAucGFuZWwtcHVzaG1lbnUge1xyXG4gICAgICAgICAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgICAgICAgICBsaTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKlB1c2ggTWVudSBMb2dvICovXHJcblxyXG4ucHVzaE1lbnVXcmFwcGVyIHtcclxuICAgIC5wdXNoTWVudUxvZ28ge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmltZ1B1c2hNZW51TG9nbyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnB1c2hNZW51T3BlbiB7XHJcbiAgICAuaW1nUHVzaE1lbnVMb2dvIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFB1c2ggTWVudSBTZWFyY2hCb3ggKi9cclxuLnB1c2hNZW51U2VhcmNoQm94IHtcclxuICAgIC5nZW5lcmFsU2VhcmNoQm94IHtcclxuICAgICAgICBkaXJlY3Rpb246IHJ0bDtcclxuXHJcbiAgICAgICAgLmlucHV0LWdyb3VwIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY2NjY2NjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMThweCAwIDE4cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLCAuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDJweDtcclxuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiB0YWIgcGFuZWwgbmV3cyBzdHlsZSAqL1xyXG4ucHVzaE1lbnVXcmFwcGVyIHtcclxuICAgIC5uZXdzTGlzdEl0ZW0gYSwgLm5ld3NMaXN0RGF0ZSB7XHJcbiAgICAgICAgY29sb3I6ICNiNGIyYWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld3NMaXN0SXRlbSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyYzJjMzM7XHJcbiAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGE6YmVmb3JlLCBhOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJycgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOjU3NXB4KSB7XHJcbiAgICAuaGFtYnVyZ2VyIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgLTFlbSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnB1c2hNZW51TGlua3NXcmFwIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5wdXNoTWVudVRhYlBhbmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJwYW5lbENvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5wdXNoTWVudVdyYXBwZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5wdXNoTWVudVRhYlBhbmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAtMTMzJSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnB1c2hNZW51T3BlbiB7XHJcbiAgICAgICAgLnB1c2hNZW51VGFiUGFuZWwge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAwLCBudWxsLCBudWxsLCBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYnBhbmVsQ29udGVudCB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wdXNoTWVudU9wZW4ge1xyXG4gICAgICAgIC5oYW1idXJnZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAtNmVtLCBudWxsLCBudWxsLCBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnB1c2hNZW51VGFiUGFuZWwgLm5ld3NMaXN0SXRlbSAubmV3c0ltYWdlLCAucHVzaE1lbnVPdmVybGF5IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAucHVzaE1lbnVXcmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuXHJcbiAgICAgICAgLnRhYnBhbmVsQ29udGVudCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHVzaE1lbnVUYWJQYW5lbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgLTEzMyUsIG51bGwsIG51bGwsIDgwMzApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2Nyb2xsVG9Ub3Age1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGJhY2tncm91bmQ6IHJlZDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKioqKioqKipMb2dpbiBTdHlsZSoqKioqKioqKioqKioqKioqKiovXHJcbi5sb2dpbkhlYWRlcldyYXAge1xyXG59XHJcblxyXG4ubG9naW5Gb290ZXJXcmFwIHtcclxuICAgIC5yYWRjb21Db3B5cmlnaHRBbmRMb2dvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG5cclxuICAgICAgICAuZ2VuZXJhbENvcHlyaWdodCwgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmxvZ2luU3R5bGUge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIGh0bWwsIGJvZHksICNnZW5lcmFsTWFpbldyYXAsIGZvcm0ge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgJi5sb2dpbkJvZHkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjBGNUZGO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKioqKioqKioqKioqKioqKioqU2FtcGEgTG9naW4gU3R5bGUqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmJvZHlTdHlsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRjBGNUZGO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIC5tYWluRm9vdGVyV3JhcCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcbiAgICAgICAgLnJhZGNvbUNvcHlyaWdodEFuZExvZ28ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgLmdlbmVyYWxDb3B5cmlnaHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sb2dpbiB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjVmOGZhO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBmb250LWZhbWlseTogU0RGO1xyXG5cclxuICAgIC5sb2dpbk1haW5Gb290ZXJXcmFwIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICNnZW5lcmFsTWFpbldyYXAge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcclxuICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xyXG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlTWVtYmVyTW9iaWxlTG9naW5TaWdudXBXcmFwcGVyIHtcclxuICAgICAgICAuc2lnbnVwUmVtZW1iZXJNZVdyYXBwZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjJweCAxNXB4IDIycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAucGFuZWwge1xyXG4gICAgICAgIC5wYW5lbEltYWdlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZm9ybS1ob3Jpem9udGFsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuXHJcblxyXG5cclxuICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgIC5oZWxwZXJMaW5rcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDBhMTU2ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2M2ViYWMgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICYubG9naW5DYXB0Y2hhV3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM1YzY0NzM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoNzMsMTI4LDI1NSwwLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgLmlucHV0LWdyb3VwLWFkZG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0VCRUJFQiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgICAgICAgICAgICAgIC5wYXNzd29yZEJveFBvcG92ZXJUcmlnZ2VyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5idG4ge1xyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2l0ZU1lbWJlckxvZ2luIHtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzczN2M4ZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2QyYWM2NztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVzZXJuYW1lRmllbGRWYWx1ZVdyYXBwZXIsIC5wYXNzd29yZEZpZWxkVmFsdWVXcmFwcGVyIHtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCA1cHggIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTNweDtcclxuICAgICAgICB6LWluZGV4OiAyMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmYyODQ4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBjb2xvcjogI2ZmZiA7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjJweDtcclxuICAgIH1cclxufVxyXG5cclxuLmxvZ2luQm9keSB7XHJcbiAgICAubWFpbkNvbnRlbnRXcmFwIHtcclxuICAgICAgICA+IC5jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmxvZ2luIHtcclxuXHJcbiAgICAuaGVhZGVyVG9wIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluQ29udGVudFdyYXAge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luUmlnaHRTaWRlIC5pbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzAyMzg1YTtcclxuICAgICAgICBwYWRkaW5nOiAzNHB4IDUwcHggMzRweDtcclxuICAgIH1cclxuXHJcbiAgICAubWlkZGxlQ29sdW1uIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAubWFpbkNvbnRlbnRXcmFwIHtcclxuICAgICAgICAmID4gLmNvbnRhaW5lcjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2VuZXJhbFBvd2VyZWRCeSwgLmdlbmVyYWxDb3B5cmlnaHQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5teVJhZGNvbUZlYXR1cmVzIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZkZmRmZDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXlMb2dvIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdseXBoaWNvbiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpbkxlZnRTaWRlIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubG9naW5Gb3JtV3JhcHBlciB7XHJcbiAgICAgICAgLmxpc3Qge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAyMzg1YTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICZob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMGNjO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuUmFkQ2FwdGNoYSB7XHJcbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VmNTY2MjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudXNlcm5hbWVGaWVsZFZhbHVlV3JhcHBlcixcclxuICAgIC5wYXNzd29yZEZpZWxkVmFsdWVXcmFwcGVyLFxyXG4gICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNHB4IDE0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmYyODQ4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlTWVtYmVyTG9naW4gLmxvZ2luQ2FwdGNoYVdyYXBwZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAubWlkZGxlQ29sdW1uIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmJvZHlTdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluQ29udGVudFdyYXAgPiAuY29udGFpbmVyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50XHJcbiAgICB9XHJcblxyXG4gICAgLnBhbmVsLXN0eWxlNSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDAsMCwwLDAuMTYpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuXHJcbiAgICAgICAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDIwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMjYyNjI2O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU0RGXCI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiY2I4YjggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+IC5wYW5lbC1ib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubG9naW5MZWZ0U2lkZSAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW5IZWFkZXJXcmFwIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGVNZW1iZXJTaWdudXAge1xyXG4gICAgICAgIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAgPiBkaXYgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ5ZGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYWxsaW5nQ29kZVdyYXBwZXIgPiBpbnB1dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpbkZvcm1XcmFwcGVyIHtcclxuICAgICAgICAudXNlcm5hbWVGaWVsZFZhbHVlV3JhcHBlciBzcGFuLFxyXG4gICAgICAgIC5wYXNzd29yZEZpZWxkVmFsdWVXcmFwcGVyIHNwYW4sXHJcbiAgICAgICAgLmZvcm0tY29udHJvbCBzcGFuIHtcclxuICAgICAgICAgICAgdG9wOiAzN3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFtpZCQ9XCJDYXB0Y2hhVGV4dEJveFwiXSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZDlkZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGFzaGJvYXJkUGFnZSAubWFpbkhlYWRlcldyYXAge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206MTBweDtcclxufVxyXG4ubG9naW5MZWZ0U2lkZXtcclxuICAgIHBhZGRpbmc6MCAzMHB4O1xyXG59XHJcbkBtZWRpYShtaW4td2lkdGg6NzY4cHgpIHtcclxuXHJcblxyXG4gICAgLmxvZ2luIC5tYWluRm9vdGVyV3JhcCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubG9naW4gLm1haW5IZWFkZXJXcmFwIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOiA5OTFweCkge1xyXG4gICAgLmxvZ2luIC5sb2dpblJpZ2h0U2lkZSAuaW5uZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDM0cHggMjhweCAzNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teVJhZGNvbUZlYXR1cmVzIHAge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOjc2N3B4KSB7XHJcblxyXG4gICAgLmxvZ2luIC5sb2dpblJlbWVtYmVyTWVXcmFwcGVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluSGVhZGVyV3JhcCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubG9naW4gLm1haW5Db250ZW50V3JhcCB7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luIC5tYWluQ29udGVudFdyYXAgPiAuY29udGFpbmVyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luTGVmdFNpZGUge1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhKG1heC13aWR0aDo0MTRweCkge1xyXG4gICAgLnBhbmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zaXRlTWVtYmVyRm9yZ290UGFzc3dvcmRXcmFwcGVyIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAgPiBkaXYgLmJ0biB7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDtcclxufVxyXG4iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbk1hc3RlcnBhZ2UgTGF5b3V0ICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5nZW5lcmFsTWFpbldyYXAge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLm1haW5Db250ZW50V3JhcCB7XHJcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XHJcbiAgICA+IC5jb250YWluZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0yMnB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWFpbkhlYWRlcldyYXAge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWRiZTg7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwwLDAsLjEyKTtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLnN0aWNreSB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCwwLCBudWxsLCAwLCA5OTk5KTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uaGVhZGVyQm90dG9tIHtcclxuICAgIGJhY2tncm91bmQ6ICRzZWNvbmQtYmFja2dyb3VuZDtcclxuICAgIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XHJcbn1cclxuXHJcbi5yaWdodENvbHVtbiwgLm1pZGRsZVdyYXAge1xyXG4gICAgYmFja2dyb3VuZDogIzFFMjYyRDtcclxufVxyXG5cclxuLm1pZGRsZUNvbHVtbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgICBtaW4taGVpZ2h0OiA3ODBweDtcclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKkRhc2hib2FyZCBQYWdlKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5kYXNoYm9hcmRQYWdlIHtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcbiAgICAubWlkZGxlQ29sdW1uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlclRvcCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAubWFpbkhlYWRlcldyYXAge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxQzIzMzE7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJpZ2h0Q29sdW1uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUMyMzMxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMHM7XHJcblxyXG4gICAgICAgICYuY2xvc2VkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XHJcblxyXG4gICAgICAgICAgICAuc2l0ZW1lbWJlclBhbmVsQmFyQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIC5wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVCYXJJbm5lciB7XHJcbiAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAuZnVsbC13aWR0aCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6OTkxcHgpIHtcclxuICAgIC5zaXRlbWVtYmVyVG9wQmFyID4gLnRvcEJhckl0ZW1XcmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOjc2N3B4KSB7XHJcbiAgICAubWFpbkhlYWRlcldyYXAgLnNpdGVtZW1iZXJUb3BCYXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuZGFzaGJvYXJkUGFnZSB7XHJcbiAgICAgICAgLm1pZGRsZUNvbHVtbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWVkaWEobWluLXdpZHRoOjc2OHB4KXtcclxuICAgIC5lcXVhbEhlaWdodFBhcmVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxufSIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuRm9ydW0gICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuI2RpdkZvcnVtIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmltZ0ZvcnVtIHtcclxuICAgIGJhY2tncm91bmQ6IHVybChJbWFnZXMvRm9ydW0ucG5nKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcclxuICAgIHdpZHRoOiAxNzFweDtcclxuICAgIGhlaWdodDogMzhweDtcclxufSIsIu+7vy8qKioqKioqKioqKiogU3RhcnQgT2YgUGFyYWxsYXggKioqKioqKioqKioqKi9cclxuLnBhcmFsbGF4IHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBQYXJhbGxheCAqKioqKioqKioqKioqLyIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuUHJpbnRWZXJzaW9uICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgICBhIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuRm9vdGVyICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5tYWluRm9vdGVyV3JhcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgcGFkZGluZy10b3A6MjBweDtcclxuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xyXG59XHJcblxyXG4ucmFkY29tQ29weXJpZ2h0QW5kTG9nbyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kLWJhY2tncm91bmQ7XHJcbiAgICBwYWRkaW5nOiA4cHggMTVweDtcclxufVxyXG5cclxuLmdlbmVyYWxDb3B5cmlnaHQge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxufVxyXG5cclxuLnBvcHVwQm9keSAuZ2VuZXJhbENvcHlyaWdodCB7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG59XHJcbi5nZW5lcmFsQ29weXJpZ2h0e1xyXG4gICAgYXtcclxuICAgICAgICBjb2xvcjokd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kYXNoYm9hcmRQYWdlIC5yYWRjb21Db3B5cmlnaHRBbmRMb2dvIHtcclxuICAgIHBhZGRpbmc6IDhweCAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLmxvZ2luIHtcclxuICAgIC5nZW5lcmFsQ29weXJpZ2h0IHtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2VuZXJhbFBvd2VyZWRCeSBhLCAuZ2VuZXJhbFBvd2VyZWRCeSBzcGFuIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuICAgIH1cclxufVxyXG5AbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XHJcbiAgICAuZGFzaGJvYXJkUGFnZSAubWFpbkZvb3RlcldyYXAgLmlubmVyRm9vdGVyV3JhcCAucm93OmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhKG1heC13aWR0aDo5OTFweCl7XHJcbiAgICAuZGFzaGJvYXJkUGFnZSAubWFpbkZvb3RlcldyYXAgLm1haW5Mb2dvSW1hZ2Uge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG59Iiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5BZG1pbkJhciAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYWRtaW5iYXIge1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICBtYXJnaW4tdG9wOiAtNTFweDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCBudWxsLCAwLCAwLCA4MDIwKTtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgYmFja2dyb3VuZDogIzFDMjMzMTtcclxuICAgIHBhZGRpbmc6IDdweCAyMHB4IDhweDtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgIGNvbG9yOiAjZGRkO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLG51bGwsbnVsbCwtMTdweCwwLC0xKTtcclxuICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJ1xcRTg2Myc7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgIGNvbG9yOiAjZGRkO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLG51bGwsbnVsbCwtMjNweCwzcHgsMCk7XHJcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXJcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnF1aWNrbGlua3Mge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktbGlnaHRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweCAwIDdweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBiYjNmOTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5nbHlwaGljb24tbWFuYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTFweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmdseXBoaWNvbi1zdGF0cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5uYXYge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICYubXlBY2NvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9Db21wb25lbnRzL1NpdGVNZW1iZXIvUmVzb3VyY2VzL0ltYWdlcy9BdmF0YXIucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNob3dBZG1pbiB7XHJcbiAgICAmLmFkbWluYmFyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWVkaWEobWF4LXdpZHRoOjc2N3B4KXtcclxuICAgIC5hZG1pbkJhcldyYXAge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn0iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkhlYWRlckxvZ28gICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnNhbXBhTmV3IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnN2Zy1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCBudWxsLCBudWxsLCAwLCBudWxsKTtcclxufVxyXG5cclxuLm1haW5Mb2dvIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIC5nbHlwaGljb24tbG9nbyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTg1ODVBO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpe1xyXG4gICAgLm1haW5Mb2dvIHtcclxuICAgICAgICAuaDUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSAuZ2x5cGhpY29uLWxvZ28ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDZlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5EYXRlICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5nZW5lcmFsQ3VycmVudERhdGVUaW1lIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgY29sb3I6ICMzYjNiM2I7XHJcbiAgICBwYWRkaW5nOiA4cHggMDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uZGF0ZXRpbWVTZXBhcmF0b3Ige1xyXG4gICAgcGFkZGluZzogMCA0cHg7XHJcbn0iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNlYXJjaCAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZ2VuZXJhbFNlYXJjaEJveCB7XHJcbiAgICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBjb2xvcjogIzg4OTRiNztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgIG1hcmdpbjogMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmQtYmFja2dyb3VuZDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogIzMxMzg1NDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWFyY2h0aXRsZSB7XHJcbiAgICBjb2xvcjogIzAwMDBjYztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuYS5zZWFyY2h0aXRsZSB7XHJcbiAgICAmOmxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAjMDAwMGNjO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOnZpc2l0ZWQsICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogIzU1MUE4QjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogI2ViNzYyOTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAjZWI3NjI5IDAgc29saWQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWFyY2hoaWdobGlnaHQge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5zZWFyY2hjb3VudGVyIHtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbn1cclxuXHJcbi5zZWFyY2hhZGRyZXNzIHtcclxuICAgIGZvbnQtc2l6ZTogLjllbTtcclxuICAgIGNvbG9yOiAjMDA4MDAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuYS5zZWFyY2hhZGRyZXNzIHtcclxuICAgICY6bGluayB7XHJcbiAgICAgICAgY29sb3I6ICMwMDgwMDA7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuYS5hZGRyZXNzIHtcclxuICAgICY6dmlzaXRlZCwgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAjODI4NENDO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNlYXJjaG1vcmVyZXN1bHQge1xyXG4gICAgZm9udC1zaXplOiAuOTVlbTtcclxufVxyXG5cclxuYS5zZWFyY2htb3JlcmVzdWx0IHtcclxuICAgICY6bGluayB7XHJcbiAgICAgICAgY29sb3I6ICM4Mjg0Q0M7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNlYXJjaGNvbnRlbnRsZW5ndGgge1xyXG4gICAgY29sb3I6ICM4ZDhkOGQ7XHJcbn1cclxuXHJcbi5zZWFyY2hwYWdlbnVtYmVyIHtcclxuICAgIGRpcmVjdGlvbjogbHRyO1xyXG59XHJcblxyXG4uc2VhcmNocGFnZW51bWJlciB7XHJcbiAgICB1bC5wYWdpbmF0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGEuc2VhcmNocHJldmlvdXM6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMDBCQlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGEuc2VhcmNobmV4dDo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMDBBQlwiO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFNlYXJjaCBTdHlsZSAqKioqKioqKioqKioqL1xyXG4uQ29tcG9uZW50U2VhcmNoQm94V3JhcCB7XHJcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4ICNhYWE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgLmNjYnN3VG9wIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jY2Jzd1RvcCB7XHJcbiAgICAgICAgc3Bhbi5jY2Jzd1RleHRUaXRsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgY29sb3I6ICNhZTE0MDY7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkd2hpdGUgMTElLCByZ2IoMjUwLDI1MCwyNTApIDU2JSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jY2Jzd01pZGRsZSB7XHJcbiAgICAgICAgLmNjYnN3TWlkZGxlTGVmdCB7XHJcbiAgICAgICAgICAgIC5jY2Jzd01pZGRsZVJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIC5jY2Jzd01pZGRsZUNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy14cy1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjQzLDI0MywyNDMpIDE4JSwgJHdoaXRlIDU5JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKiBFbmQgT2YgU2VhcmNoIENvbXBvbmVudCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBTZWFyY2ggTW9kdWxlICoqKioqKioqKioqKiovXHJcbi5tb2R1bGVTZWFyY2hSZXN1bHRXcmFwIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREREQURBO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERERBREE7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgcGFkZGluZzogMnB4ICRwYWRkaW5nLXhzLWhvcml6b250YWw7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggN3B4ICRzZWFyY2gtY29sb3I7XHJcblxyXG4gICAgLnNlYXJjaEhlYWRlckxhYmVsIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGNvbG9yOiAjNmU2ZTZlO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWFyY2hEZXRhaWxzSGVhZGVyTGFiZWwge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBjb2xvcjogIzZlNmU2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZVNlYXJjaFdyYXAge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKEltYWdlcy9Nb2R1bGVTZWFyY2gvTW9kdWxlU2VhcmNoLnBuZykgbm8tcmVwZWF0IHJpZ2h0IHRvcDtcclxuICAgIGhlaWdodDogMzRweDtcclxuICAgIHBhZGRpbmc6IDAgNnB4IDAgNjFweDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAuYmdJbWFnZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKEltYWdlcy9Nb2R1bGVTZWFyY2gvTW9kdWxlU2VhcmNoLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgfVxyXG5cclxuICAgIC50eHRTZWFyY2hXcmFwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiA3cHggMCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3BEb3duV3JhcCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtNjhweDtcclxuICAgICAgICBoZWlnaHQ6IDIzcHg7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc2VhcmNoLWNvbG9yO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDVweCwgM3B4LCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5hcnJvd0Rvd24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODFweCAtNXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogOXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTFweCAwIDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubW9kdWxlU2VhcmNoU2VsZWN0IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyOXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWFyY2gtY29sb3I7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAsIDAsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubW9kdWxlU2VhcmNoU3VibWl0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14cy1ob3Jpem9udGFsO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCBudWxsLCBudWxsLCAwLCBudWxsKTtcclxuXHJcbiAgICAgICAgLmJ0blN1Ym1pdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzOXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoSW1hZ2VzL01vZHVsZVNlYXJjaC9TbWFsbE1vZHVsZVNlYXJjaC5wbmcpIG5vLXJlcGVhdCByaWdodCB0b3A7XHJcbiAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICBwYWRkaW5nOiAwIDZweCAwIDI3cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLmJnSW1hZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChJbWFnZXMvTW9kdWxlU2VhcmNoL1NtYWxsTW9kdWxlU2VhcmNoLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgfVxyXG5cclxuICAgIC50eHRTZWFyY2hXcmFwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHJvcERvd25XcmFwIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC00NHB4O1xyXG4gICAgICAgIGhlaWdodDogMTdweDtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRzZWFyY2gtY29sb3I7XHJcbiAgICAgICAgcGFkZGluZzogMCAkcGFkZGluZy14cy1ob3Jpem9udGFsO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzcHgsIDNweCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFycm93RG93biB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zM3B4IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tb2R1bGVTZWFyY2hTZWxlY3Qge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWFyY2gtY29sb3I7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3g7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCAwLCBudWxsLCBudWxsLCA5OTk5OTkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubW9kdWxlU2VhcmNoU3VibWl0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAgICAgd2lkdGg6IDIxcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAsIG51bGwsIG51bGwsIDAsIG51bGwpO1xyXG5cclxuICAgICAgICAuYnRuU3VibWl0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjFweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkxhbmd1YWdlICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5nZW5lcmFsU2VsZWN0TGFuZ3VhZ2Uge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICM0OTQ5NGQ7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwifFwiO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkcGFkZGluZy14cy1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQgYTphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zZWxlY3RMYW5ndWFnZURyb3Bkb3duV3JhcCB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0OTQ5NGQ7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcblxyXG4gICAgLmRyb3Bkb3duLW1lbnV7XHJcbiAgICAgICAgbWFyZ2luLXRvcDo3cHggIWltcG9ydGFudDtcclxuICAgICAgICBtaW4td2lkdGg6MTIwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNsZWFyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCA3cHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgICAgICBjb2xvcjogIzQ5NDk0ZCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOjc2N3B4KXtcclxuICAgIC5zZWxlY3RMYW5ndWFnZURyb3Bkb3duV3JhcHtcclxuICAgICAgICBmbG9hdDpub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOjAgYXV0bztcclxuICAgIH1cclxuICAgIC5nZW5lcmFsU2VsZWN0TGFuZ3VhZ2Uge1xyXG4gICAgICAgIGNsZWFyOmJvdGg7XHJcbiAgICB9XHJcbn0iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblRvb2xzICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5nZW5lcmFsVG9vbHNCb3gge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgJiA+IGRpdiB7XHJcbiAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0ZmMwZTg7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kLWJhY2tncm91bmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICM0OTQ5NGQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMXM7XHJcbiAgICB9XHJcblxyXG4gICAgLmdseXBoaWNvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMCAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNvY2lhbE5ldHdvcmtJdGVtV3JhcCB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIC5nbHlwaGljb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRlbGxhZnJpZW5kUGFnZSB7XHJcbiAgICAuZm9ybUxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlbWVtYmVyICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zaXRlTWVtYmVyV2VsY29tZVdyYXAge1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgMDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjVzO1xyXG4gICAgfVxyXG5cclxuICAgICYgPiBhIHtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICM0ZmMxZTk7XHJcblxyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjNGZjMWU5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU29jaWFsIE5ldHdvcmsgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgIC5nbHlwaGljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjdweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU3dpdGNoQmFyICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiNnZW5lcmFsU3dpdGNoQmFyV3JhcHBlciB7XHJcbiAgICBtYXJnaW46MCA1cHg7XHJcbn1cclxuXHJcbi5zd2l0Y2hCYXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBsaW5lLWhlaWdodDogMjNweDtcclxuICAgIGNvbG9yOiAjNTg1ODVhO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAjNTg1ODVhO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjMTExO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3dpdGNoQmFyU2VsZWN0ZWQge1xyXG4gICAgY29sb3I6ICM1ODU4NWE7XHJcblxyXG4gICAgJjpsaW5rLCAmOnZpc2l0ZWQsICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGJyYW5kLWNvbG9yO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRicmFuZC1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLnN3aXRjaEJhciB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xyXG59XHJcblxyXG4uc3dpdGNoQmFyLCAuc3dpdGNoQmFyIGEge1xyXG4gICAgY29sb3I6ICM1ODU4NWE7XHJcbiAgICBmb250LWZhbWlseTogXCJTREZcIjtcclxufVxyXG5cclxuLnN3aXRjaEJhciBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLnN3aXRjaEJhcjpob3ZlciB7XHJcbiAgICBjb2xvcjogIzExMTtcclxufVxyXG5cclxuLnN3aXRjaEJhclNlbGVjdGVkIHtcclxuICAgIGNvbG9yOiAjNTg1ODVhO1xyXG59XHJcblxyXG4uc3dpdGNoQmFyU2VsZWN0ZWQ6bGluaywgLnN3aXRjaEJhclNlbGVjdGVkOnZpc2l0ZWQsIC5zd2l0Y2hCYXJTZWxlY3RlZDphY3RpdmUge1xyXG4gICAgY29sb3I6ICM0ZmMwZWE7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuUGFnZSBOYXZpZ2F0ZSAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZ29Ub1RvcCB7XHJcbiAgICB3aWR0aDogNTFweDtcclxuICAgIGhlaWdodDogNDJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCxudWxsLCAwLCAwLCA5OTkpO1xyXG4gICAgcGFkZGluZzogOXB4O1xyXG4gICAgYmFja2dyb3VuZDogIzAwYjRmZjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnXFxFODEwJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0cmFuc2l0aW9uOiAwLjZzO1xyXG4gICAgICAgIGZvbnQ6IG5vcm1hbCAyMHB4ICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcbiIsIu+7vy8qKioqKioqKioqKiogU3RhcnQgT2YgTGluZWFyIEZvb3RlciAqKioqKioqKioqKioqL1xyXG4ubGluZWFyRm9vdGVyIHtcclxuICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UgMDtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC40cyBhbGw7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM1MGMxZTk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJ+KXjyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzc1ODJiMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKioqKiBHZW5yYWwgRm9vdGVyIExpbmtzICoqKioqKioqKioqKioqKi9cclxuLmZvb3Rlck5hdiB7XHJcbiAgICAuZm9vdGVySXRlbSB7XHJcbiAgICAgICAgaDUgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2MyYzFjMTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuM3M7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRhc2hib2FyZFBhZ2UgLmZvb3Rlck5hdiB7XHJcbiAgICB1bCB7XHJcblxyXG4gICAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXEU4MUInO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250SWNvbjtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwxcHgsMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC40cztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7vy5nZW5lcmFsUG93ZXJlZEJ5IHtcclxuICAgIGNvbG9yOiAjYWNhY2FjO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgICBjb2xvcjogI2FjYWNhYztcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZTRlNGU0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRhc2hib2FyZFBhZ2Uge1xyXG4gICAgLmdlbmVyYWxQb3dlcmVkQnkge1xyXG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIu+7vy8qKioqKioqKioqKiogU3RhcnQgT2YgQm94IFN0eWxlICoqKioqKioqKioqKiovXHJcbi5hY2NvcmRpb24tdG9nZ2xlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBQYW5lbC1TdHlsZXMgKioqKioqKioqKioqKi9cclxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA1IHtcclxuICAgIC5wYW5lbC1zdHlsZSN7JGl9IHtcclxuICAgICAgICBAaW5jbHVkZSBwYW5lbC1zdHlsZShudGgoJHBhbmVsLWJnLCAkaSksbnRoKCRwYW5lbC1ib3JkZXIsICRpKSxudGgoJHBhbmVsLWJvcmRlci1yYWRpdXMsICRpKSxudGgoJHBhbmVsLWJveC1zaGFkb3csICRpKSxudGgoJHBhbmVsLWhlYWRpbmctYmcsICRpKSxudGgoJHBhbmVsLWhlYWRpbmctY29sb3IsICRpKSxudGgoJHBhbmVsLWhlYWRpbmctZm9udC1zaXplLCAkaSksbnRoKCRwYW5lbC1oZWFkaW5nLWZvbnQtd2VpZ2h0LCAkaSksbnRoKCRwYW5lbC1oZWFkaW5nLWFsaWduLCAkaSksbnRoKCRwYW5lbC1oZWFkaW5nLWJvcmRlciwgJGkpLG50aCgkcGFuZWwtaGVhZGluZy1ib3JkZXItcmFkaXVzLCAkaSksbnRoKCRwYW5lbC1ib2R5LWJnLCAkaSksbnRoKCRwYW5lbC1ib2R5LWJvcmRlciwgJGkpKTtcclxuXHJcbiAgICAgICAgQGlmICRpID09IDEge1xyXG5cclxuXHJcbiAgICAgICAgICAgICYucGFuZWwge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAwcHggcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjM5MilcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAucGFuZWwtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICMyY2IzZWM7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuZ2x5cGhpY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwY2E4ZWE7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhLm1vcmVUaXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMmNiM2VjO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBhbmVsLWJvZHkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlMGUwZTA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJGkgPT0gMiB7XHJcbiAgICAgICAgICAgICYucGFuZWwge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAwcHggcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjM5MilcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzJjYjNlYztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmdseXBoaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMmNiM2VjO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYS5tb3JlVGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzMzMzMztcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzJjYjNlYztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZTBlMGUwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ViZWJlYjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ViZWJlYjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjMmNiM2VjO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJGkgPT0gMyB7XHJcblxyXG4gICAgICAgICAgICAmLnBhbmVsIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggMHB4IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4zOTIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuZ2x5cGhpY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhLm1vcmVUaXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDEwYTBlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBhbmVsLWJvZHkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlMGUwZTA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMyY2IzZWM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkaSA9PSA0IHtcclxuICAgICAgICAgICAgJi5wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwYjRmZjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAuZ2x5cGhpY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhLm1vcmVUaXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDEwYTBlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmICRpID09IDUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgID4gLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIC5tb3JlVGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMjMyMzI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzMyMzIzMjtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wYW5lbEltYWdlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG59XHJcblxyXG4vKioqKiogUGFuZWwgT3B0aW9ucyAqL1xyXG4ucGFuZWwtaGVhZGluZyAudGl0bGUtYmxvY2sge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogN3B4IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMS45ICFpbXBvcnRhbnQ7XHJcbiAgICBtaW4taGVpZ2h0OiAzN3B4O1xyXG5cclxuICAgIC5hY2NvcmRpb24tY2FyZXQge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLnBhbmVsLW9wdGlvbnMge1xyXG4gICAgbWFyZ2luOiA2cHg7XHJcblxyXG4gICAgLmJ0bi1pY29uLW9ubHkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA2cHggIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4tdG9vbHMge1xyXG4gICAgICAgICYsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMWJiYWUxO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMxYmJhZTE7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSwgJi5hY3RpdmU6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWJiYWUxO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMxYmJhZTE7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFuZWwtb3B0aW9ucyAuYnRuLXNob3J0Y3V0IC5nbHlwaGljb24sXHJcbi5wYW5lbC1vcHRpb25zIC5idG4tdG9vbHMgLmdseXBoaWNvbiB7XHJcbiAgICBmb250LXNpemU6IDEuM2VtO1xyXG59XHJcbiIsIu+7vy8qKioqKioqKioqKiogU3RhcnQgT2YgVGFiIFN0eWxlICoqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKiogVGFiIFN0eWxlMSAqKioqKioqKioqKioqL1xyXG4udGFiLWNvbnRhaW5lci1zdHlsZTEge1xyXG5cclxufVxyXG4vKioqKioqKioqKioqKiBUYWIgTW9iaWxlIFN0eWxlICoqKioqKioqKioqKioqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAudGFiLXdyYXBwZXIge1xyXG4gICAgICAgIC5wYW5lbC1kZWZhdWx0IHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuXHJcbiAgICAgICAgICAgID4gLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogRW5kIE9mIFRhYiBTdHlsZSAqKioqKioqKioqKioqL1xyXG4iLCLvu78udGFibGUtaG92ZXIge1xyXG4gICAgJiA+IHRib2R5IHtcclxuICAgICAgICAmID4gdHIge1xyXG4gICAgICAgICAgICAmOm5vdCguZ3JpZEhlYWRlcikge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2NhYzhjOCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmlubmVyR3JpZFdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnBhZ2VyQ3VzdG9tR3JpZCB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKkdyYXkgU2tpbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZ3JheVNraW4udGFibGUtc3RyaXBlZCA+IHRib2R5ID4gdHIge1xyXG4gICAgJjpudGgtY2hpbGQoMm4rMSksICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLmdyYXlTa2luLmdyaWRIZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogJHRoZW1lLWNvbG9yICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4iLCLvu78uaW5uZXJHcmlkV3JhcHBlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbm5lckdyaWQge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2QyZDJkMiAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggIzkwOTA5MDtcclxuXHJcbiAgICAmLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSB7XHJcbiAgICAgICAgPiB0cjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmM2YzZjMgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gdHI6aG92ZXI6bnRoLWNoaWxkKDJuKzEpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbm5lckdyaWQgLmdyaWRIZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTYgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmdyaWRIZWFkZXIge1xyXG4gICAgdGgge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTYgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2QyZDJkMjtcclxuICAgICAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5nbHlwaGljb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuUGFnZXIgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmNvbC1jZW50ZXJlZCB7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG50ci5wYWdlckN1c3RvbUdyaWQge1xyXG4gICAgYmFja2dyb3VuZDogI2YwZjNmNjtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmMGYzZjYgMCwjZTBlM2VhIDEwMCUpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICNmOWZhZmI7XHJcbn1cclxuXHJcbi5wYWdlckN1c3RvbUdyaWQge1xyXG4gICAgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICMzNzM3Mzc7XHJcbiAgICAgICAgcGFkZGluZzogMCAycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZXJDdXN0b21HcmlkVGFibGUge1xyXG4gICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDBkNmUwO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICR3aGl0ZTtcclxuXHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZXJDdXN0b21HcmlkQ291bnRUYWJsZSB7XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZXJDdXN0b21HcmlkTnVtYmVycyB7XHJcbiAgICBjb2xvcjogIzJiM2E0YTtcclxuICAgIHVuaWNvZGUtYmlkaTogYmlkaS1vdmVycmlkZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtaW4td2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMnB4O1xyXG4gICAgICAgIGNvbG9yOiAjNWM2Yjg5O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbmEucGFnZXJDdXN0b21HcmlkOmxpbmssXHJcbmEucGFnZXJDdXN0b21HcmlkOmFjdGl2ZSxcclxuYS5wYWdlckN1c3RvbUdyaWQ6dmlzaXRlZCxcclxuYS5wYWdlckN1c3RvbUdyaWROZXh0LFxyXG5hLnBhZ2VyQ3VzdG9tR3JpZFByZXYge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWluLXdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgcGFkZGluZzogMCAycHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNWM2Yjg5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgY29sb3I6ICM1YzZiODk7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbmEucGFnZXJDdXN0b21HcmlkOmhvdmVyLFxyXG5hLnBhZ2VyQ3VzdG9tR3JpZE5leHQ6aG92ZXIsXHJcbmEucGFnZXJDdXN0b21HcmlkUHJldjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWVhNWIzO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuLnBhZ2VyTnVtYmVyVGV4dCB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIGNvbG9yOiAjMzczNzM3O1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICB1bmljb2RlLWJpZGk6IGVtYmVkO1xyXG59XHJcblxyXG4ucGFnZXJDZWxsRGlyIHtcclxuICAgIGRpcmVjdGlvbjogcnRsO1xyXG59XHJcblxyXG4ucGFnZXJDdXN0b21HcmlkQ2VsbCB7XHJcbiAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgIHdpZHRoOiAxMTBweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIC5zZWxlY3Qge1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZXJDdXN0b21HcmlkQ2VsbEdvdG8ge1xyXG4gICAgd2lkdGg6IDExMHB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgIC50ZXh0Ym94IHtcclxuICAgICAgICB3aWR0aDogNTVweDtcclxuICAgIH1cclxufVxyXG5cclxuIiwi77u/LyoqKioqKioqKioqKiBTdGFydCBPZiBQYWdlciBXcmFwcGVyICoqKioqKioqKioqKiovXHJcbi5wYWdlcldyYXBwZXIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I3YzhkYTtcclxuICAgIGJhY2tncm91bmQ6IHJnYigyMzYsMjQwLDI0Nik7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDIzNiwyNDAsMjQ2LDEpIDAscmdiYSgxODMsMjAwLDIxOCwxKSAxMDAlKTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI2Y3ZjlmYjtcclxuICAgIHBhZGRpbmc6IDFweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGZvbnQtc2l6ZTogLjllbTtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBjbGVhcjogYm90aDtcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9uTGVmdCB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDk1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDM1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjllbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9uUmlnaHR7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICAgICBpbnB1dFtjbGFzcz1cImJ1dHRvblwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9uTWlkZGxlIHtcclxuICAgICAgICBtYXJnaW46IDAgNTVweCAwIDk1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAmLm5vTGVmdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA1NXB4IDAgMDtcclxuXHJcbiAgICAgICAgICAgICYubm9SaWdodCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubm9SaWdodCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgOTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICAgICAgbWFyZ2luOiA3cHggMXB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4ICM3NjgzOTkgc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgICAgICBjb2xvcjogIzVjNmI4OTtcclxuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMTY1LDE3NywxOTkpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDE2NSwxNzcsMTk5LDEpIDAscmdiYSgxMTgsMTMxLDE1MywxKSAxMDAlKTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2Uuc2VsZWN0ZWQge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNWM2Yjg5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmV4dFBhZ2UsIC5wcmV2aW91c1BhZ2Uge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigxNjUsMTc3LDE5OSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgxNjUsMTc3LDE5OSwxKSAwLHJnYmEoMTE4LDEzMSwxNTMsMSkgMTAwJSk7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiA0cHggM3B4IDdweDtcclxuXHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNzk4OGE3O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIu+7vy5ub3RpZnkge1xyXG4gICAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XHJcbiAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhhcy1mZWVkYmFjayAudG9vbHRpcC5ib3R0b217XHJcbiAgICAgICAgLnRvb2x0aXAtYXJyb3cge1xyXG4gICAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudG9vbHRpcC1hcnJvdzphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMnB4LCBudWxsLCBudWxsLCAtNHB4LCAyKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMjBweCAwIDAgMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmZmEzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRvb2x0aXAtYXJyb3c6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCBudWxsLCBudWxsLCAtNXB4LCBudWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTVweCAwIDAgMTVweDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZjFkMDMxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGFzLWZlZWRiYWNrIC50b29sdGlwLWlubmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCA4cHg7XHJcbiAgICAgICAgY29sb3I6ICM5YTU1NzQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmEzO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFkMDMxO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWQwMzE7XHJcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggMCByZ2JhKDIyMSwyMjEsMjIxLDAuODQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xOGVtO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsLCBudWxsLCBudWxsLCAwLCBudWxsKTtcclxuICAgIH1cclxufSIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQmFzaWMgU3R5bGUgICAgICAgICAgICAgICAgICAgXHJcbiogVGhlc2Ugc3R5bGVzIGFyZSByZXF1aXJlZCBmb3Igbm9VaVNsaWRlciB0byBmdW5jdGlvbi5cclxuKiBZb3UgZG9uJ3QgbmVlZCB0byBjaGFuZ2UgdGhlc2UgcnVsZXMgdG8gYXBwbHkgeW91ciBkZXNpZ24uXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi5ub1VpLXRhcmdldCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXJlY3Rpb246IGx0cjtcclxuXHJcbiAgICAmLCAqIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ub1VpLWJhc2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5ub1VpLW9yaWdpbiB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCwgMCwgMCwgMCwgbnVsbCk7XHJcbn1cclxuXHJcbi5ub1VpLWhhbmRsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4ubm9VaS1zdGFja2luZyAubm9VaS1oYW5kbGUge1xyXG4gICAgLyogVGhpcyBjbGFzcyBpcyBhcHBsaWVkIHRvIHRoZSBsb3dlciBvcmlnaW4gd2hlblxyXG5pdHMgdmFsdWVzIGlzID4gNTAlLiAqL1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5ub1VpLXN0YWNraW5nICsgLm5vVWktb3JpZ2luIHtcclxuICAgIC8qIEZpeCBzdGFja2luZyBvcmRlciBpbiBJRTcsIHdoaWNoIGluY29ycmVjdGx5XHJcbmNyZWF0ZXMgYSBuZXcgY29udGV4dCBmb3IgdGhlIG9yaWdpbnMuICovXHJcbiAgICB6LWluZGV4OiAtMTtcclxufVxyXG5cclxuLm5vVWktc3RhdGUtdGFwIC5ub1VpLW9yaWdpbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MsIHRvcCAwLjNzO1xyXG59XHJcblxyXG4ubm9VaS1zdGF0ZS1kcmFnICoge1xyXG4gICAgY3Vyc29yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogUGFpbnRpbmcgYW5kIHBlcmZvcm1hbmNlO1xyXG4qIEJyb3dzZXJzIGNhbiBwYWludCBoYW5kbGVzIGluIHRoZWlyIG93biBsYXllci4gKioqKioqKioqKioqKi9cclxuLm5vVWktYmFzZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxufVxyXG5cclxuLyoqKioqKioqKioqKiBTbGlkZXIgc2l6ZSBhbmQgaGFuZGxlIHBsYWNlbWVudCAqKioqKioqKioqKioqL1xyXG4ubm9VaS1ob3Jpem9udGFsIHtcclxuICAgIGhlaWdodDogMThweDtcclxufVxyXG5cclxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xyXG4gICAgd2lkdGg6IDM0cHg7XHJcbiAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICBsZWZ0OiAtMTdweDtcclxuICAgIHRvcDogLTZweDtcclxufVxyXG5cclxuLm5vVWktdmVydGljYWwge1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcblxyXG4gICAgLm5vVWktaGFuZGxlIHtcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgbGVmdDogLTZweDtcclxuICAgICAgICB0b3A6IC0xN3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqIFN0eWxpbmcgKioqKioqKioqKioqKi9cclxuLm5vVWktYmFja2dyb3VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4ICNmMGYwZjA7XHJcbn1cclxuXHJcbi5ub1VpLWNvbm5lY3Qge1xyXG4gICAgYmFja2dyb3VuZDogIzNGQjhBRjtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSg1MSw1MSw1MSwwLjQ1KTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgNDUwbXM7XHJcbn1cclxuXHJcbi5ub1VpLW9yaWdpbiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbn1cclxuXHJcbi5ub1VpLXRhcmdldCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDNEM0QzO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4ICNGMEYwRjAsIDAgM3B4IDZweCAtNXB4ICNCQkI7XHJcbn1cclxuXHJcbi5ub1VpLXRhcmdldC5ub1VpLWNvbm5lY3Qge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDUxLDUxLDUxLDAuNDUpLCAwIDNweCA2cHggLTVweCAjQkJCO1xyXG59XHJcblxyXG4ucmFuZ2VTbGlkZXJXcmFwcGVyIC52YWx1ZVVwcGVyLCAucmFuZ2VTbGlkZXJXcmFwcGVyIC52YWx1ZUxvd2VyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5yYW5nZVNsaWRlcldyYXBwZXIge1xyXG4gICAgLm5vVWktY29ubmVjdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzgwQzlGNTtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoNTEsNTEsNTEsMC40NSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogSGFuZGxlcyBBbmQgQ3Vyc29ycyAqKioqKioqKioqKioqL1xyXG4ubm9VaS1kcmFnYWJsZSB7XHJcbiAgICBjdXJzb3I6IHctcmVzaXplO1xyXG59XHJcblxyXG4ubm9VaS12ZXJ0aWNhbCB7XHJcbiAgICAubm9VaS1kcmFnYWJsZSB7XHJcbiAgICAgICAgY3Vyc29yOiBuLXJlc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuLm5vVWktaGFuZGxlIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEOUQ5RDk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAkd2hpdGUsIGluc2V0IDAgMXB4IDdweCAjRUJFQkVCLCAwIDNweCA2cHggLTNweCAjQkJCO1xyXG59XHJcblxyXG4ubm9VaS1hY3RpdmUge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAkd2hpdGUsIGluc2V0IDAgMXB4IDdweCAjRERELCAwIDNweCA2cHggLTNweCAjQkJCO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqIEhhbmRsZSBTdHJpcHMgKioqKioqKioqKioqKi9cclxuLm5vVWktaGFuZGxlOmJlZm9yZSxcclxuLm5vVWktaGFuZGxlOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlICBwb3NpdGlvbihhYnNvbHV0ZSwgNnB4LCBudWxsLCBudWxsLCAxNnB4LCBudWxsKTtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRThFN0U2O1xyXG59XHJcblxyXG4ubm9VaS1oYW5kbGU6YWZ0ZXIge1xyXG4gICAgbGVmdDogMTdweDtcclxufVxyXG5cclxuLm5vVWktdmVydGljYWwge1xyXG4gICAgLm5vVWktaGFuZGxlOmJlZm9yZSwgLm5vVWktaGFuZGxlOmFmdGVyIHtcclxuICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICBsZWZ0OiA2cHg7XHJcbiAgICAgICAgdG9wOiAxNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5ub1VpLWhhbmRsZTphZnRlciB7XHJcbiAgICAgICAgdG9wOiAxN3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqIERpc2FibGVkIFN0eWxlICoqKioqKioqKioqKiovXHJcbiBbZGlzYWJsZWRdIHtcclxuICAgIC5ub1VpLWhhbmRsZSB7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIH1cclxuXHJcbiAgICAmLm5vVWktY29ubmVjdCwgJiAubm9VaS1jb25uZWN0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjQjhCOEI4O1xyXG4gICAgfVxyXG59Iiwi77u/LyoqKioqKioqKioqKioqKiBDdXN0b21pemVkIHN0eWxlcyBoZXJlICoqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKlNpdGVtZW1iZXIgQXZhdGFyKioqKioqKioqKioqKioqKioqKiovXHJcbi5zaXRlbWVtYmVyQXZhdGFyIHtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206MTBweDtcclxuICAgIC5hdmF0YXJXcmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcclxuXHJcbiAgICAgICAgLmltZ0F2YXRhciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYXZhdGFySWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODBweDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlbWVtYmVyRnVsbG5hbWUge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqUXVpY2sgQWNjZXNzKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5xdWlja0FjY2VzcyB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4vSW1hZ2VzL3NoYXBlYmcucG5nJyksbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmJhNmY4LCAjNTlkMWQ5KTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSgzNCwgMzQsIDM0LCAwLjM4KTtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikgZGl2IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi9JbWFnZXMvc2hhcGViZy5wbmcnKSxsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkOTFkMWMsICNmZjUwNTApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSBkaXYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuL0ltYWdlcy9zaGFwZWJnLnBuZycpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZjk5NTYsICNmZmJmNGIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSBkaXYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuL0ltYWdlcy9zaGFwZWJnLnBuZycpLGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzczNTViMCwgIzY4NzhlMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqU2lnblVwIFN0eWxlICoqKioqKioqKioqKioqKiovXHJcbi5zaWdudXBMZWZ0c2lkZSB7XHJcbiAgICAjcG5sUm9sZXNJbmZvcm1hdGlvbkJveCAudmFsaWRhdG9yRW5hYmxlZEZvcm1Sb3cge1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2l0ZU1lbWJlckZvcmdvdFBhc3N3b3JkV3JhcHBlciAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwID4gZGl2IC5idG4ge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLyoqKioqKioqKioqKioqTWVkaWEgUXVlcnkqKioqKioqKioqKioqKioqL1xyXG5AbWVkaWEobWF4LXdpZHRoOjc2N3B4KSB7XHJcbiAgICAuc2l0ZW1lbWJlclRvcEJhciA+IC50b3BCYXJJdGVtV3JhcHBlci5kYXRlVGltZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgIC5zaXRlbWVtYmVyQXZhdGFyIC5hdmF0YXJXcmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm9yYW5nZUJveCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL0FwcF9UaGVtZXMvU2l0ZU1lbWJlci1mYS1JUi9JbWFnZXMvc3RvcmVUcmFzcGFyZW50LnBuZykgbm8tcmVwZWF0LCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZmZhMjAwIDAlLCAjZmY2YzAwIDEwMCUpO1xyXG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE0cHggcmdiYSgyNTUsIDEwOCwgMCwgMC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLmJsdWVCb3gge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC9BcHBfVGhlbWVzL1NpdGVNZW1iZXItZmEtSVIvSW1hZ2VzL3N0b3JlVHJhc3BhcmVudC5wbmcpIG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAwYThmZiAwJSwgIzAwOGFmZiAxMDAlKTtcclxuICAgIGJveC1zaGFkb3c6IDAgMTBweCAxNHB4IHJnYmEoMCwgMTM4LCAyNTUsIDAuMik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuLmRhcmtibHVlQm94IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgvQXBwX1RoZW1lcy9TaXRlTWVtYmVyLWZhLUlSL0ltYWdlcy9zdG9yZVRyYXNwYXJlbnQucG5nKSBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMyYzY2ZWIgMCwjNmQ1NGU2IDEwMCUpO1xyXG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE0cHggcmdiYSgwLCAxMzgsIDI1NSwgMC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG4ucHVycGxlQm94IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgvQXBwX1RoZW1lcy9TaXRlTWVtYmVyLWZhLUlSL0ltYWdlcy9zdG9yZVRyYXNwYXJlbnQucG5nKSBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNhODUzZmYgMCUsICNiMjJkZmYgMTAwJSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMTRweCByZ2JhKDE3OCwgNDUsIDI1NSwgMC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLmdyZWVuQm94IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgvQXBwX1RoZW1lcy9TaXRlTWVtYmVyLWZhLUlSL0ltYWdlcy9zdG9yZVRyYXNwYXJlbnQucG5nKSBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMGJhYTIgMCUsICMwMGM2N2UgMTAwJSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMTRweCByZ2JhKDAsIDE5OCwgMTI2LCAwLjIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcblxyXG4ucmVkQm94IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgvQXBwX1RoZW1lcy9TaXRlTWVtYmVyLWZhLUlSL0ltYWdlcy9zdG9yZVRyYXNwYXJlbnQucG5nKSBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmZjJjNzYgMCUsICNmZjFmNDQgMTAwJSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMTRweCByZ2JhKDE5NCwgMCwgMzIsIDAuMik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5waW5rQm94IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgvQXBwX1RoZW1lcy9TaXRlTWVtYmVyLWZhLUlSL0ltYWdlcy9zdG9yZVRyYXNwYXJlbnQucG5nKSBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmZjhhYmYgMCUsICNlYTE5ZGQgMTAwJSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMTRweCByZ2JhKDE5NCwgMCwgMzIsIDAuMik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi55ZWxsb3dCb3gge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC9BcHBfVGhlbWVzL1NpdGVNZW1iZXItZmEtSVIvSW1hZ2VzL3N0b3JlVHJhc3BhcmVudC5wbmcpIG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmYjExOCAwJSwgI2ZmZGUwMCAxMDAlKTtcclxuICAgIGJveC1zaGFkb3c6IDAgMTBweCAxNHB4IHJnYmEoMTk0LCAwLCAzMiwgMC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLmJveEl0ZW1zIGEge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBtYXJnaW46IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5ib3hJdGVtcyBhIC5nbHlwaGljb24ge1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG59XHJcblxyXG4uYm94SXRlbXMgYSAudGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1mYW1pbHk6IFwiU0RGIFN1YnNpZGlhcnlcIjtcclxufVxyXG5cclxuLmJveEl0ZW1zIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi1pbmRpZ28ge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMzc3YWVkO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5idG4taW5kaWdvOmhvdmVyLCAuYnRuLWluZGlnbzpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3YWVkO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTVweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uYnRuLWluZGlnbzphY3RpdmUsIC5idG4taW5kaWdvLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3YWVkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMzc3YWVkO1xyXG59XHJcblxyXG4uYnRuLW9yYW5nZSB7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICBib3JkZXItY29sb3I6ICNlNjdhMzY7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmJ0bi1vcmFuZ2U6aG92ZXIsIC5idG4tb3JhbmdlOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjhkMzg7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNXB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5idG4tb3JhbmdlOmFjdGl2ZSwgLmJ0bi1vcmFuZ2UuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjhkMzg7XHJcbiAgICBib3JkZXItY29sb3I6ICNmZjhkMzg7XHJcbn1cclxuXHJcbi5idG4tcHVycGxlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgI2M4NThkZSksIHRvKCNhYzM4ZmYpKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2M4NThkZSAwLCAjYWMzOGZmIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjYzg1OGRlIDAsICNhYzM4ZmYgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYzg1OGRlIDAsICNhYzM4ZmYgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICBib3JkZXItY29sb3I6ICNhYzM4ZmY7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmJ0bi1wdXJwbGU6aG92ZXIsIC5idG4tcHVycGxlOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYzM4ZmY7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNXB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5idG4tcHVycGxlOmFjdGl2ZSwgLmJ0bi1wdXJwbGUuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYzM4ZmY7XHJcbiAgICBib3JkZXItY29sb3I6ICNhYzM4ZmY7XHJcbn1cclxuLmRhcmtTdHlsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMUMyMzMxO1xyXG59Iiwi77u/LmN1c3RvbVNlYXJjaCB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG4vKioqKioqKioqKioqKioqKioqU2l0ZW1lbWJlciBNZW51KioqKioqKioqKioqKioqKioqKiovXHJcbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdmJhci1uYXYgPiBsaSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICMxRTI2MkQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLnZlcnRpY2FsU2l0ZU1lbWJlck1lbnVXcmFwcGVyLmRhcmtTaXRlTWVtYmVyTWVudSAubmF2YmFyLW5hdiA+IGxpLm9wZW4ge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI0ZGNkEwMDtcclxufVxyXG5cclxuLnZlcnRpY2FsU2l0ZU1lbWJlck1lbnVXcmFwcGVyLmRhcmtTaXRlTWVtYmVyTWVudSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG59XHJcblxyXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IHVsIHtcclxuICAgIGJhY2tncm91bmQ6ICMxRTI2MkQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnZlcnRpY2FsU2l0ZU1lbWJlck1lbnVXcmFwcGVyLmRhcmtTaXRlTWVtYmVyTWVudSAubmF2YmFyLWJyYW5kLCAudmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgY29sb3I6ICNjN2M3YzcgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDhweCAwO1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5uYXZiYXItbmF2ID4gbGkgPiBhIC5jYXJldCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IDE1cHg7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5uYXZiYXItbmF2ID4gbGkgPiBhIC5jYXJldDpiZWZvcmUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcclxuICAgIGNvbnRlbnQ6IFwiXFxlODEyXCI7XHJcbiAgICBmb250LXNpemU6IDlweDtcclxuICAgIGNvbG9yOiAjYzdjN2M3O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsXHJcbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXHJcbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdiAub3BlbiA+IGEsXHJcbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdiAub3BlbiA+IGE6aG92ZXIsXHJcbi52ZXJ0aWNhbFNpdGVNZW1iZXJNZW51V3JhcHBlci5kYXJrU2l0ZU1lbWJlck1lbnUgLm5hdiAub3BlbiA+IGE6Zm9jdXMge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjM0I0MjQ4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnZlcnRpY2FsU2l0ZU1lbWJlck1lbnVXcmFwcGVyLmRhcmtTaXRlTWVtYmVyTWVudSAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUgbGkge1xyXG59XHJcblxyXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogN3B4IDEzcHg7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcclxuICAgIGNvbG9yOiAjMTcxNjE2O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG5cclxuLnZlcnRpY2FsU2l0ZU1lbWJlck1lbnVXcmFwcGVyLmRhcmtTaXRlTWVtYmVyTWVudSAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciB7XHJcbiAgICBjb2xvcjogI0ZGNkEwMDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udmVydGljYWxTaXRlTWVtYmVyTWVudVdyYXBwZXIuZGFya1NpdGVNZW1iZXJNZW51IC5nbHlwaGljb24ge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnNpdGVNZW1iZXJNZW51V3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc2l0ZW1lbWJlckxvZ291dFdyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG5cclxuICAgIC5zaXRlbWVtYmVyTG9nb3V0TWVzc2FnZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICM1MDUwNTA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGVtZW1iZXJMb2dvdXRCdG4gLmJ0biB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG5cclxuICAgICAgICAmLmJ0bi1zdWNjZXNzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjQzMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5idG4tZGFuZ2VyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDMDAwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZpeGVkQnV0dG9uIHtcclxuICAgIC5yZXNlcnZhdGlvbk5hdmlnYXRpb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2LjY2NjY2NjY3JSk7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgei1pbmRleDogOTk5O1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RiZGI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbk1lZGlhIFF1ZXJ5ICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbkBtZWRpYShtYXgtd2lkdGg6MTE5OXB4KSB7XHJcbiAgICAuZml4ZWRCdXR0b24ge1xyXG4gICAgICAgIC5yZXNlcnZhdGlvbk5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgLnBhbmVsIHtcclxuICAgICAgICBib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxvZ2luIHtcclxuICAgICAgICAucGFuZWwtc3R5bGU1IHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDAsMCwwLDAuMTYpICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICA+IC5wYW5lbC1oZWFkaW5nOmJlZm9yZSwgLnBhbmVsLWhlYWRpbmc6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLnBhbmVsLWJvZHkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgICAgIC5maXhlZEJ1dHRvbiB7XHJcbiAgICAgICAgICAgIC5yZXNlcnZhdGlvbk5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ29Ub1RvcCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3hJdGVtc1dyYXBwZXIge1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnBvcnRhbFNlcnZpY2VzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3hJdGVtcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJveEl0ZW1zIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNXB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYm94SXRlbXMgYSAudGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3hJdGVtcyBhIC5nbHlwaGljb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGVhZGVyVG9wIC5tYWluTG9nb0ltYWdlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lbWJlckFyZWFfYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWlkZGxlV3JhcCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sbGFwc2VkQ29sdW1uIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1MDU4Nzg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZm9vdGVyTmF2IHtcclxuICAgICAgICAgICAgLmNvbGxhcHNlZENvbHVtbiB1bCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29sbGFwc2VkQ29sdW1uIGg1IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxlODA1JztcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udEljb247XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC01cHgsIG51bGwsIG51bGwsIDEwcHgsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNEZDMUU5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5jbG9zZWQ6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZTgwNic7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCBsaSB1bCBsaSAuc3ViLWFycm93LCAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwgdWwgLmNvbGxhcHNpYmxlIC5zdWItYXJyb3cge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM1ODU4NWEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDVweCA0cHggMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUsIG51bGwsIG51bGwsIDEwcHgsIG51bGwpO1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCBsaSB1bCBsaSBhOmhvdmVyIC5zdWItYXJyb3csIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCB1bCB1bCAuY29sbGFwc2libGUgYTpob3ZlciAuc3ViLWFycm93IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjUwMzAzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSAhaW1wb3J0YW50LCA1MCUsIG51bGwsIG51bGwsIDEwcHgsIG51bGwpO1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYWluSGVhZGVyV3JhcCAuZ2x5cGhpY29uLXJlc3BvbnNpdmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1haW5TaXRlbWVtYmVyV2VsY29tZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYWluU2VsZWN0TGFuZ3VhZ2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWFpblNlYXJjaEJveCAuZ2VuZXJhbFNlYXJjaEJveCAuZm9ybS1jb250cm9sIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCA2cHggM3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1haW5OYXZpZ2F0aW9uV3JhcCB7XHJcbiAgICAgICAgICAgIC5tYWluU21hbGxNZW51V3JhcCB7XHJcbiAgICAgICAgICAgICAgICAubWFpbk1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGRkZGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5uYXZiYXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm5hdmJhci10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1QTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaWNvbi1iYXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciAuaWNvbi1iYXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG50aCgkZm9udC1jb2xvci1oLCA1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWFpbk1lbnUgLm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDRweCAwO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmdvVG9Ub3Age1xyXG4gICAgICAgICAgICByaWdodDogMzVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNzBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1haW5Gb290ZXJXcmFwIHtcclxuICAgICAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2l0ZU1lbWJlcldlbGNvbWVXcmFwLCAuZ2VuZXJhbEN1cnJlbnREYXRlVGltZSwgLmdlbmVyYWxTZWxlY3RMYW5ndWFnZSwgLnJhZGNvbUNvcHlyaWdodEFuZExvZ28gKiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbkBtZWRpYShtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAucmlnaHRDb2x1bW4ge1xyXG4gICAgICAgIC5tYWluTG9nb0ltYWdlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwgdWwuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTM5LjlweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwICFpbXBvcnRhbnQsIDEwMCUgIWltcG9ydGFudCwgbnVsbCwgYXV0byAhaW1wb3J0YW50LCBudWxsKTtcclxuICAgIH1cclxuICAgIC5kYXNoYm9hcmRQYWdlIC5yaWdodENvbHVtbiB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAyNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgIC5kYXNoYm9hcmRQYWdlIC5maXhlZE1lbnUge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNi42NjY2NjclKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLnRhYmxlLXJlc3BvbnNpdmUge1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIHRhYmxlOm5vdCgudGFibGUtZXhjbHVkZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWwgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjUpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm9mZkNhbnZhc0luUmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDQwcHgsIG51bGwsIDAsIC0zMjBweCwgODA0MCk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRibGFjaztcclxuXHJcbiAgICAgICAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSA+IHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9mZkNhbnZhc0luUmVzcG9uc2l2ZSAubWVudTNkbWVnYS5yZXNwb25zaXZlID4gdWwgPiBsaSxcclxuICAgIC5vZmZDYW52YXNJblJlc3BvbnNpdmUgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSBsaS5tZW51LW5vbi1kcm9wZG93biB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLm9mZkNhbnZhc01lbnVUb2dnbGUge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwLCA4MDQxKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRibGFjaztcclxuICAgIH1cclxuXHJcbiAgICAub2ZmQ2FudmFzTWVudVRvZ2dsZSAubWVnYU1lbnVUb2dnbGVJY29uIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhKG1heC13aWR0aDoxMTk5cHgpIGFuZCAobWluLXdpZHRoOjc2OHB4KXtcclxuICAgIC5kYXNoYm9hcmRQYWdlIC5maXhlZE1lbnUge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNSUpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuIl19 */
