/*=============================================================================================
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : Your Name
==============================================================================================*/
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap");
/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : FrontEnd Team  
==============================================================================================*/
/* import bourbon - http://bourbon.io/docs */
/* color global
----------------------------------------------------------------------------------------------*/
/* milligram
----------------------------------------------------------------------------------------------*/
/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
*,
*:after,
*:before {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
}

body {
  color: #777777;
  font-family: 'Lato', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-size: 1.6em;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.6;
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
blockquote {
  border-left: 0.3rem solid #d1d1d1;
  margin-left: 0;
  margin-right: 0;
  padding: 1rem 1.5rem;
}

blockquote *:last-child {
  margin-bottom: 0;
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
.button,
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
  background: #82b93b;
  background: -moz-linear-gradient(135deg, #82b93b 0%, #088439 100%);
  background: -webkit-linear-gradient(135deg, #82b93b 0%, #088439 100%);
  background: linear-gradient(135deg, #82b93b 0%, #088439 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#82b93b",endColorstr="#088439",GradientType=1);
  border: none;
  border-radius: 60px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 400;
  height: 45px;
  line-height: 43px;
  padding: 0 3.0rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: 0.2s ease-out all;
  -webkit-transition: 0.2s ease-out all;
  -moz-transition: 0.2s ease-out all;
  -ms-transition: 0.2s ease-out all;
  -o-transition: 0.2s ease-out all;
}

.button:focus, .button:hover,
button:focus,
button:hover,
input[type='button']:focus,
input[type='button']:hover,
input[type='reset']:focus,
input[type='reset']:hover,
input[type='submit']:focus,
input[type='submit']:hover {
  background: #82b93b;
  background: -moz-linear-gradient(135deg, #088439 0%, #82b93b 100%);
  background: -webkit-linear-gradient(135deg, #088439 0%, #82b93b 100%);
  background: linear-gradient(135deg, #088439 0%, #82b93b 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#088439",endColorstr="#82b93b",GradientType=1);
  color: #fff;
  outline: 0;
}

.button[disabled],
button[disabled],
input[type='button'][disabled],
input[type='reset'][disabled],
input[type='submit'][disabled] {
  cursor: default;
  opacity: .5;
}

.button[disabled]:focus, .button[disabled]:hover,
button[disabled]:focus,
button[disabled]:hover,
input[type='button'][disabled]:focus,
input[type='button'][disabled]:hover,
input[type='reset'][disabled]:focus,
input[type='reset'][disabled]:hover,
input[type='submit'][disabled]:focus,
input[type='submit'][disabled]:hover {
  background-color: #1150A7;
  border-color: #1150A7;
}

.button.button-outline,
button.button-outline,
input[type='button'].button-outline,
input[type='reset'].button-outline,
input[type='submit'].button-outline {
  background: transparent;
  color: #088439;
  border: 2px solid #088439;
  text-transform: capitalize;
  line-height: 40px;
}

.button.button-outline:focus, .button.button-outline:hover,
button.button-outline:focus,
button.button-outline:hover,
input[type='button'].button-outline:focus,
input[type='button'].button-outline:hover,
input[type='reset'].button-outline:focus,
input[type='reset'].button-outline:hover,
input[type='submit'].button-outline:focus,
input[type='submit'].button-outline:hover {
  background: #82b93b;
  background: -moz-linear-gradient(135deg, #088439 0%, #82b93b 100%);
  background: -webkit-linear-gradient(135deg, #088439 0%, #82b93b 100%);
  background: linear-gradient(135deg, #088439 0%, #82b93b 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#088439",endColorstr="#82b93b",GradientType=1);
  border-color: #088439;
  color: #FFF;
}

.button.button-outline[disabled]:focus, .button.button-outline[disabled]:hover,
button.button-outline[disabled]:focus,
button.button-outline[disabled]:hover,
input[type='button'].button-outline[disabled]:focus,
input[type='button'].button-outline[disabled]:hover,
input[type='reset'].button-outline[disabled]:focus,
input[type='reset'].button-outline[disabled]:hover,
input[type='submit'].button-outline[disabled]:focus,
input[type='submit'].button-outline[disabled]:hover {
  border-color: inherit;
  color: #1150A7;
}

.button.button-clear,
button.button-clear,
input[type='button'].button-clear,
input[type='reset'].button-clear,
input[type='submit'].button-clear {
  background-color: transparent;
  border-color: transparent;
  background: transparent;
  color: #898989;
}

.button.button-clear:focus, .button.button-clear:hover,
button.button-clear:focus,
button.button-clear:hover,
input[type='button'].button-clear:focus,
input[type='button'].button-clear:hover,
input[type='reset'].button-clear:focus,
input[type='reset'].button-clear:hover,
input[type='submit'].button-clear:focus,
input[type='submit'].button-clear:hover {
  background-color: transparent;
  border-color: transparent;
  color: #088439;
}

.button.button-clear[disabled]:focus, .button.button-clear[disabled]:hover,
button.button-clear[disabled]:focus,
button.button-clear[disabled]:hover,
input[type='button'].button-clear[disabled]:focus,
input[type='button'].button-clear[disabled]:hover,
input[type='reset'].button-clear[disabled]:focus,
input[type='reset'].button-clear[disabled]:hover,
input[type='submit'].button-clear[disabled]:focus,
input[type='submit'].button-clear[disabled]:hover {
  color: #1150A7;
}

.button.button-secondary,
button.button-secondary,
input[type='button'].button-secondary,
input[type='reset'].button-secondary,
input[type='submit'].button-secondary {
  height: auto;
  line-height: 1;
  border-radius: 1.4rem;
  padding: .9rem 1.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #D5FAB0;
  letter-spacing: 0;
}

.button.button-secondary span,
button.button-secondary span,
input[type='button'].button-secondary span,
input[type='reset'].button-secondary span,
input[type='submit'].button-secondary span {
  display: block;
  margin-bottom: .5rem;
}

.button.button-secondary h5,
button.button-secondary h5,
input[type='button'].button-secondary h5,
input[type='reset'].button-secondary h5,
input[type='submit'].button-secondary h5 {
  margin-bottom: 0;
  color: #fff;
  line-height: 1;
  font-weight: 700;
}

.button.capitalize,
button.capitalize,
input[type='button'].capitalize,
input[type='reset'].capitalize,
input[type='submit'].capitalize {
  text-transform: capitalize;
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
code {
  background: #023880;
  border-radius: .4rem;
  font-size: 86%;
  margin: 0 .2rem;
  padding: .2rem .5rem;
  white-space: nowrap;
}

pre {
  background: #023880;
  border-left: 0.3rem solid #1150A7;
  overflow-y: hidden;
}

pre > code {
  border-radius: 0;
  display: block;
  padding: 1rem 1.5rem;
  white-space: pre;
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
hr {
  border: 0;
  border-top: 0.1rem solid #023880;
  margin: 3.0rem 0;
}

hr.soft {
  border-top: .1rem solid #F0F0F0;
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
input[type='email'],
input[type='number'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='text'],
input[type='url'],
textarea,
select {
  -webkit-appearance: none;
  appearance: none;
  background: #FFF;
  border-radius: 60px;
  border: 1px solid transparent;
  font-size: 1.6rem;
  box-shadow: none;
  box-sizing: inherit;
  height: 45px;
  padding: .6rem 30px;
  width: 100%;
  color: #555;
  outline: 0;
}

input[type='email'].error,
input[type='number'].error,
input[type='password'].error,
input[type='search'].error,
input[type='tel'].error,
input[type='text'].error,
input[type='url'].error,
textarea.error,
select.error {
  border-color: #C11616;
  background: #FFDEDE url(../images/material/ico-warning.svg) calc(100% - 20px) center no-repeat;
}

input[type='email'][disabled],
input[type='number'][disabled],
input[type='password'][disabled],
input[type='search'][disabled],
input[type='tel'][disabled],
input[type='text'][disabled],
input[type='url'][disabled],
textarea[disabled],
select[disabled] {
  background: #1F60BA;
  color: #8AB4ED;
}

input.password.error,
input[type='password'].error {
  background-position: calc(100% - 50px);
}

select {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="14" viewBox="0 0 29 14" width="29"><path fill="#d1d1d1" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>') center right no-repeat;
  padding-right: 3.0rem;
}

select:focus {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="14" viewBox="0 0 29 14" width="29"><path fill="#9b4dca" d="M9.37727 3.625l5.08154 6.93523L19.54036 3.625"/></svg>');
}

textarea {
  min-height: 100px;
  border-radius: 30px;
  padding: 20px 30px;
}

label,
legend {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: .5rem;
}

fieldset {
  border-width: 0;
  padding: 0;
}

input[type='checkbox'],
input[type='radio'] {
  display: inline;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  margin: 0;
  padding: 0;
  outline: 0;
}

.label-inline {
  display: inline-block;
  font-weight: normal;
  margin-left: .5rem;
}

.date-text {
  position: relative;
}

.date-text:before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  margin-top: -1.2rem;
  background: url("../images/material/icon-date-grey.svg") no-repeat center;
  position: absolute;
  top: 50%;
  right: 2rem;
}

.date-text.disabled:before {
  background: url("../images/material/icon-date-disabled.svg") no-repeat center;
}

.date-text input {
  padding-right: 5rem;
}

.input-file, .multiple-upload {
  width: 100% !important;
  height: 45px !important;
  /*height: 4.5rem !important;*/
  position: relative;
}

.input-file:before, .multiple-upload:before {
  content: "";
  width: 2.4rem;
  background: url("../images/material/icon-file.svg") no-repeat center;
  position: absolute;
  top: 0;
  right: 2rem;
  bottom: 0;
}

.input-file > input, .multiple-upload > input {
  width: 100%;
  height: 100%;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.input-file > span, .multiple-upload > span {
  display: block;
  background: #043476;
  border-radius: 60px;
  border: 1px solid transparent;
  font-size: 1.6rem;
  /*height: 4.5rem;*/
  height: 45px;
  /*line-height: 4.5rem;*/
  line-height: 45px;
  color: #fff;
  padding: 0 3rem;
  box-sizing: border-box;
  overflow-y: hidden;
}

.form.bg-blue {
  padding: 50px 70px;
  background: #1150A7;
  border-radius: 0 0px 30px 30px;
}

.form.bg-blue label {
  color: #FFF;
}

.form.bg-blue .fileinput {
  width: 100% !important;
  border-radius: 60px;
  background: #043476 url("../images/material/ic-file.png") no-repeat 95% center;
  position: relative;
}

.form.bg-blue .fileinput span {
  font-size: 15px;
  color: #fff;
  width: auto;
  position: absolute;
  left: 20px;
  top: 10px;
  margin: auto 0px;
  right: 45px;
  white-space: nowrap;
  overflow: hidden;
}

.form label {
  font-size: 1.4rem;
  font-weight: 400;
}

.form .row {
  margin-bottom: 20px;
}

.form .row .column {
  margin-bottom: 0;
  position: relative;
}

.form .row.row-btn {
  margin-top: 30px;
}

.form .row.row-wrap .column {
  margin-bottom: 2rem;
}

.form button,
.form input[type='button'],
.form input[type='reset'],
.form input[type='submit'] {
  width: 100%;
}

.form label.checkbox {
  padding-left: 25px;
  position: relative;
  margin: 0;
}

.form label.checkbox input[type=checkbox] {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background: url(../images/material/ico-checkbox.svg) no-repeat left center;
}

.form label.checkbox input[type=checkbox]:checked {
  background-position: right center;
}

.form label.checkbox.white input[type=checkbox] {
  width: 18px;
  height: 18px;
  top: 2px;
  background: url(../images/material/ico-checkbox-white.svg) no-repeat left center;
}

.form label.checkbox.white input[type=checkbox]:checked {
  background-position: right center;
}

.form label.radio {
  padding-left: 25px;
  position: relative;
  margin: 0;
}

.form label.radio input[type=radio] {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  background: url(../images/material/ico-radio.svg) no-repeat left center;
  background-size: 32px;
}

.form label.radio input[type=radio]:checked {
  background-position: right center;
}

.form .toggle-password {
  position: absolute;
  right: 30px;
  bottom: 10px;
  text-indent: -9999px;
  width: 24px;
  height: 22px;
  background: url(../images/material/ico-password-toggle.svg) no-repeat left center;
}

.form .toggle-password.active {
  background-position: right center;
}

.container {
  margin: 0 auto;
  max-width: 112.0rem;
  padding: 0 2.0rem;
  position: relative;
  width: 100%;
}

.wrapper {
  width: auto;
  margin: 0 110px;
}

.row {
  display: flex;
  flex-direction: column;
  padding: 0;
  width: 100%;
}

.row.row-no-padding {
  padding: 0;
}

.row.row-no-padding > .column {
  padding: 0;
}

.row.row-wrap {
  flex-wrap: wrap;
}

.row.row-top {
  align-items: flex-start;
}

.row.row-bottom {
  align-items: flex-end;
}

.row.row-center {
  align-items: center;
}

.row.row-stretch {
  align-items: stretch;
}

.row.row-baseline {
  align-items: baseline;
}

.row .column {
  display: block;
  flex: 1 1 auto;
  margin-left: 0;
  max-width: 100%;
  width: 100%;
}

.row .column.column-offset-1 {
  margin-left: 1%;
}

.row .column.column-offset-2 {
  margin-left: 2%;
}

.row .column.column-offset-3 {
  margin-left: 3%;
}

.row .column.column-offset-4 {
  margin-left: 4%;
}

.row .column.column-offset-5 {
  margin-left: 5%;
}

.row .column.column-offset-6 {
  margin-left: 6%;
}

.row .column.column-offset-7 {
  margin-left: 7%;
}

.row .column.column-offset-8 {
  margin-left: 8%;
}

.row .column.column-offset-9 {
  margin-left: 9%;
}

.row .column.column-offset-10 {
  margin-left: 10%;
}

.row .column.column-offset-11 {
  margin-left: 11%;
}

.row .column.column-offset-12 {
  margin-left: 12%;
}

.row .column.column-offset-13 {
  margin-left: 13%;
}

.row .column.column-offset-14 {
  margin-left: 14%;
}

.row .column.column-offset-15 {
  margin-left: 15%;
}

.row .column.column-offset-16 {
  margin-left: 16%;
}

.row .column.column-offset-17 {
  margin-left: 17%;
}

.row .column.column-offset-18 {
  margin-left: 18%;
}

.row .column.column-offset-19 {
  margin-left: 19%;
}

.row .column.column-offset-20 {
  margin-left: 20%;
}

.row .column.column-offset-21 {
  margin-left: 21%;
}

.row .column.column-offset-22 {
  margin-left: 22%;
}

.row .column.column-offset-23 {
  margin-left: 23%;
}

.row .column.column-offset-24 {
  margin-left: 24%;
}

.row .column.column-offset-25 {
  margin-left: 25%;
}

.row .column.column-offset-26 {
  margin-left: 26%;
}

.row .column.column-offset-27 {
  margin-left: 27%;
}

.row .column.column-offset-28 {
  margin-left: 28%;
}

.row .column.column-offset-29 {
  margin-left: 29%;
}

.row .column.column-offset-30 {
  margin-left: 30%;
}

.row .column.column-offset-31 {
  margin-left: 31%;
}

.row .column.column-offset-32 {
  margin-left: 32%;
}

.row .column.column-offset-33 {
  margin-left: 33%;
}

.row .column.column-offset-34 {
  margin-left: 34%;
}

.row .column.column-offset-35 {
  margin-left: 35%;
}

.row .column.column-offset-36 {
  margin-left: 36%;
}

.row .column.column-offset-37 {
  margin-left: 37%;
}

.row .column.column-offset-38 {
  margin-left: 38%;
}

.row .column.column-offset-39 {
  margin-left: 39%;
}

.row .column.column-offset-40 {
  margin-left: 40%;
}

.row .column.column-offset-41 {
  margin-left: 41%;
}

.row .column.column-offset-42 {
  margin-left: 42%;
}

.row .column.column-offset-43 {
  margin-left: 43%;
}

.row .column.column-offset-44 {
  margin-left: 44%;
}

.row .column.column-offset-45 {
  margin-left: 45%;
}

.row .column.column-offset-46 {
  margin-left: 46%;
}

.row .column.column-offset-47 {
  margin-left: 47%;
}

.row .column.column-offset-48 {
  margin-left: 48%;
}

.row .column.column-offset-49 {
  margin-left: 49%;
}

.row .column.column-offset-50 {
  margin-left: 50%;
}

.row .column.column-offset-51 {
  margin-left: 51%;
}

.row .column.column-offset-52 {
  margin-left: 52%;
}

.row .column.column-offset-53 {
  margin-left: 53%;
}

.row .column.column-offset-54 {
  margin-left: 54%;
}

.row .column.column-offset-55 {
  margin-left: 55%;
}

.row .column.column-offset-56 {
  margin-left: 56%;
}

.row .column.column-offset-57 {
  margin-left: 57%;
}

.row .column.column-offset-58 {
  margin-left: 58%;
}

.row .column.column-offset-59 {
  margin-left: 59%;
}

.row .column.column-offset-60 {
  margin-left: 60%;
}

.row .column.column-offset-61 {
  margin-left: 61%;
}

.row .column.column-offset-62 {
  margin-left: 62%;
}

.row .column.column-offset-63 {
  margin-left: 63%;
}

.row .column.column-offset-64 {
  margin-left: 64%;
}

.row .column.column-offset-65 {
  margin-left: 65%;
}

.row .column.column-offset-66 {
  margin-left: 66%;
}

.row .column.column-offset-67 {
  margin-left: 67%;
}

.row .column.column-offset-68 {
  margin-left: 68%;
}

.row .column.column-offset-69 {
  margin-left: 69%;
}

.row .column.column-offset-70 {
  margin-left: 70%;
}

.row .column.column-offset-71 {
  margin-left: 71%;
}

.row .column.column-offset-72 {
  margin-left: 72%;
}

.row .column.column-offset-73 {
  margin-left: 73%;
}

.row .column.column-offset-74 {
  margin-left: 74%;
}

.row .column.column-offset-75 {
  margin-left: 75%;
}

.row .column.column-offset-76 {
  margin-left: 76%;
}

.row .column.column-offset-77 {
  margin-left: 77%;
}

.row .column.column-offset-78 {
  margin-left: 78%;
}

.row .column.column-offset-79 {
  margin-left: 79%;
}

.row .column.column-offset-80 {
  margin-left: 80%;
}

.row .column.column-offset-81 {
  margin-left: 81%;
}

.row .column.column-offset-82 {
  margin-left: 82%;
}

.row .column.column-offset-83 {
  margin-left: 83%;
}

.row .column.column-offset-84 {
  margin-left: 84%;
}

.row .column.column-offset-85 {
  margin-left: 85%;
}

.row .column.column-offset-86 {
  margin-left: 86%;
}

.row .column.column-offset-87 {
  margin-left: 87%;
}

.row .column.column-offset-88 {
  margin-left: 88%;
}

.row .column.column-offset-89 {
  margin-left: 89%;
}

.row .column.column-offset-90 {
  margin-left: 90%;
}

.row .column.column-offset-91 {
  margin-left: 91%;
}

.row .column.column-offset-92 {
  margin-left: 92%;
}

.row .column.column-offset-93 {
  margin-left: 93%;
}

.row .column.column-offset-94 {
  margin-left: 94%;
}

.row .column.column-offset-95 {
  margin-left: 95%;
}

.row .column.column-offset-96 {
  margin-left: 96%;
}

.row .column.column-offset-97 {
  margin-left: 97%;
}

.row .column.column-offset-98 {
  margin-left: 98%;
}

.row .column.column-offset-99 {
  margin-left: 99%;
}

.row .column.column-offset-100 {
  margin-left: 100%;
}

.row .column.column-offset-33, .row .column.column-offset-34 {
  margin-left: 33.3333%;
}

.row .column.column-offset-66, .row .column.column-offset-67 {
  margin-left: 66.6666%;
}

.row .column.column-1 {
  flex: 0 0 1%;
  max-width: 1%;
}

.row .column.column-2 {
  flex: 0 0 2%;
  max-width: 2%;
}

.row .column.column-3 {
  flex: 0 0 3%;
  max-width: 3%;
}

.row .column.column-4 {
  flex: 0 0 4%;
  max-width: 4%;
}

.row .column.column-5 {
  flex: 0 0 5%;
  max-width: 5%;
}

.row .column.column-6 {
  flex: 0 0 6%;
  max-width: 6%;
}

.row .column.column-7 {
  flex: 0 0 7%;
  max-width: 7%;
}

.row .column.column-8 {
  flex: 0 0 8%;
  max-width: 8%;
}

.row .column.column-9 {
  flex: 0 0 9%;
  max-width: 9%;
}

.row .column.column-10 {
  flex: 0 0 10%;
  max-width: 10%;
}

.row .column.column-11 {
  flex: 0 0 11%;
  max-width: 11%;
}

.row .column.column-12 {
  flex: 0 0 12%;
  max-width: 12%;
}

.row .column.column-13 {
  flex: 0 0 13%;
  max-width: 13%;
}

.row .column.column-14 {
  flex: 0 0 14%;
  max-width: 14%;
}

.row .column.column-15 {
  flex: 0 0 15%;
  max-width: 15%;
}

.row .column.column-16 {
  flex: 0 0 16%;
  max-width: 16%;
}

.row .column.column-17 {
  flex: 0 0 17%;
  max-width: 17%;
}

.row .column.column-18 {
  flex: 0 0 18%;
  max-width: 18%;
}

.row .column.column-19 {
  flex: 0 0 19%;
  max-width: 19%;
}

.row .column.column-20 {
  flex: 0 0 20%;
  max-width: 20%;
}

.row .column.column-21 {
  flex: 0 0 21%;
  max-width: 21%;
}

.row .column.column-22 {
  flex: 0 0 22%;
  max-width: 22%;
}

.row .column.column-23 {
  flex: 0 0 23%;
  max-width: 23%;
}

.row .column.column-24 {
  flex: 0 0 24%;
  max-width: 24%;
}

.row .column.column-25 {
  flex: 0 0 25%;
  max-width: 25%;
}

.row .column.column-26 {
  flex: 0 0 26%;
  max-width: 26%;
}

.row .column.column-27 {
  flex: 0 0 27%;
  max-width: 27%;
}

.row .column.column-28 {
  flex: 0 0 28%;
  max-width: 28%;
}

.row .column.column-29 {
  flex: 0 0 29%;
  max-width: 29%;
}

.row .column.column-30 {
  flex: 0 0 30%;
  max-width: 30%;
}

.row .column.column-31 {
  flex: 0 0 31%;
  max-width: 31%;
}

.row .column.column-32 {
  flex: 0 0 32%;
  max-width: 32%;
}

.row .column.column-35 {
  flex: 0 0 35%;
  max-width: 35%;
}

.row .column.column-36 {
  flex: 0 0 36%;
  max-width: 36%;
}

.row .column.column-37 {
  flex: 0 0 37%;
  max-width: 37%;
}

.row .column.column-38 {
  flex: 0 0 38%;
  max-width: 38%;
}

.row .column.column-39 {
  flex: 0 0 39%;
  max-width: 39%;
}

.row .column.column-40 {
  flex: 0 0 40%;
  max-width: 40%;
}

.row .column.column-41 {
  flex: 0 0 41%;
  max-width: 41%;
}

.row .column.column-42 {
  flex: 0 0 42%;
  max-width: 42%;
}

.row .column.column-43 {
  flex: 0 0 43%;
  max-width: 43%;
}

.row .column.column-44 {
  flex: 0 0 44%;
  max-width: 44%;
}

.row .column.column-45 {
  flex: 0 0 45%;
  max-width: 45%;
}

.row .column.column-46 {
  flex: 0 0 46%;
  max-width: 46%;
}

.row .column.column-47 {
  flex: 0 0 47%;
  max-width: 47%;
}

.row .column.column-48 {
  flex: 0 0 48%;
  max-width: 48%;
}

.row .column.column-49 {
  flex: 0 0 49%;
  max-width: 49%;
}

.row .column.column-50 {
  flex: 0 0 50%;
  max-width: 50%;
}

.row .column.column-51 {
  flex: 0 0 51%;
  max-width: 51%;
}

.row .column.column-52 {
  flex: 0 0 52%;
  max-width: 52%;
}

.row .column.column-53 {
  flex: 0 0 53%;
  max-width: 53%;
}

.row .column.column-54 {
  flex: 0 0 54%;
  max-width: 54%;
}

.row .column.column-55 {
  flex: 0 0 55%;
  max-width: 55%;
}

.row .column.column-56 {
  flex: 0 0 56%;
  max-width: 56%;
}

.row .column.column-57 {
  flex: 0 0 57%;
  max-width: 57%;
}

.row .column.column-58 {
  flex: 0 0 58%;
  max-width: 58%;
}

.row .column.column-59 {
  flex: 0 0 59%;
  max-width: 59%;
}

.row .column.column-60 {
  flex: 0 0 60%;
  max-width: 60%;
}

.row .column.column-61 {
  flex: 0 0 61%;
  max-width: 61%;
}

.row .column.column-62 {
  flex: 0 0 62%;
  max-width: 62%;
}

.row .column.column-63 {
  flex: 0 0 63%;
  max-width: 63%;
}

.row .column.column-64 {
  flex: 0 0 64%;
  max-width: 64%;
}

.row .column.column-65 {
  flex: 0 0 65%;
  max-width: 65%;
}

.row .column.column-68 {
  flex: 0 0 68%;
  max-width: 68%;
}

.row .column.column-69 {
  flex: 0 0 69%;
  max-width: 69%;
}

.row .column.column-70 {
  flex: 0 0 70%;
  max-width: 70%;
}

.row .column.column-71 {
  flex: 0 0 71%;
  max-width: 71%;
}

.row .column.column-72 {
  flex: 0 0 72%;
  max-width: 72%;
}

.row .column.column-73 {
  flex: 0 0 73%;
  max-width: 73%;
}

.row .column.column-74 {
  flex: 0 0 74%;
  max-width: 74%;
}

.row .column.column-75 {
  flex: 0 0 75%;
  max-width: 75%;
}

.row .column.column-76 {
  flex: 0 0 76%;
  max-width: 76%;
}

.row .column.column-77 {
  flex: 0 0 77%;
  max-width: 77%;
}

.row .column.column-78 {
  flex: 0 0 78%;
  max-width: 78%;
}

.row .column.column-79 {
  flex: 0 0 79%;
  max-width: 79%;
}

.row .column.column-80 {
  flex: 0 0 80%;
  max-width: 80%;
}

.row .column.column-81 {
  flex: 0 0 81%;
  max-width: 81%;
}

.row .column.column-82 {
  flex: 0 0 82%;
  max-width: 82%;
}

.row .column.column-83 {
  flex: 0 0 83%;
  max-width: 83%;
}

.row .column.column-84 {
  flex: 0 0 84%;
  max-width: 84%;
}

.row .column.column-85 {
  flex: 0 0 85%;
  max-width: 85%;
}

.row .column.column-86 {
  flex: 0 0 86%;
  max-width: 86%;
}

.row .column.column-87 {
  flex: 0 0 87%;
  max-width: 87%;
}

.row .column.column-88 {
  flex: 0 0 88%;
  max-width: 88%;
}

.row .column.column-89 {
  flex: 0 0 89%;
  max-width: 89%;
}

.row .column.column-90 {
  flex: 0 0 90%;
  max-width: 90%;
}

.row .column.column-91 {
  flex: 0 0 91%;
  max-width: 91%;
}

.row .column.column-92 {
  flex: 0 0 92%;
  max-width: 92%;
}

.row .column.column-93 {
  flex: 0 0 93%;
  max-width: 93%;
}

.row .column.column-94 {
  flex: 0 0 94%;
  max-width: 94%;
}

.row .column.column-95 {
  flex: 0 0 95%;
  max-width: 95%;
}

.row .column.column-96 {
  flex: 0 0 96%;
  max-width: 96%;
}

.row .column.column-97 {
  flex: 0 0 97%;
  max-width: 97%;
}

.row .column.column-98 {
  flex: 0 0 98%;
  max-width: 98%;
}

.row .column.column-99 {
  flex: 0 0 99%;
  max-width: 99%;
}

.row .column.column-100 {
  flex: 0 0 100%;
  max-width: 100%;
}

.row .column.column-33, .row .column.column-34 {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
}

.row .column.column-66, .row .column.column-67 {
  flex: 0 0 66.6666%;
  max-width: 66.6666%;
}

.row .column .column-top {
  align-self: flex-start;
}

.row .column .column-bottom {
  align-self: flex-end;
}

.row .column .column-center {
  align-self: center;
}

@media (min-width: 40rem) {
  .row {
    flex-direction: row;
    margin-left: -1.0rem;
    width: calc(100% + 2.0rem);
  }
  .row .column {
    margin-bottom: inherit;
    padding: 0 1.0rem;
  }
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
a {
  color: #1150A7;
  text-decoration: none;
}

a:focus, a:hover {
  color: #088439;
}

a.link-green {
  color: #088439;
}

a.link-green:focus, a.link-green:hover {
  color: #1150A7;
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
.text-wrapper dl,
.text-wrapper ol,
.text-wrapper ul {
  list-style: none;
  margin-top: 0;
  padding-left: 0;
}

.text-wrapper dl dl,
.text-wrapper dl ol,
.text-wrapper dl ul,
.text-wrapper ol dl,
.text-wrapper ol ol,
.text-wrapper ol ul,
.text-wrapper ul dl,
.text-wrapper ul ol,
.text-wrapper ul ul {
  font-size: 90%;
  margin: 1.5rem 0 1.5rem 3.0rem;
}

.text-wrapper ol {
  list-style: decimal inside;
}

.text-wrapper ul {
  list-style: none;
}

.text-wrapper ul li {
  padding-left: 40px;
  background: url(../images/material/ico-list.svg) no-repeat left 10px;
}

.text-wrapper ul.type-2 li {
  padding-left: 24px;
  background: none;
  position: relative;
}

.text-wrapper ul.type-2 li:before {
  content: "";
  width: 12px;
  height: 12px;
  background: #CBCBCB;
  border-radius: 2px;
  position: absolute;
  top: 8px;
  left: 0;
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
.button,
button,
dd,
dt,
li {
  margin-bottom: 1.0rem;
}

fieldset,
input,
select,
textarea {
  margin-bottom: 0rem;
}

blockquote,
dl,
form,
ol,
p,
pre,
table,
ul {
  margin-bottom: 2.5rem;
}

figure {
  margin: 0rem;
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
.wrap-table {
  overflow: hidden;
  border-radius: 10px;
  /* .bulan {width: 5%; text-align: center;}
	.jatuh-tempo {width: 15%; text-align: center;}
	.nilai {width: 15%; text-align: center;}
	.sisa {width: 20%; text-align: center;}
	.tanggal {width: 15%; text-align: center;}
	.telat {width: 15%; text-align: center;}
	.status {width: 10%; text-align: center;}  */
}

.wrap-table table {
  border-spacing: 0;
  width: 100%;
}

.wrap-table td,
.wrap-table th {
  background: #1150A7;
  color: #FFF;
  padding: 20px 0 20px 20px;
  text-align: left;
}

.wrap-table td:last-child,
.wrap-table th:last-child {
  padding-right: 25px;
}

.wrap-table td {
  background: none;
  color: #666;
}

.wrap-table tr:nth-child(even) td {
  background: #E7ECF2;
}

.wrap-table.blue-bordered {
  border-bottom: 5px solid #1150A7;
  position: relative;
  max-height: 805px;
}

.wrap-table.blue-bordered .mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=1)";
  -ms-filter: "alpha(opacity=1)";
}

.wrap-table.blue-bordered .mCSB_inside > .mCSB_container {
  margin-right: 0;
}

.wrap-table.blue-bordered .mCSB_scrollTools .mCSB_draggerContainer {
  background: #fff;
  right: -11px;
}

.wrap-table.blue-bordered .mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background: #9B9B9B;
}

.wrap-table.blue-bordered .mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
}

.wrap-table.blue-bordered table {
  width: 100%;
}

.wrap-table.blue-bordered thead {
  position: sticky;
}

.wrap-table.blue-bordered thead.hidden th {
  padding-top: 0;
  padding-bottom: 0;
  color: #fff;
  background: unset;
}

.wrap-table.blue-bordered tbody tr.active {
  position: relative;
}

.wrap-table.blue-bordered tbody tr.active td {
  border-top: 2px solid #1150a7;
  position: relative;
  border-bottom: 2px solid #1150a7;
  background: rgba(17, 80, 167, 0.8);
  color: #fff;
}

.wrap-table.blue-bordered tbody tr.active td:first-child {
  border-left: 3px solid #1150a7;
}

.wrap-table.blue-bordered tbody tr.active td:last-child:after {
  position: absolute;
  width: 2px;
  height: 100%;
  content: "";
  top: 0;
  right: 16px;
  background: #1150a7;
}

.wrap-table.blue-bordered tbody tr.active span.red-text,
.wrap-table.blue-bordered tbody tr.active span.green-text {
  padding: 3px 5px;
  background: #fff;
  border-radius: 4px;
}

.wrap-table.table-head {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: -20px;
  background: #1150A7;
  position: relative;
  z-index: 6;
}

.wrap-table.table-head table {
  margin: 0;
  width: 100%;
}

.wrap-table.table-head table thead tr th:first-child {
  border-bottom-left-radius: 0;
}

.wrap-table.table-head table thead tr th:lastt-child {
  border-bottom-right-radius: 0;
}

.action-table {
  position: relative;
  color: #088439;
  padding-right: 10px;
  display: inline-block;
  font-weight: bold;
}

.action-table:before {
  content: '';
  position: absolute;
  right: -10px;
  top: 0;
  bottom: 0;
  margin: auto 0px;
  background: url(../images/material/arr-right.png) no-repeat center;
  width: 12px;
  height: 8px;
}

.action-table.pending {
  color: #DF8825;
}

.action-table.reject {
  color: #DE0A0A;
  /*&:before{ display:none; }*/
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
b,
strong {
  font-weight: bold;
}

p {
  margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  margin-bottom: 2.0rem;
  margin-top: 0;
}

h1 {
  font-size: 4.6rem;
  line-height: 1.2;
}

h2 {
  font-size: 3.6rem;
  line-height: 1.25;
  font-weight: 900;
}

h3 {
  font-size: 2.8rem;
  line-height: 1.3;
  font-weight: bold;
  color: #333;
}

h4 {
  font-size: 2.2rem;
  line-height: 1.35;
  font-weight: 900;
}

h5 {
  font-size: 2.0rem;
  line-height: 1.5;
}

h5 b {
  color: #333;
}

h6 {
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 1.4;
  /* b{
		color:#333;
	} */
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
img {
  max-width: 100%;
}

figure img {
  vertical-align: top;
}

/*!
 * Milligram-scss v1.3.0
 * https://milligram.github.io
 *
 * Copyright (c) 2017 CJ Patoilo
 * Licensed under the MIT license
 */
.clearfix:after {
  clear: both;
  content: ' ';
  display: table;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.notif {
  color: #666;
  border: 1px solid #999;
  background: #eee;
  padding: 18px 20px;
  border-radius: 5px;
  margin: 0 0 20px 0;
}

.notif.success {
  color: #088439;
  border: 1px solid #088439;
  background: #C6F5D9;
}

.notif.error {
  color: #C32020;
  border: 1px solid #C11616;
  background: #FFDEDE;
}

.red-text {
  color: #C32020;
}

.green-text {
  color: #088439;
}

.black {
  color: #000;
}

/* pages
----------------------------------------------------------------------------------------------*/
/* header
----------------------------------------------------------------------------------------------*/
header.login {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

header.login .logo {
  display: inline-block;
  margin: 45px 0 0 0;
}

header.dashboard {
  position: relative;
  height: 140px;
  display: flex;
  z-index: 899;
}

header.dashboard .logo {
  width: 320px;
  text-align: center;
}

header.dashboard .logo img {
  margin: 40px 0 0;
}

header.dashboard .right-header {
  background: url(../images/material/head-dashboard.jpg) no-repeat left;
  background-size: cover;
  border-radius: 0 0 0 100px;
  width: calc(100% - 320px);
  display: flex;
  align-items: center;
  padding: 0 160px 0 120px;
  color: #FFF;
}

header.dashboard .right-header h4 {
  margin: 0;
  text-transform: uppercase;
}

header.dashboard .right-header .lang {
  height: 20px;
  line-height: 20px;
  border-left: 1px solid #B2B2B2;
  padding-left: 30px;
}

header.dashboard .right-header .lang a {
  font-size: 1.4rem;
  color: #FFF;
  padding: 0px 5px;
}

header.dashboard .right-header .lang a:hover, header.dashboard .right-header .lang a.active {
  font-weight: bold;
}

header.dashboard .notifications {
  padding: 5px 0;
  margin: 0 30px 0 auto;
  position: relative;
  cursor: pointer;
  z-index: 8;
}

header.dashboard .notifications:before {
  content: attr(data-count);
  position: absolute;
  top: 3px;
  right: -4px;
  width: 18px;
  height: 18px;
  background: #B20000;
  font-size: .9rem;
  border-radius: 18px;
  text-align: center;
  line-height: 18px;
}

header.dashboard .notifications.mobile-only {
  display: none;
}

header.dashboard .notifications .dropdown {
  background: #FFF;
  padding: 30px 5px 30px 30px;
  display: none;
  position: absolute;
  top: 100%;
  right: -20px;
  width: 360px;
  border-radius: 2rem;
  right: -20px;
  top: 100%;
  max-height: 578px;
}

header.dashboard .notifications .dropdown a {
  display: block;
  border-bottom: 1px solid #EAEAEA;
  margin-bottom: 2.15rem;
  padding-bottom: 2.15rem;
  font-size: 14px;
  font-weight: bold;
  color: #ADADAD;
}

header.dashboard .notifications .dropdown a span {
  background: url(../images/material/ico-time.svg) no-repeat left center;
  font-size: 1.3rem;
  color: #888888;
  display: block;
  padding: 0 0 0px 22px;
  margin-bottom: 10px;
  font-weight: normal;
}

header.dashboard .notifications .dropdown a.active {
  color: #333;
}

header.dashboard .notifications .dropdown a:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}

header.dashboard .notifications .dropdown a:hover {
  color: #1150A7;
}

header.dashboard .notifications .dropdown a:hover span {
  color: #088439;
}

header.dashboard.act {
  z-index: 999;
}

.lang-mobile {
  display: none;
}

/* content
----------------------------------------------------------------------------------------------*/
.overlay {
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 7;
  display: none;
}

.dashboard-content {
  min-height: calc(100vh - 140px);
  background: url(../images/material/bg-dashboard.jpg) no-repeat center bottom;
  background-size: 100% auto;
  display: flex;
  position: relative;
}

.dashboard-content aside {
  width: 320px;
  padding-left: 70px;
}

.dashboard-content aside .account {
  text-align: center;
  margin: 20px 0 50px -70px;
}

.dashboard-content aside .account .logo-mobile {
  display: none;
}

.dashboard-content aside .account figure {
  position: relative;
  border-radius: 100%;
  width: 100px;
  height: 100px;
  margin: 0 auto 10px;
  overflow: hidden;
}

.dashboard-content aside .account figure img {
  display: block;
}

.dashboard-content aside .account figure:hover > .change-picture {
  visibility: visible;
  opacity: 1;
}

.dashboard-content aside .account .link {
  display: inline-block;
  font-size: 1.7rem;
  color: #333333;
  padding-right: 30px;
  background: url(../images/material/ico-arrow-right.svg) no-repeat 95% center;
  margin-bottom: 20px;
}

.dashboard-content aside .account .change-picture {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  transition: 0.2s ease-out all;
}

.dashboard-content aside .account .change-picture:before {
  content: "";
  width: 30px;
  height: 30px;
  background: url(../images/material/ico-camera.svg) no-repeat center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.dashboard-content aside .account .change-picture input {
  width: 100%;
  height: 100%;
  opacity: 0;
}

.dashboard-content aside nav {
  margin-bottom: 50px;
}

.dashboard-content aside nav a {
  position: relative;
  display: block;
  padding-left: 50px;
  margin-bottom: 20px;
  color: #5C5C5C;
  transition: 0.2s ease-out all;
  height: 40px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.dashboard-content aside nav a img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  filter: invert(1);
  opacity: 0.2;
  z-index: 2;
}

.dashboard-content aside nav a:before {
  content: "";
  background: #088439;
  width: 110px;
  height: 40px;
  border-radius: 0 50px 50px 0;
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  margin: auto;
  opacity: 0;
  transition: 0.2s ease-out all;
}

.dashboard-content aside nav a.active:before, .dashboard-content aside nav a:hover:before {
  opacity: 1;
  right: calc(100% - 40px);
}

.dashboard-content aside nav a.active img, .dashboard-content aside nav a:hover img {
  filter: invert(0);
  opacity: 0.45;
}

.dashboard-content aside nav a.active {
  font-weight: 600;
}

.dashboard-content aside .foot h6 {
  color: #088439;
  font-weight: 500;
}

.dashboard-content aside .contact {
  margin-bottom: 30px;
}

.dashboard-content aside .contact a {
  padding-left: 35px;
  min-height: 25px;
  position: relative;
  display: block;
  margin-bottom: 20px;
  color: #666;
}

.dashboard-content aside .contact a img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0px;
  margin: auto;
  transition: all .2s ease-out;
}

.dashboard-content aside .contact a:last-child img {
  width: 25px;
  height: 25px;
}

.dashboard-content aside .contact a:hover {
  font-weight: bold;
}

.dashboard-content aside .contact a:hover img {
  transform: scale(1.01);
}

.dashboard-content aside .copy {
  font-size: 13px;
  color: #898989;
}

.dashboard-content .content-right {
  width: calc(100% - 320px);
  padding: 40px 140px 100px 120px;
}

.wrap-popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9990;
  background: rgba(0, 0, 0, 0.6);
  overflow: auto;
  display: none;
}

.wrap-popup .box-popup {
  background: #FFF;
  border-radius: 20px;
  margin: 5% auto;
  padding: 60px;
  box-sizing: border-box;
  max-width: 800px;
  position: relative;
}

.wrap-popup .close {
  position: absolute;
  right: 25px;
  top: -35px;
  width: 20px;
  height: 20px;
  cursor: pointer;
  z-index: 8;
  cursor: pointer;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
}

.wrap-popup .close:after, .wrap-popup .close:before {
  content: '';
  width: 25px;
  height: 2px;
  background: #fff;
  display: block;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  top: 15px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  transition: 0.3s all ease-out;
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
}

.wrap-popup .close:before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

.wrap-popup .close:hover:after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

.wrap-popup .close:hover:before {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
}

.wrap-popup.pelunasan .content-center {
  text-align: center;
}

.wrap-popup.pelunasan .content-center h5 {
  color: #111;
  font-weight: bold;
  margin-bottom: 15px;
}

.wrap-popup.pelunasan .content-center figure {
  margin: 30px 0 40px;
}

.wrap-popup.pelunasan .content-center p {
  margin-bottom: 0;
}

.baru {
  display: block;
}

.popup {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #000000c7;
  z-index: 9999;
  display: flex;
}

.popup .popup-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.popup .popup-inner {
  width: 340px;
  background: #fff;
  margin: auto;
  padding: 0;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  border-radius: 20px;
  position: relative;
}

.popup .popup-inner .btn-x {
  position: absolute;
  width: 24px;
  height: 24px;
  top: -35px;
  right: 11px;
  background: url("../images/material/close.png") no-repeat center center;
  cursor: pointer;
  transition: all .3s ease-out;
  z-index: 9;
}

.popup .popup-inner .btn-x:hover {
  transform: rotate(90deg);
}

.popup .popup-inner .top-side {
  padding: 20px 0;
  text-align: center;
  background: #F2CE52;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.popup .popup-inner .bottom-side {
  padding: 25px 30px;
}

.popup .title-popup {
  position: relative;
  margin-bottom: 20px;
}

.popup .title-popup h5 {
  font-weight: bold;
  color: #35383B;
  margin-bottom: 0;
  text-align: center;
  font-size: 16px;
}

.popup .text {
  text-align: center;
}

.accordion .list-accordion {
  margin-bottom: 20px;
}

.accordion .list-accordion:last-child {
  margin-bottom: 0px;
}

.accordion .list-accordion.active .head-accordion, .accordion .list-accordion:hover .head-accordion {
  background: #1150A7;
}

.accordion .list-accordion.active .head-accordion h6, .accordion .list-accordion:hover .head-accordion h6 {
  color: #fff;
}

.accordion .list-accordion.active .plus span, .accordion .list-accordion:hover .plus span {
  transform: rotate(-25deg);
  -webkit-transform: rotate(-25deg);
  -moz-transform: rotate(-25deg);
  -ms-transform: rotate(-25deg);
  -o-transform: rotate(-25deg);
}

.accordion .list-accordion.active .plus span:first-child, .accordion .list-accordion:hover .plus span:first-child {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}

.accordion .head-accordion {
  padding: 20px 30px;
  box-sizing: border-box;
  background: #E7ECF2;
  border-radius: 10px;
  position: relative;
  cursor: pointer;
  transition: .2s all ease-out;
}

.accordion .head-accordion h6 {
  margin-bottom: 0px;
  color: #555555;
  font-weight: 400;
}

.accordion .head-accordion .plus {
  position: absolute;
  right: 20px;
  top: 0;
  margin: auto 0;
  bottom: 0;
  width: 10px;
  height: 10px;
  transition: .2s all ease-out;
}

.accordion .head-accordion .plus span {
  width: 100%;
  height: 3px;
  background: #0CC154;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transition: 0.25s all ease-out;
  -webkit-transition: 0.25s all ease-out;
  -moz-transition: 0.25s all ease-out;
  -ms-transition: 0.25s all ease-out;
  -o-transition: 0.25s all ease-out;
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
}

.accordion .head-accordion .plus span:first-child {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}

.accordion .content-accordion {
  padding: 30px;
  box-sizing: border-box;
  display: none;
}

.wrap-tabing .head-tab ul {
  display: flex;
  width: 100%;
  border-bottom: 1px solid #E5E5E5;
  margin-bottom: 0px;
}

.wrap-tabing .head-tab ul li {
  display: inline-block;
  background: #EBEBEB;
  padding: 10px 40px;
  box-sizing: border-box;
  border-radius: 20px 20px 0px 0px;
  margin: 0px;
  transition: .2s all ease-out;
  cursor: pointer;
}

.wrap-tabing .head-tab ul li.active, .wrap-tabing .head-tab ul li:hover {
  background: #088439;
}

.wrap-tabing .head-tab ul li.active a, .wrap-tabing .head-tab ul li:hover a {
  color: #fff;
}

.wrap-tabing .head-tab ul li a {
  background: transparent;
  color: #5C5C5C;
  display: block;
}

.wrap-tabing .content-tab {
  padding: 50px 0px 0px;
  display: none;
}

.note {
  font-size: 14px;
  font-style: italic;
  width: 70%;
}

.form label.checkbox.info {
  padding-left: 0;
}

.note-file {
  display: block;
  color: #9DB7DB;
  font-size: 1.3rem;
  margin-top: .5rem;
}

.box-white {
  padding: 45px 50px 20px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #EDEDED;
  border-radius: 20px;
}

.box-white h6 {
  color: #333333;
  margin-bottom: 0;
}

.box-white input[type="text"] {
  background: #F7F7F7;
}

.box-white select {
  padding-right: 30px;
  background: #F7F7F7 url("../images/material/arr-select.png") no-repeat 95% center;
}

.box-white .error {
  display: block;
  color: #BF0000;
  font-weight: 500;
  font-size: 1.3rem;
  margin-top: 10px;
}

.box-white .container .row {
  padding-bottom: 20px;
}

.box-white .result {
  padding: 35px 55px;
  box-sizing: border-box;
  background: #1150A7;
  border-radius: 10px;
  color: #fff;
  margin-bottom: 20px;
}

.box-white .result h6 {
  margin-bottom: 0px;
  color: #fff;
}

.box-white .result h6 b {
  color: #fff;
}

.box-white .result h5 b {
  color: #fff;
}

.box-white .result .row {
  margin-bottom: 10px;
}

.box-white.nobottom-radius {
  border-radius: 20px 20px 0px 0px;
}

.info-size {
  display: block;
  font-size: 1.3rem;
  color: #9DB7DB;
}

.nomargin {
  margin: 0px !important;
}

.result-upload {
  display: block;
  background: #043476;
  border-radius: 60px;
  border: 1px solid transparent;
  font-size: 1.6rem;
  height: 4.5rem;
  line-height: 4.3rem;
  color: #fff;
  padding: 0 6rem 0 7rem;
  box-sizing: border-box;
  overflow-y: hidden;
  position: relative;
}

.result-upload:before {
  content: "";
  background: url("../images/material/icon-picture.svg") no-repeat center;
  width: 2.4rem;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3rem;
}

.result-upload .remove-input {
  width: 2.4rem;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 2rem;
  bottom: 0;
}

.result-upload .remove-input:before, .result-upload .remove-input:after {
  content: "";
  background: #5F86BC;
  height: .1rem;
  width: 100%;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
}

.result-upload .remove-input:after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

.aside-radio.v2 label.radio {
  cursor: pointer;
}

.aside-radio.v2 label.radio input[type=radio] {
  border: 1px solid #1150A7;
  border-radius: 50%;
  top: 3px;
}

.aside-radio.v2 label.radio input[type=radio]:checked {
  background-position: -17px -1px;
}

.aside-radio label.radio {
  display: inline-block;
  margin-right: 5rem;
}

.aside-radio label.radio:last-child {
  margin-right: 0;
}

.text-wrapper .center {
  text-align: center;
}

.form-sukses {
  padding-top: 50px;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 45%;
  font-size: 12px;
  font-weight: bold;
  padding: 5px 10px;
  background: #FFF;
  border-radius: 0px;
  height: 25px;
  margin: 0 4px;
  -webkit-appearance: menulist;
  text-transform: uppercase;
}

.to {
  position: absolute;
  bottom: 25px;
  left: 100%;
  margin-left: -6px;
  font-size: 0;
}

.to:before {
  position: absolute;
  width: 10px;
  height: 1px;
  content: "";
  background: #fff;
  top: 0;
  left: 0;
}

.row-check {
  padding: 20px 0;
}

.row-success {
  width: 705px;
  margin: auto;
  padding-top: 60px;
  text-align: center;
}

.row-success figure {
  margin-bottom: 50px;
}

.row-success h6 {
  color: #000;
}

.row-success p {
  margin-bottom: 5px;
}

.floating-notif {
  position: fixed;
  right: 34px;
  bottom: 70px;
  z-index: 888;
  width: 70px;
  height: 71px;
}

.floating-notif .notif-icon {
  width: 70px;
  height: 71px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  z-index: 3;
  background: url("../images/material/icon-lonceng.png") no-repeat 0 0;
  position: absolute;
  right: 0;
  bottom: 0;
}

.floating-notif .notif-icon span {
  display: block;
  font-size: 13px;
  font-weight: bold;
  color: #000;
  line-height: 1.2;
  padding-top: 22px;
}

.floating-notif .notif-text {
  width: 520px;
  max-height: 465px;
  z-index: 3;
  position: absolute;
  background: #1D4C8D;
  opacity: 0.95;
  right: 75px;
  bottom: -25px;
  padding: 35px 0px 35px 40px;
  box-sizing: border-box;
  color: #fff;
  border-radius: 20px;
  visibility: hidden;
  /*transition: all .4 ease-out; */
}

.floating-notif .notif-text h6 {
  margin-bottom: 10px;
}

.floating-notif .notif-text p {
  margin-bottom: 20px;
  color: #E6E6E6;
}

.floating-notif .notif-text:after {
  position: absolute;
  width: 11px;
  height: 16px;
  content: "";
  background: url("../images/material/icon-arrow-float.png") no-repeat 0 0;
  bottom: 45px;
  right: -11px;
}

.floating-notif .notif-text .wrap-table table {
  margin-bottom: 0;
}

.floating-notif .notif-text .wrap-table tr:first-child td {
  padding-top: 0;
}

.floating-notif .notif-text .wrap-table tr:nth-child(even) {
  background: unset;
}

.floating-notif .notif-text .wrap-table tr:last-child td {
  padding-bottom: 0;
}

.floating-notif .notif-text .wrap-table td {
  color: #fff;
  padding: 10px 15px;
}

.floating-notif .notif-text .wrap-table td span {
  display: block;
}

.floating-notif .notif-text .wrap-table td span.cyan {
  color: #DBEAFF;
}

.floating-notif .notif-text .wrap-table td a {
  color: #00B748;
  font-weight: bold;
}

.floating-notif .notif-text .wrap-table td a:hover {
  color: #09E25E;
}

.floating-notif .notif-text .wrap-table td.td-btn {
  vertical-align: bottom;
}

.floating-notif .notif-text .wrap-table td:first-child {
  padding-left: 0;
}

.floating-notif .notif-text .wrap-table td:last-child {
  padding-right: 0;
}

.floating-notif .overlay-transparent {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: transparent;
  z-index: 1;
  cursor: default;
  display: none;
}

.floating-notif.act {
  z-index: 9999;
  /* .notif-text {
            visibility: visible;
            opacity: 1;
            right: 95px; 
        } */
}

body.bg {
  overflow: hidden;
}

/* footer
----------------------------------------------------------------------------------------------*/
.bg-sign {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

.bg-sign img {
  object-fit: cover;
  min-width: 100%;
  min-height: 100%;
  max-width: unset;
}

.sign-layout {
  background-attachment: fixed;
  background-size: cover;
  min-height: 100vh;
}

.sign-layout .wrapper {
  position: relative;
  z-index: 2;
  padding: 70px 0 100px;
}

.sign-layout .caption {
  position: fixed;
  bottom: 115px;
  left: 110px;
  width: 40%;
  align-self: flex-end;
  color: #FFF;
}

.sign-layout .caption h2 {
  text-transform: uppercase;
}

.sign-layout .caption p {
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1.4;
  margin: 0;
}

.sign-layout .form-login {
  width: 470px;
  margin-left: auto;
  align-self: center;
  flex: unset;
  background: #1150A7;
  color: #FFF;
  padding: 0 50px 60px;
  border-radius: 20px;
  overflow: hidden;
}

.sign-layout .form-login a {
  color: #86A2C9;
}

.sign-layout .form-login .forgot-link {
  text-align: right;
}

.sign-layout .form-login .forgot-link a {
  font-size: 1.4rem;
  transition: all .2s ease-out;
}

.sign-layout .form-login .forgot-link a:hover {
  color: #fff;
}

.sign-layout .tab-login {
  display: flex;
  margin: 0 -50px 50px;
  align-items: center;
}

.sign-layout .tab-login a {
  width: 50%;
  height: 90px;
  line-height: 90px;
  font-size: 2.2rem;
  color: #FFF;
  text-align: center;
  background: #023880;
  border-radius: 0px 0px 40px 0px;
}

.sign-layout .tab-login a * {
  opacity: 0.4;
}

.sign-layout .tab-login a img {
  margin: 0 5px -5px 0;
  position: relative;
}

.sign-layout .tab-login a:nth-child(2) {
  border-radius: 0px 0px 0px 40px;
}

.sign-layout .tab-login a.active {
  background: rgba(0, 0, 0, 0);
}

.sign-layout .tab-login a.active * {
  opacity: 1;
}

.sign-layout .foot {
  font-size: 1.4rem;
  margin: 90px 0 0 0;
  text-align: center;
}

.sign-layout .sign-radio {
  width: 100%;
  height: 160px;
  border-radius: 10px;
  background: #FFF;
  border: 4px solid transparent;
  position: relative;
  transition: all .2s ease-out;
}

.sign-layout .sign-radio input[type=radio] {
  opacity: 0;
  position: absolute;
}

.sign-layout .sign-radio figure {
  width: 60px;
  height: 60px;
  margin: 32px auto 15px auto;
  background: #a7a7a7;
  background: -moz-linear-gradient(158deg, #a7a7a7 0%, #717171 100%);
  background: -webkit-linear-gradient(158deg, #a7a7a7 0%, #717171 100%);
  background: linear-gradient(158deg, #a7a7a7 0%, #717171 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#a7a7a7",endColorstr="#717171",GradientType=1);
  border-radius: 25px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sign-layout .sign-radio span {
  text-align: center;
  color: #666;
  display: block;
}

.sign-layout .sign-radio:hover {
  border-color: #088439;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);
}

.sign-layout .sign-radio.active {
  border-color: #088439;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);
}

.sign-layout .sign-radio.active figure {
  background: #7bb33f;
  background: -moz-linear-gradient(158deg, #7bb33f 0%, #3b9425 100%);
  background: -webkit-linear-gradient(158deg, #7bb33f 0%, #3b9425 100%);
  background: linear-gradient(158deg, #7bb33f 0%, #3b9425 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#7bb33f",endColorstr="#3b9425",GradientType=1);
}

.sign-layout .title {
  width: auto;
  display: inline-block;
  padding: 30px 60px;
  background: #82b93b;
  background: -moz-linear-gradient(135deg, #82b93b 0%, #088439 100%);
  background: -webkit-linear-gradient(135deg, #82b93b 0%, #088439 100%);
  background: linear-gradient(135deg, #82b93b 0%, #088439 100%);
  color: #FFF;
  border-radius: 0px 0px 40px 0px;
  margin: 0 -50px 50px;
}

.sign-layout .title h4 {
  display: inline;
}

.sign-layout .title img {
  margin: 0 5px -5px 0;
  position: relative;
}

.sign-layout p.forgot-text {
  color: #78A3DE;
  margin-bottom: 40px;
  line-height: 1.6;
}

.wrap-popup.otp-popup .box-popup {
  width: 550px;
  text-align: center;
}

.wrap-popup.otp-popup .box-popup h4 {
  color: #3C3C3C;
  margin-bottom: 10px;
}

.wrap-popup.otp-popup .box-popup button {
  width: 300px;
}

.wrap-popup.otp-popup .box-popup .otp {
  display: flex;
  justify-content: space-around;
  margin: 50px 20px;
}

.wrap-popup.otp-popup .box-popup .otp input {
  width: 50px;
  height: 60px;
  background: #EAEAEA;
  padding: 0 10px;
  border-radius: 10px;
  font-size: 3.0rem;
  text-align: center;
}

.title-tab {
  display: flex;
  margin-bottom: 20px;
}

.title-tab figure {
  padding: 8px 0 0px;
  margin: 0px;
  flex: 1 0 40px;
  max-width: 40px;
  margin-right: 20px;
}

.title-tab .text h5 {
  font-weight: bold;
  color: #333333;
  margin-bottom: 1.5rem;
}

.max-limit {
  display: flex;
  align-items: center;
  padding-bottom: 10px;
  margin-bottom: 35px;
  border-bottom: 1px solid #E5E5E5;
}

.max-limit h5 {
  color: #023880;
  font-weight: bold;
  margin-left: 30px;
  margin-bottom: 0;
}

.max-limit h6 {
  color: #888888;
  font-weight: 400;
}

.box-rounded {
  border: .1rem solid #EDEDED;
  margin-bottom: 4.5rem;
  border-radius: 2rem;
  -webkit-border-radius: 2rem;
  -moz-border-radius: 2rem;
  -ms-border-radius: 2rem;
  -o-border-radius: 2rem;
}

.box-rounded .title-box-rounded {
  background-color: #ECF0F5;
  padding: 2.3rem 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 2rem 2rem 0 0;
  -webkit-border-radius: 2rem 2rem 0 0;
  -moz-border-radius: 2rem 2rem 0 0;
  -ms-border-radius: 2rem 2rem 0 0;
  -o-border-radius: 2rem 2rem 0 0;
}

.box-rounded .title-box-rounded .button {
  margin-bottom: 0;
}

.box-rounded .title-box-rounded .left-title {
  display: flex;
  align-items: center;
}

.box-rounded .title-box-rounded .left-title .button {
  margin-left: 2rem;
}

.box-rounded .content-box-rounded {
  padding: 3rem 4rem 4rem;
  border-radius: 0 0 2rem 2rem;
  -webkit-border-radius: 0 0 2rem 2rem;
  -moz-border-radius: 0 0 2rem 2rem;
  -ms-border-radius: 0 0 2rem 2rem;
  -o-border-radius: 0 0 2rem 2rem;
}

.box-rounded .content-box-rounded .scroll-box {
  height: 8.7rem;
  overflow-y: auto;
}

.box-rounded .content-box-rounded .scroll-box p {
  margin-bottom: .5rem;
  font-size: 1.5rem;
  font-weight: 500;
}

.box-rounded .content-box-rounded table {
  margin-bottom: 0;
  width: 100%;
}

.box-rounded .content-box-rounded .row {
  /*.column{margin-bottom: 2rem;}*/
}

.box-rounded .content-box-rounded.half-grey {
  position: relative;
}

.box-rounded .content-box-rounded.half-grey:before {
  content: "";
  background: #ECF0F5;
  height: 15rem;
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}

.button-disabled {
  cursor: default;
  pointer-events: none;
}

.side-img {
  position: relative;
  padding-left: 6.2rem;
  min-height: 5rem;
}

.side-img > img {
  position: absolute;
  top: -.3rem;
  left: 0;
}

.side-img .text-side-img span {
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.3rem;
  color: #1150A7;
}

.side-img .text-side-img h5 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #093C81;
  margin-bottom: 0;
}

.side-img.v2 {
  min-height: 0;
  display: flex;
  align-items: center;
  padding-left: 0;
}

.side-img.v2 > div {
  display: flex;
  align-items: center;
}

.side-img.v2 img {
  position: relative;
  top: auto;
  left: auto;
  margin-right: 1.2rem;
}

.side-img.v2 .text-side-img span {
  text-transform: none;
  font-size: 1.5rem;
}

.box-progress-rounded {
  margin-bottom: 1.4rem;
}

.box-progress-rounded .title-progress-rounded {
  color: #fff;
  background-color: #1150A7;
  padding: 1.3rem 3.5rem;
  text-align: center;
  font-weight: 700;
  font-size: 1.6rem;
  border-radius: 1rem 1rem 0 0;
  -webkit-border-radius: 1rem 1rem 0 0;
  -moz-border-radius: 1rem 1rem 0 0;
  -ms-border-radius: 1rem 1rem 0 0;
  -o-border-radius: 1rem 1rem 0 0;
}

.box-progress-rounded .content-progress-rounded {
  padding: 2rem 3.5rem;
  background-color: #ECF0F5;
  display: flex;
  justify-content: space-between;
  border-radius: 0 0 1rem 1rem;
  -webkit-border-radius: 0 0 1rem 1rem;
  -moz-border-radius: 0 0 1rem 1rem;
  -ms-border-radius: 0 0 1rem 1rem;
  -o-border-radius: 0 0 1rem 1rem;
}

.box-progress-rounded .content-progress-rounded .col span {
  display: block;
  margin: 0 auto .9rem;
  font-weight: 500;
  color: #555555;
}

.box-progress-rounded .content-progress-rounded .col span.dot {
  margin-bottom: 0;
}

.dot {
  display: inline-block;
  vertical-align: middle;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

.dot.dot-red {
  background-color: #C32C31;
}

.dot.dot-green {
  background-color: #81BE27;
}

.dot.dot-orange {
  background-color: #FFB400;
}

.note-progress > span {
  margin-right: 4.2rem;
}

.note-progress > span .dot {
  margin-top: -.4rem;
  margin-right: .5rem;
}

.accordion-content {
  padding-bottom: 2.4rem;
  display: none;
}

.accordion-content.active {
  display: block;
}

.accordion-button {
  text-transform: uppercase;
  display: inline-block;
  color: #093C81;
  font-weight: 700;
  position: relative;
  padding-right: 1.8rem;
  cursor: pointer;
  font-size: 1.4rem;
}

.accordion-button:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1rem;
  background: url("../images/material/arrow-bottom.svg") no-repeat center;
}

.accordion-button:hover {
  color: #088439;
}

.accordion-button.active:after {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}

.slider-dashboard .list-slide {
  position: relative;
}

.slider-dashboard .list-slide figure img {
  width: 100%;
  vertical-align: top;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
  -moz-border-radius: 1rem;
  -ms-border-radius: 1rem;
  -o-border-radius: 1rem;
}

.slider-dashboard .list-slide figcaption {
  background: #82b93b;
  background: -moz-linear-gradient(-45deg, #82b93b 0%, rgba(130, 185, 59, 0.99) 17%, rgba(62, 152, 30, 0.95) 100%);
  background: -webkit-gradient(left top, right bottom, color-stop(0%, #82b93b), color-stop(17%, rgba(130, 185, 59, 0.99)), color-stop(100%, rgba(62, 152, 30, 0.95)));
  background: -webkit-linear-gradient(-45deg, #82b93b 0%, rgba(130, 185, 59, 0.99) 17%, rgba(62, 152, 30, 0.95) 100%);
  background: -o-linear-gradient(-45deg, #82b93b 0%, rgba(130, 185, 59, 0.99) 17%, rgba(62, 152, 30, 0.95) 100%);
  background: -ms-linear-gradient(-45deg, #82b93b 0%, rgba(130, 185, 59, 0.99) 17%, rgba(62, 152, 30, 0.95) 100%);
  background: linear-gradient(135deg, #82b93b 0%, rgba(130, 185, 59, 0.99) 17%, rgba(62, 152, 30, 0.95) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#82b93b', endColorstr='#3e981e', GradientType=1 );
  padding: 3.0rem 3.5rem 5.2rem;
  opacity: .95;
  width: 29rem;
  box-sizing: border-box;
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  text-align: right;
  position: absolute;
  right: 6rem;
  bottom: 0;
  border-radius: 4rem 0 0 0;
  -webkit-border-radius: 4rem 0 0 0;
  -moz-border-radius: 4rem 0 0 0;
  -ms-border-radius: 4rem 0 0 0;
  -o-border-radius: 4rem 0 0 0;
}

.slider-dashboard .slick-dots {
  margin-bottom: 0;
  position: absolute;
  right: 9.2rem;
  bottom: 0.5rem;
}

.slider-dashboard .slick-dots li {
  padding-left: 0;
  display: inline-block;
  margin: 0 .4rem;
  height: 1rem;
}

.slider-dashboard .slick-dots li button {
  width: 1rem;
  height: 1rem;
  background: rgba(255, 255, 255, 0.63);
  font-size: 0;
  color: transparent;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

.slider-dashboard .slick-dots li.slick-active button {
  background: #1150A7;
}

.row-claim {
  margin-bottom: 4rem;
}

.row-claim .column {
  margin-bottom: 0;
  color: #777;
}

.row-claim .column:hover, .row-claim .column.active {
  color: #088439;
}

.row-claim .column:hover .side-img .text-side-img span, .row-claim .column.active .side-img .text-side-img span {
  color: #088439;
}

.notif-inline {
  display: block;
  padding: 1.4rem 4rem 1.4rem 2.4rem;
  border: .1rem solid #C11616;
  border-radius: .4rem;
  background: #FFDEDE;
  color: #C32020;
  font-weight: 500;
  margin-bottom: 2rem;
  position: relative;
}

.notif-inline .close-notif {
  width: 2rem;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 2.2rem;
  bottom: 0;
}

.notif-inline .close-notif:before, .notif-inline .close-notif:after {
  content: "";
  height: .2rem;
  background: #C32020;
  border-radius: .2rem;
  cursor: pointer;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
}

.notif-inline .close-notif:after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

.notif-inline.green {
  color: #81BE27;
  border-color: #81BE27;
  background: #f3ffe1;
}

.notif-inline.orange {
  color: #FFB400;
  border-color: #FFB400;
  background: #ffefc9;
}

.row-white-rounded {
  margin-bottom: 4rem;
}

.row-white-rounded > .column {
  margin-bottom: 0;
}

.row-white-rounded > .column > .inner-column {
  background: #fff;
  box-shadow: 0 1rem 2rem 0 rgba(0, 0, 0, 0.1);
  border-radius: 1.2rem;
  padding: 2.7rem 3rem;
  height: 100%;
}

.row-white-rounded > .column > .inner-column h5 {
  font-size: 2.2rem;
  font-weight: 700;
}

.row-white-rounded > .column > .inner-column h6 {
  font-weight: 700;
}

.row-white-rounded > .column.no-padding > .inner-column {
  padding: 0;
}

.grey-text {
  color: #999999;
  margin-bottom: .5rem;
}

.blue-text {
  color: #023880;
  margin-bottom: .8rem;
}

.per-month {
  color: #023880;
}

.per-month span {
  font-size: 1.4rem;
  font-weight: 700;
  color: #717171;
}

.row-value > .column {
  display: flex;
  align-items: flex-start;
}

.row-value > .column > img {
  width: 4rem;
  margin-right: 2rem;
}

.row-value > .column .text-row-value h6 {
  font-weight: 700;
  margin-bottom: 0rem;
  color: #000;
}

.row-value > .column .blue-text {
  font-weight: bold;
}

.row-line-space {
  margin-left: 0;
  width: 100%;
  border-bottom: .1rem solid #F0F0F0;
}

.row-line-space > .column {
  border-right: .1rem solid #F0F0F0;
  padding: 3rem 3rem 1rem;
  margin-bottom: 0;
}

.row-line-space > .column:last-child {
  border-right: 0;
}

.row-bg-grey {
  margin-left: 0;
  width: 100%;
}

.row-bg-grey > .column {
  background: #FAFAFA;
  padding: 2rem 3rem;
}

.row-bg-grey > .column:first-child {
  border-radius: 0 0 0 1rem;
}

.row-bg-grey > .column:last-child {
  border-radius: 0 0 1rem 0;
}

.form.account-form {
  border-radius: 10px;
}

.title-account {
  display: flex;
  align-items: center;
  margin-bottom: 31px;
}

.title-account h5 {
  margin-bottom: 0;
}

.title-account a {
  margin-left: auto;
  line-heihgt: 20px;
  color: #505050;
  padding: 0 0 0 30px;
  background: url("../images/material/ico-lock.svg") no-repeat left center;
}

.title-account a:hover {
  color: #088439;
}

header.head-misc {
  text-align: center;
  padding: 80px 0 0px;
}

.misc-layout h3 {
  text-transform: capitalize;
  margin-bottom: 1rem;
}

.misc-layout h5 {
  margin-bottom: 3rem;
}

.misc-layout figure {
  margin-bottom: 3rem;
}

/* pages responsive desktop
----------------------------------------------------------------------------------------------*/
@media all and (max-width: 1600px) {
  html {
    font-size: 56.25%;
  }
  body img {
    transform: scale(0.8);
  }
  header.login .logo img {
    transform: scale(0.9);
  }
  header.head-misc {
    padding-top: 50px;
  }
  .content-right figure {
    transform: scale(1);
  }
  .slick-slider img {
    transform: scale(1);
  }
  .sign-layout .wrapper {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .misc-layout figure {
    margin-top: -50px;
  }
  .wrap-table {
    font-size: 1.48rem;
  }
  .wrap-table.blue-bordered {
    max-height: 750px;
  }
  h5 {
    font-size: 1.9rem;
  }
  .dashboard-content {
    background: url(../images/material/bg-dashboard-desktop.jpg) no-repeat center bottom;
  }
  .row-success {
    width: 615px;
  }
  .row-success figure img {
    transform: scale(1);
  }
}

/* pages responsive tablet
----------------------------------------------------------------------------------------------*/
@media all and (max-width: 1280px) {
  header.dashboard {
    height: 120px;
  }
  header.dashboard .logo {
    width: 200px;
  }
  header.dashboard .logo img {
    width: 123px;
  }
  header.dashboard .right-header {
    width: calc(100% - 200px);
    padding: 0 55px 0 77px;
  }
  .dashboard-content aside {
    width: 230px;
    padding-left: 30px;
  }
  .dashboard-content aside .foot h6 {
    font-size: 1.5rem;
  }
  .dashboard-content aside nav a {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }
  .dashboard-content .content-right {
    width: calc(100% - 230px);
    padding: 58px 50px;
  }
  .wrap-table td, .wrap-table th {
    padding: 15px 10px;
    font-size: 1.3rem;
  }
  .wrap-table.blue-bordered {
    max-height: 595px;
  }
  .accordion .list-accordion h6 {
    font-size: 1.6rem;
  }
  .accordion .content-accordion {
    font-size: 1.5rem;
  }
  .title-content {
    font-size: 1.8rem;
  }
  .wrap-tabing .content-tab {
    padding: 35px 0 0;
  }
  .box-white {
    padding: 4rem 5rem;
  }
  .box-white h5 {
    font-size: 1.8rem;
  }
  .box-white h6 {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
  .box-white label {
    margin-bottom: 0;
  }
  .box-white .result {
    padding: 35px;
  }
  .box-white .container .row {
    padding-bottom: 10px;
  }
}

@media all and (max-width: 1023px) {
  header {
    padding-left: 110px;
    box-sizing: border-box;
  }
  header.dashboard {
    height: 9rem;
    position: fixed;
    width: 100%;
    background: #fff;
  }
  header.dashboard .logo {
    width: 15rem;
  }
  header.dashboard .logo img {
    margin-top: 2rem;
  }
  header.dashboard .right-header {
    width: calc(100% - 135px);
  }
  header.dashboard .right-header h4 {
    font-size: 1.5rem;
  }
  header.login {
    padding-left: 0;
    margin: 0 60px;
  }
  .dashboard-content aside {
    position: relative;
    width: 0;
    padding: 0;
  }
  .dashboard-content aside .burg_nav {
    display: block;
    position: fixed;
    width: 34px;
    text-align: right;
    cursor: pointer;
    float: right;
    cursor: pointer;
    left: 30px;
    z-index: 989;
    top: 35px;
  }
  .dashboard-content aside .burg_nav span {
    display: block;
    width: 100%;
    height: 4px;
    float: right;
    margin-bottom: 7px;
    border-radius: 20px;
    background: #82b93b;
    background: -moz-linear-gradient(135deg, #088439 0%, #82b93b 100%);
    background: -webkit-linear-gradient(135deg, #088439 0%, #82b93b 100%);
    background: linear-gradient(135deg, #088439 0%, #82b93b 100%);
  }
  .dashboard-content aside.bg {
    z-index: 899;
  }
  .dashboard-content aside.bg .burg_nav {
    left: 275px;
    top: 35px;
  }
  .dashboard-content aside.bg .burg_nav span:nth-child(1) {
    position: absolute;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .dashboard-content aside.bg .burg_nav span:nth-child(2) {
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .dashboard-content aside.bg .burg_nav span:last-child {
    opacity: 0;
  }
  .dashboard-content aside .menu-mobile {
    position: fixed;
    top: 0px;
    left: 0;
    right: auto;
    background: #fff;
    z-index: 899;
    display: none;
    height: 100%;
    width: 342px;
    box-sizing: border-box;
    overflow: auto;
    margin-top: 0;
  }
  .dashboard-content aside .menu-mobile nav a {
    padding-left: 115px;
  }
  .dashboard-content aside .menu-mobile nav a img {
    left: 70px;
  }
  .dashboard-content aside .menu-mobile nav a.active:before, .dashboard-content aside .menu-mobile nav a:hover:before {
    opacity: 1;
    right: calc(100% - 110px);
  }
  .dashboard-content aside .menu-mobile .foot {
    margin: 0 60px 65px;
  }
  .dashboard-content aside .account {
    margin: 60px 0 35px 0;
  }
  .dashboard-content aside .account .logo-mobile {
    display: block;
  }
  .dashboard-content aside .account .logo-mobile img {
    width: 123px;
    height: auto;
    margin-bottom: 3.5rem;
  }
  .dashboard-content aside .account .link {
    font-size: 1.6rem;
  }
  .dashboard-content aside .account figure {
    height: 90px;
    width: 90px;
  }
  .dashboard-content .content-right {
    width: 100%;
    padding: 0 30px;
    padding-top: 140px;
    box-sizing: border-box;
    margin-bottom: 55px;
  }
  .nav-overlay {
    z-index: 8;
    background: #000;
    opacity: 0.5;
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0px;
  }
  .wrap-popup .box-popup {
    margin: 15% 2rem;
    padding: 3rem;
  }
  .wrap-popup .box-popup .container {
    padding: 0;
  }
  .wrap-popup .box-popup .row .column.column-50 {
    width: 100%;
    max-width: unset;
  }
  .wrap-popup .box-popup label {
    font-size: 1.4rem;
  }
  .wrap-popup .box-popup h6 {
    font-size: 1.6rem;
  }
}

@media all and (max-width: 1280px) {
  .sign-layout .wrapper {
    padding: 105px 0 60px;
    margin: 0 60px;
  }
  .sign-layout .form-login.column.column-35 {
    max-width: unset;
    flex: unset;
  }
  .sign-layout .caption {
    left: 6rem;
    width: 40rem;
  }
  .sign-layout .caption h2 {
    font-size: 2.8rem;
  }
  .sign-layout .caption p {
    font-size: 2rem;
  }
  .sign-layout .tab-login a {
    font-size: 1.8rem;
    height: 70px;
    line-height: 7rem;
  }
}

@media all and (max-width: 1023px) {
  .sign-layout .wrapper {
    margin: 0 60px;
    padding-top: 35rem;
  }
  .sign-layout .caption {
    position: relative;
    width: 100%;
    bottom: unset;
    left: unset;
    top: unset;
    right: unset;
    align-self: unset;
    margin-bottom: 4rem;
  }
  .sign-layout .caption h2 {
    font-size: 2rem;
    margin-bottom: 0;
  }
  .sign-layout .row {
    display: block;
  }
  .sign-layout .row .form-login {
    width: 100%;
    max-width: unset;
    padding: 0 25px 60px;
  }
  .sign-layout .row.row-center .column-50 {
    float: left;
  }
  .sign-layout .row.row-center .forgot-link {
    float: right;
  }
  .sign-layout .row .column-48 {
    float: left;
    margin-bottom: 2rem;
  }
  .sign-layout .tab-login {
    margin: 0 -50px 15px;
  }
  .sign-layout .tab-login a {
    font-size: 1.5rem;
    height: 6rem;
    line-height: 6rem;
  }
  .sign-layout .tab-login a img {
    width: 22px;
  }
  .sign-layout .form label {
    font-size: 1.3rem;
  }
  .sign-layout .foot {
    font-size: 1.2rem;
    margin-top: 6rem;
  }
  .wrap-popup.otp-popup .box-popup {
    width: auto;
    margin: 5% 25px;
    padding: 70px 30px;
  }
  .wrap-popup.otp-popup .box-popup h4 {
    font-size: 1.8rem;
  }
  .wrap-popup.otp-popup .box-popup p {
    font-size: 1.6rem;
  }
  .wrap-popup.otp-popup .box-popup .otp {
    margin: 15px 20px;
  }
  .wrap-popup.otp-popup .box-popup .otp input {
    width: 40px;
    height: 40px;
    margin-right: 5px;
  }
  .wrap-popup.otp-popup .box-popup .otp input:last-child {
    margin-right: 0;
  }
  .wrap-popup.otp-popup .box-popup button {
    width: 100%;
  }
}

@media all and (max-width: 1280px) {
  .box-rounded .title-box-rounded {
    padding: 3rem;
    padding-bottom: 0;
  }
  .box-rounded .title-box-rounded .button {
    text-transform: none;
  }
  .box-rounded .content-box-rounded {
    padding: 3rem;
  }
  .row-white-rounde > .column .inner-column {
    padding: 3rem;
  }
  .grey-text {
    font-size: 1.5rem;
  }
  .row-value > .column > img {
    margin-right: 1rem;
  }
  .slider-dashboard .list-slide figcaption {
    font-size: 1.8rem;
  }
}

@media all and (max-width: 1280px) {
  .form.account-form {
    padding: 40px 35px;
  }
}

@media all and (max-width: 1280px) {
  .title-tab .text h5 {
    font-size: 18px;
    margin-bottom: 5px;
    line-height: normal;
  }
  .title-tab .text p {
    font-size: 1.5rem;
    line-height: normal;
  }
}

@media all and (max-width: 1280px) {
  .misc-layout .wrapper {
    margin: 0 6rem;
  }
}

/* pages responsive mobile
----------------------------------------------------------------------------------------------*/
@media all and (max-width: 767px) {
  header {
    padding-left: 0;
  }
  header.login {
    text-align: center;
    position: absolute;
  }
  header.login .logo {
    width: 128px;
  }
  header.dashboard {
    height: 60px;
  }
  header.dashboard .logo {
    width: 100%;
  }
  header.dashboard .logo img {
    height: 39px;
    width: auto;
    margin-top: 10px;
  }
  header.dashboard .right-header {
    position: absolute;
    top: 60px;
    width: 100%;
    border-radius: 0 0 5rem 5rem;
    padding: 0 3rem;
  }
  header.dashboard .right-header .lang {
    display: none;
  }
  header.dashboard .right-header h4 {
    font-size: 15px;
    line-height: 25px;
    margin: 0 auto;
    padding: 1rem 0;
  }
  header.dashboard .notifications {
    display: none;
    position: absolute;
    right: 0;
    top: 15px;
  }
  header.dashboard .notifications:before {
    color: #fff;
  }
  header.dashboard .notifications.mobile-only {
    display: block;
  }
  header.dashboard .notifications .dropdown {
    width: calc(100vw - 20px);
    right: -19px;
    max-height: 478px;
  }
  .dashboard-content aside {
    position: relative;
    width: 0;
    padding: 0;
  }
  .dashboard-content aside .burg_nav {
    top: 2rem;
  }
  .dashboard-content .content-right {
    width: 100%;
    padding: 0 30px;
    /*padding-top: 165px; */
    padding-top: 125px;
    box-sizing: border-box;
    margin-bottom: 55px;
  }
  .nav-overlay {
    z-index: 8;
    background: #000;
    opacity: 0.5;
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0px;
  }
  .button.button-outline, button.button-outline, input[type='button'].button-outline, input[type='reset'].button-outline, input[type='submit'].button-outline {
    height: 40px;
    line-height: 33px;
  }
  .info-text {
    text-align: center;
  }
  .info-text p {
    font-size: 1.5rem;
  }
  .accordion .list-accordion {
    margin-bottom: 1rem;
  }
  .accordion .list-accordion .head-accordion h6 {
    font-size: 1.6rem;
  }
  .accordion .content-accordion {
    font-size: 1.5rem;
  }
  .side-img.v2 {
    display: block;
  }
  .side-img.v2 .text-side-img span {
    font-size: 1.4rem;
    line-height: 15px;
  }
  .side-img.v2 > img {
    margin: 0 auto;
    margin-bottom: 5px;
    border-radius: 100%;
  }
  .row-claim {
    display: flex;
    text-align: center;
    flex-direction: row;
  }
  .row-claim .column.column-25 {
    width: 25%;
    vertical-align: text-top;
    text-align: center;
    max-width: 25%;
    margin-bottom: 1rem;
  }
  .row-claim .column .side-img .text-side-img span {
    font-size: 1.2rem;
  }
  .row-claim .column .side-img.v2 > div {
    justify-content: center;
  }
  .box-white {
    padding: 2rem;
    /* .form {
            .row {
                padding-bottom: 1rem; flex-direction: row;
                .column {
                    h6 {margin: 0;}
                    &.column-50 {
                        width: 60%; max-width: 60%;
                        flex: 0 0 60%;
                        margin:0 0 1rem 0;
                        &:nth-child(2) {
                            width: 40%; max-width: 40%;
                            flex: 0 0 40%;
                        } 
                    }
                }
            }
        } */
  }
  .box-white .container {
    padding: 0;
  }
  .box-white .row {
    margin-bottom: 0;
  }
  .box-white .row .column.column-50, .box-white .row .column.column-40 {
    width: 100%;
    max-width: unset;
  }
  .box-white h5 {
    font-size: 1.6rem;
  }
  .box-white h6 {
    font-size: 1.5rem;
  }
  .box-white .result {
    padding: 3rem 2rem;
    margin: 0 0 10px 0;
    border-radius: 0;
  }
  .box-white .result h5 b {
    color: #fff;
  }
  .box-white .result .row {
    margin-bottom: 0;
  }
  .box-white .result .column {
    margin-bottom: 1rem;
  }
  .box-white .result .column.column-30.column-offset-20 {
    width: 100%;
    max-width: unset;
    margin-left: 0;
  }
  .box-white .result.form label {
    margin-bottom: 5px;
  }
  .form label.info {
    padding-left: 0;
  }
  .form .row .column {
    margin: 1rem 0;
  }
  .wrap-tabing .content-tab {
    padding: 25px 0px 0px;
  }
  .box-white.nobottom-radius .container.form {
    padding: 0;
  }
  .form.bg-blue {
    padding: 3rem 2rem;
  }
  .form.bg-blue .row {
    margin-bottom: 1rem;
  }
  .form.bg-blue .row .column.column-50, .form.bg-blue .row .column.column-40 {
    width: 100%;
    max-width: unset;
  }
  .date-text {
    margin-bottom: 1rem;
  }
  .grey-text {
    line-height: normal;
  }
  input[type='email'], input[type='number'], input[type='password'], input[type='search'], input[type='tel'], input[type='text'], input[type='url'], textarea, select {
    height: 40px;
    padding: .6rem 15px;
  }
  .input-file, .multiple-upload {
    height: 40px !important;
  }
  .input-file > span, .multiple-upload > span {
    height: 40px;
    line-height: 40px;
  }
  .wrap-table {
    /* &.custom-mobile {
            .action-table {
                &:before {display:none;} 
            }
        } */
  }
  .wrap-table.blue-bordered {
    height: auto;
    max-height: none;
  }
  .wrap-table.blue-bordered tbody tr:last-child {
    padding-bottom: 0;
  }
  .wrap-table.blue-bordered tbody tr.active {
    border: 2px solid #2E6CC3;
  }
  .wrap-table.blue-bordered tbody tr.active td {
    border: 0;
  }
  .wrap-table.blue-bordered tbody tr.active td:first-child {
    border-left: 0;
  }
  .wrap-table.blue-bordered tbody tr.active td:last-child:after {
    display: none;
  }
  .to {
    font-size: 1.4rem;
    position: relative;
    width: 100%;
    display: block;
    left: 0;
    margin-left: 0;
    bottom: 0;
  }
  .to:before {
    display: none;
  }
  .startdate .column:last-child {
    margin-top: 0;
  }
  .startdate .column:last-child label {
    display: none;
  }
  .lang-mobile {
    display: block;
    margin: 0 60px 65px 60px;
  }
  .lang-mobile a {
    color: #757575;
    padding-right: 1px;
    font-size: 1.4rem;
  }
  .lang-mobile a.active {
    color: #023880;
    font-weight: bold;
  }
  .lang-mobile a:last-child {
    padding-left: 1px;
    padding-right: 0;
  }
  .row-success {
    width: auto;
  }
  .row-success figure {
    width: 75%;
    margin: 0 auto 20px auto;
  }
  .floating-notif {
    right: 10px;
    bottom: 25px;
  }
  .floating-notif .notif-icon {
    width: 60px;
    height: 61px;
    background-size: 100%;
  }
  .floating-notif .notif-icon span {
    font-size: 11px;
    padding-top: 20px;
  }
  .floating-notif .notif-text {
    width: 345px;
    max-height: 360px;
    bottom: 75px;
    right: 5px !important;
    padding: 35px 0px 35px 25px;
  }
  .floating-notif .notif-text:after {
    display: none;
  }
  .floating-notif .notif-text .wrap-table td {
    padding: 7px 5px;
  }
  input.password.error,
  input[type='password'].error {
    background-position: calc(100% - 42px);
  }
}

@media all and (max-width: 463px) {
  .popup .popup-inner {
    width: auto;
    border-radius: unset;
  }
  .popup .popup-inner .top-side {
    padding: 30px 0;
    border-top-left-radius: unset;
    border-top-right-radius: unset;
  }
  .popup .popup-inner .bottom-side {
    padding: 25px 30px;
  }
}

@media all and (max-width: 350px) {
  .floating-notif .notif-text {
    width: 310px;
    right: -5px !important;
    padding: 35px 0px 35px 15px;
  }
}

@media only screen and (min-device-width: 320px) and (max-device-width: 560px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) {
  header.dashboard .notifications .dropdown {
    max-height: 235px;
  }
  .floating-notif .notif-text {
    right: 75px !important;
    bottom: 0px;
    max-height: 275px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .box-rounded .content-box-rounded .scroll-box {
    min-height: 9rem;
    height: 9rem;
  }
  input.password.error,
  input[type='password'].error {
    background-position: calc(100% - 45px);
  }
}

@media all and (max-width: 767px) {
  .sign-layout .wrapper {
    margin: 0 15px;
    padding-top: 168px;
  }
  .sign-layout .caption {
    position: relative;
    width: 100%;
    bottom: unset;
    left: unset;
    top: unset;
    right: unset;
    align-self: unset;
    text-align: center;
  }
  .sign-layout .caption p {
    display: none;
  }
  .sign-layout .caption h2 {
    font-size: 1.8rem;
  }
  .sign-layout .row {
    display: block;
    justify-content: space-between;
    /*.column-48{float: left; width: 100%; max-width: unset;}*/
  }
  .sign-layout .row .form-login {
    width: 100%;
    max-width: unset;
    padding: 0 25px 60px;
  }
  .sign-layout .row.row-center .column-50 {
    float: left;
  }
  .sign-layout .row.row-center .forgot-link {
    float: right;
  }
  .sign-layout .tab-login {
    margin: 0 -50px 15px;
  }
  .sign-layout .tab-login a {
    font-size: 1.5rem;
    height: 6rem;
    line-height: 6rem;
  }
  .sign-layout .tab-login a img {
    width: 22px;
  }
  .sign-layout .form label {
    font-size: 1.3rem;
    margin-bottom: 5px;
  }
  .sign-layout .form .toggle-password {
    right: 15px;
  }
  .sign-layout form .row {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    margin-bottom: 10px;
    margin-left: 0;
    width: 100%;
  }
  .sign-layout form .row .column {
    padding: 0;
  }
  .sign-layout form .row .column-48 {
    float: none;
  }
  .sign-layout form .row.row-btn {
    margin-top: 0;
  }
  .sign-layout input[type='email'], .sign-layout input[type='number'], .sign-layout input[type='password'], .sign-layout input[type='search'], .sign-layout input[type='tel'], .sign-layout input[type='text'], .sign-layout input[type='url'], .sign-layout textarea, .sign-layout select {
    font-size: 1.4rem;
  }
  .sign-layout .button, .sign-layout button, .sign-layout input[type='button'], .sign-layout input[type='reset'], .sign-layout input[type='submit'] {
    font-size: 1.3rem;
  }
  .sign-layout input[type='password'] {
    padding-right: 40px;
  }
  .sign-layout .sign-radio {
    height: auto;
    position: relative;
    margin-bottom: 20px;
  }
  .sign-layout .sign-radio figure {
    width: 34px;
    height: 34px;
    margin: 23px 13px;
    margin: 15px 13px;
  }
  .sign-layout .sign-radio figure img {
    width: 18px;
  }
  .sign-layout .sign-radio span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    left: 50px;
  }
  .sign-layout .foot {
    font-size: 1.2rem;
    margin-top: 1rem;
  }
  .wrap-popup.otp-popup .box-popup {
    width: auto;
    margin: 5% 25px;
    padding: 70px 30px;
  }
  .wrap-popup.otp-popup .box-popup h4 {
    font-size: 1.8rem;
  }
  .wrap-popup.otp-popup .box-popup p {
    font-size: 1.6rem;
  }
  .wrap-popup.otp-popup .box-popup .otp {
    margin: 15px 20px;
  }
  .wrap-popup.otp-popup .box-popup .otp input {
    width: 30px;
    height: 30px;
    margin-right: 5px;
    font-size: 1.5rem;
  }
  .wrap-popup.otp-popup .box-popup .otp input:last-child {
    margin-right: 0;
  }
  .wrap-popup.otp-popup .box-popup button {
    width: 100%;
    font-size: 1.4rem;
  }
}

@media all and (max-width: 767px) {
  .box-rounded {
    margin-bottom: 2rem;
  }
  .box-rounded .title-box-rounded {
    padding: 1.5rem;
  }
  .box-rounded .title-box-rounded .right-title {
    width: 20%;
  }
  .box-rounded .title-box-rounded .right-title a {
    font-size: 12px;
    line-height: 15px;
    display: block;
    font-weight: 700;
    text-transform: uppercase;
  }
  .box-rounded .content-box-rounded {
    padding: 2rem 1rem;
    position: relative;
  }
  .box-rounded .content-box-rounded .row {
    margin-bottom: 10px;
  }
  .box-rounded .content-box-rounded .row .column.col-name {
    position: relative;
  }
  .box-rounded .content-box-rounded .row .column.col-name h5 {
    padding-right: 120px;
  }
  .box-rounded .content-box-rounded .row .column.col-name .grey-text {
    padding-right: 120px;
  }
  .box-rounded .content-box-rounded .row .column.col-name .button {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    margin-bottom: auto;
    margin-top: auto;
  }
  .box-rounded .content-box-rounded .row .column-50 {
    width: 100%;
    max-width: unset;
    padding: .8rem .5rem;
    margin-bottom: 0;
  }
  .box-rounded .content-box-rounded .row .column-50 .left-mob {
    float: left;
    margin-right: 1rem;
  }
  .box-rounded .content-box-rounded .row .column-50 .right-mob {
    float: right;
  }
  .box-rounded .content-box-rounded .row.row-line-space {
    padding: 1rem;
    margin-bottom: 0;
  }
  .box-rounded .content-box-rounded .row.row-line-space .column {
    border-right: 0;
  }
  .box-rounded .content-box-rounded .row.row-line-space .column-50 {
    padding: 1rem 1rem;
  }
  .box-rounded .content-box-rounded br {
    height: 0;
    display: none;
  }
  .box-rounded .content-box-rounded .scroll-box {
    min-height: 8.7rem;
    margin-bottom: 0px;
  }
  .box-rounded .content-box-rounded .scroll-box p {
    font-size: 1.4rem;
    line-height: 2.0rem;
    margin-bottom: 1rem;
  }
  .box-rounded .content-box-rounded table tr td {
    font-size: 1.4rem;
  }
  .box-rounded .note-progress {
    margin-bottom: -15px;
  }
  .box-rounded.detail-kontrak .title-box-rounded {
    display: block;
  }
  .mCSB_inside > .mCSB_container {
    margin-right: 22px;
  }
  .box-progress-rounded .content-progress-rounded {
    padding: 1.5rem 2rem;
    display: block;
  }
  .box-progress-rounded .content-progress-rounded .col {
    margin-right: 7%;
    width: 9%;
    display: inline-block;
    margin-bottom: 15px;
  }
  .box-progress-rounded .content-progress-rounded .col:nth-child(6n+6) {
    margin-right: 0;
  }
  .box-progress-rounded .content-progress-rounded .col span {
    margin-bottom: 0;
    font-size: 1.3rem;
  }
  .note-progress > span {
    font-size: 1.2rem;
    margin-right: 0.5rem;
    display: inline;
  }
  .slider-dashboard .list-slide figure {
    height: 280px;
  }
  .slider-dashboard .list-slide figure img {
    height: 100%;
    overflow: hidden;
    object-fit: cover;
  }
  .slider-dashboard .list-slide figcaption {
    width: auto;
    margin: 0 10px;
    padding: 1.5rem 3rem 4rem;
    font-size: 1.3rem;
    line-height: 1.3;
    right: 10px;
  }
  .slider-dashboard .slick-dots {
    right: 3.5rem;
    height: 1rem;
    bottom: 1.2rem;
  }
  .accordion-button {
    font-size: 1.2rem;
  }
  .side-img {
    min-height: unset;
  }
  .side-img > img {
    width: 43px;
    top: 0;
    display: block;
  }
  .side-img .text-side-img span {
    font-size: 12px;
  }
  .side-img .text-side-img h5 {
    font-size: 14px;
  }
  /*.box-rounded .title-box-rounded{display: block;}*/
  .box-rounded .title-box-rounded .right-title {
    width: 100%;
    margin-top: 15px;
    text-align: right;
  }
  .box-rounded .title-box-rounded .right-title .button {
    width: 100%;
    display: flex;
    justify-content: space-between;
    min-height: 45px;
    align-items: center;
  }
  .box-rounded .title-box-rounded .right-title .button span {
    display: inline-flex;
    margin-bottom: 0;
  }
  .box-rounded .title-box-rounded .right-title .button h5 {
    display: inline-flex;
  }
  .box-rounded.dashboard .right-title {
    width: 25%;
  }
  /* .detail-kontrak .title-box-rounded .left-title{width: 100%; margin-top: 15px; display: block;} */
  .box-rounded .title-box-rounded .left-title {
    justify-content: space-between;
  }
  .box-rounded .title-box-rounded .left-title .button {
    margin-left: 0;
    padding: 0.5rem 1.5rem;
    font-size: 1.5rem;
    line-height: 2.5rem;
    height: 35px;
    margin-top: 1.5rem;
    width: 80px;
  }
  .box-rounded .title-box-rounded .left-title .side-img {
    padding-left: 4.6rem;
  }
  .box-rounded .title-box-rounded .left-title .side-img > img {
    margin-left: -4px;
  }
  .row-white-rounded > .column.column-33, .row-line-space > .column.column-50, .row-white-rounded > .column.column-66, .box-rounded .content-box-rounded .row .column.column-33 {
    width: 100%;
    max-width: unset;
    margin-bottom: .8rem;
  }
  .row-white-rounded > .column > .inner-column h5 {
    margin-bottom: 0;
    font-size: 1.6rem;
  }
  .row-white-rounded > .column > .inner-column br {
    display: none;
  }
  .wrap-table {
    overflow: scroll;
  }
  .row-white-rounded a.button {
    padding: 0.5rem 1.5rem;
    font-size: 1.5rem;
    line-height: 2.5rem;
    height: 35px;
    text-transform: unset;
    width: 100%;
  }
  .row-white-rounded > .column > .inner-column h6 {
    margin-bottom: 0;
    font-size: 1.6rem;
  }
  .row-line-space > .column {
    padding-top: 1.5rem;
  }
  .row-white-rounded > .column > .inner-column {
    padding: 1.5rem;
  }
  .row-white-rounded > .column > .inner-column::after {
    clear: both;
    display: block;
    content: " ";
  }
  .row-white-rounded > .column > .inner-column .left-mob {
    float: left;
  }
  .row-white-rounded > .column > .inner-column .right-mob {
    float: right;
  }
  .box-rounded .content-box-rounded .row-bg-grey .column {
    padding: 1.0rem 1.5rem;
    padding-bottom: 1rem;
  }
  .box-rounded .content-box-rounded .row-bg-grey .column .side-img.v2 > img {
    margin: 0;
    width: 25px;
    margin-bottom: 1rem;
  }
  .box-rounded .content-box-rounded .row-bg-grey .column .text-side-img {
    margin-top: 5px;
  }
  .box-rounded .content-box-rounded .row-bg-grey .column .blue-text {
    margin-left: 3.0rem;
  }
  .box-rounded .content-box-rounded .row-bg-grey .column .side-img.v2 img {
    margin-right: 0;
  }
  .box-rounded .content-box-rounded .row-bg-grey .column .left-mob {
    margin-right: .5rem;
  }
  .box-rounded .content-box-rounded .row-bg-grey .column:last-child {
    padding-top: 0;
  }
  .box-rounded .content-box-rounded .row-bg-grey .column:first-child {
    padding-bottom: 0;
  }
  .text-row-value {
    width: 100%;
  }
  .text-row-value .left-mob {
    float: left;
    width: 80%;
  }
  .text-row-value .right-mob {
    float: right;
    width: 20%;
    margin-top: 2.5rem;
  }
  .custom-mobile table {
    border: 0;
  }
  .custom-mobile table caption {
    font-size: 1.3em;
  }
  .custom-mobile table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  .custom-mobile table tr {
    display: block;
    padding: 2.5rem 0;
  }
  .custom-mobile table tr:nth-child(odd) {
    background: #E6EBF5;
  }
  .custom-mobile table tr:nth-child(even) {
    background: #fff;
  }
  .custom-mobile table td {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: right;
    padding: 0.5rem 1.5rem;
  }
  .custom-mobile table td::before {
    /*
            * aria-label has no advantage, it won't be read inside a table
            content: attr(aria-label);
            */
    content: attr(data-label);
    float: left;
    color: #818181;
    font-size: 1.4rem;
  }
  .custom-mobile table td:last-child {
    border-bottom: 0;
  }
  .custom-mobile table td:last-child, .custom-mobile th:last-child {
    padding-right: 1.5rem;
  }
  .wrap-table.blue-bordered thead {
    display: none;
  }
  .wrap-table.table-head {
    margin-bottom: 0;
  }
  .notif-inline {
    font-size: 1.3rem;
    padding-right: 6.2rem;
  }
}

@media all and (max-width: 767px) {
  .form.account-form {
    padding: 25px;
  }
  .form.account-form .row .column.column-49 {
    width: 100%;
    max-width: unset;
  }
  .form.account-form .row .column.column-offset-2 {
    margin: 0;
    margin-top: 2rem;
  }
  .title-account {
    display: block;
  }
}

@media all and (max-width: 767px) {
  .title-tab figure {
    max-width: 26px;
    margin-right: 25px;
  }
  .title-tab h5 {
    font-size: 1.6rem;
    line-height: 1.9rem;
    margin-bottom: 7px;
  }
  .title-tab p {
    font-size: 1.5rem;
    line-height: 1.9rem;
    margin-bottom: 0;
  }
  .max-limit {
    flex-direction: column;
  }
  .max-limit h6 {
    width: 100%;
    margin-bottom: .5rem;
  }
  .max-limit h5 {
    width: 100%;
    margin: 0;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImhlbHBlci9zYXNzLWxpYi5zY3NzIiwiYm91cmJvbi9fYm91cmJvbi5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fcHJlZml4ZXIuc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi1pbnB1dHMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGlnaHQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19zaGFkZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3RyYW5zaXRpb24tcHJvcGVydHktbmFtZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsImJvdXJib24vaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsImJvdXJib24vaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsImJvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsImJvdXJib24vaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLCJib3VyYm9uL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19jYWxjLnNjc3MiLCJib3VyYm9uL2NzczMvX2NvbHVtbnMuc2NzcyIsImJvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJib3VyYm9uL2NzczMvX2ZvbnQtZmFjZS5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsImJvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsImJvdXJib24vY3NzMy9faHlwaGVucy5zY3NzIiwiYm91cmJvbi9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsImJvdXJib24vY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJib3VyYm9uL2NzczMvX2xpbmVhci1ncmFkaWVudC5zY3NzIiwiYm91cmJvbi9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwiYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwiYm91cmJvbi9jc3MzL19yYWRpYWwtZ3JhZGllbnQuc2NzcyIsImJvdXJib24vY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL190cmFuc2Zvcm0uc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci1jb2xvci5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItd2lkdGguc2NzcyIsImJvdXJib24vYWRkb25zL19idXR0b25zLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsImJvdXJib24vYWRkb25zL19lbGxpcHNpcy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fbWFyZ2luLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcGFkZGluZy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsImJvdXJib24vYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsImJvdXJib24vYWRkb25zL19zaXplLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdGV4dC1pbnB1dHMuc2NzcyIsImJvdXJib24vYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsImJvdXJib24vYWRkb25zL193b3JkLXdyYXAuc2NzcyIsImJvdXJib24vX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwiaGVscGVyL2ZsZXhib3guc2NzcyIsIm1pbGxpZ3JhbS9taWxsaWdyYW0uc2NzcyIsIm1pbGxpZ3JhbS9fQ29sb3Iuc2NzcyIsIm1pbGxpZ3JhbS9fQmFzZS5zY3NzIiwibWlsbGlncmFtL19CbG9ja3F1b3RlLnNjc3MiLCJtaWxsaWdyYW0vX0J1dHRvbi5zY3NzIiwibWlsbGlncmFtL19Db2RlLnNjc3MiLCJtaWxsaWdyYW0vX0RpdmlkZXIuc2NzcyIsIm1pbGxpZ3JhbS9fRm9ybS5zY3NzIiwibWlsbGlncmFtL19HcmlkLnNjc3MiLCJtaWxsaWdyYW0vX0xpbmsuc2NzcyIsIm1pbGxpZ3JhbS9fTGlzdC5zY3NzIiwibWlsbGlncmFtL19TcGFjaW5nLnNjc3MiLCJtaWxsaWdyYW0vX1RhYmxlLnNjc3MiLCJtaWxsaWdyYW0vX1R5cG9ncmFwaHkuc2NzcyIsIm1pbGxpZ3JhbS9fSW1hZ2Uuc2NzcyIsIm1pbGxpZ3JhbS9fVXRpbGl0eS5zY3NzIiwicGFnZXMvX2dlbmVyYWwuc2NzcyIsInBhZ2VzL19sb2dpbi5zY3NzIiwicGFnZXMvX3RvcHVwLnNjc3MiLCJwYWdlcy9fZGFzaGJvYXJkLnNjc3MiLCJwYWdlcy9fYWNjb3VudC5zY3NzIiwicGFnZXMvX21pc2Muc2NzcyIsInBhZ2VzX2Rlc2t0b3AvX2dlbmVyYWwuc2NzcyIsInBhZ2VzX3RhYmxldC9fZ2VuZXJhbC5zY3NzIiwicGFnZXNfdGFibGV0L19sb2dpbi5zY3NzIiwicGFnZXNfdGFibGV0L19kYXNoYm9hcmQuc2NzcyIsInBhZ2VzX3RhYmxldC9fYWNjb3VudC5zY3NzIiwicGFnZXNfdGFibGV0L190b3B1cC5zY3NzIiwicGFnZXNfdGFibGV0L19taXNjLnNjc3MiLCJwYWdlc19tb2JpbGUvX2dlbmVyYWwuc2NzcyIsInBhZ2VzX21vYmlsZS9fbG9naW4uc2NzcyIsInBhZ2VzX21vYmlsZS9fZGFzaGJvYXJkLnNjc3MiLCJwYWdlc19tb2JpbGUvX2FjY291bnQuc2NzcyIsInBhZ2VzX21vYmlsZS9fdG9wdXAuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgQ29tcGFueSAgICA6IFBUIFdlYiBBcmNoaXRlY3QgVGVjaG5vbG9neSAtIHdlYmFycS5jb21cclxuICAgIERvY3VtZW50ICAgOiBTdHlsZXNoZWV0XHJcbiAgICBBdXRob3IgICAgIDogWW91ciBOYW1lXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1MYXRvOndnaHRAMzAwOzQwMDs3MDA7OTAwJmRpc3BsYXk9c3dhcCcpO1xyXG5AaW1wb3J0IFwiaGVscGVyL3Nhc3MtbGliXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXIvZmxleGJveFwiO1xyXG5cclxuLyogbWlsbGlncmFtXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwibWlsbGlncmFtL21pbGxpZ3JhbVwiO1xyXG5cclxuLyogcGFnZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJwYWdlcy9nZW5lcmFsXCI7IFxyXG5AaW1wb3J0IFwicGFnZXMvbG9naW5cIjtcclxuQGltcG9ydCBcInBhZ2VzL3RvcHVwXCI7XHJcbkBpbXBvcnQgXCJwYWdlcy9kYXNoYm9hcmRcIjtcclxuQGltcG9ydCBcInBhZ2VzL2FjY291bnRcIjtcclxuQGltcG9ydCBcInBhZ2VzL21pc2NcIjsgIFxyXG5cclxuLyogcGFnZXMgcmVzcG9uc2l2ZSBkZXNrdG9wXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwicGFnZXNfZGVza3RvcC9nZW5lcmFsXCI7XHJcblxyXG4vKiBwYWdlcyByZXNwb25zaXZlIHRhYmxldFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcInBhZ2VzX3RhYmxldC9nZW5lcmFsXCI7XHJcbkBpbXBvcnQgXCJwYWdlc190YWJsZXQvbG9naW5cIjtcclxuQGltcG9ydCBcInBhZ2VzX3RhYmxldC9kYXNoYm9hcmRcIjtcclxuQGltcG9ydCBcInBhZ2VzX3RhYmxldC9hY2NvdW50XCI7XHJcbkBpbXBvcnQgXCJwYWdlc190YWJsZXQvdG9wdXBcIjtcclxuQGltcG9ydCBcInBhZ2VzX3RhYmxldC9taXNjXCI7XHJcblxyXG4vKiBwYWdlcyByZXNwb25zaXZlIG1vYmlsZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcInBhZ2VzX21vYmlsZS9nZW5lcmFsXCI7XHJcbkBpbXBvcnQgXCJwYWdlc19tb2JpbGUvbG9naW5cIjtcclxuQGltcG9ydCBcInBhZ2VzX21vYmlsZS9kYXNoYm9hcmRcIjtcclxuQGltcG9ydCBcInBhZ2VzX21vYmlsZS9hY2NvdW50XCI7XHJcbkBpbXBvcnQgXCJwYWdlc19tb2JpbGUvdG9wdXBcIjsiLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVx0XHJcbiAgICBDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG4gICAgRG9jdW1lbnQgICA6IFN0eWxlc2hlZXRcclxuICAgIEF1dGhvciAgICAgOiBGcm9udEVuZCBUZWFtICBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4vKiBpbXBvcnQgYm91cmJvbiAtIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MgKi9cclxuQGltcG9ydCBcImJvdXJib24vYm91cmJvblwiO1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJGF0dHIpe1xyXG4gICAgdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1vLXRyYW5zaXRpb246ICRhdHRyO1xyXG59XHJcbkBtaXhpbiB0cmFuc2Zvcm0oJGF0dHIpe1xyXG4gICAgdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLW8tdHJhbnNmb3JtOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm9yZGVyUmFkaXVzKCRhdHRyKXtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtby1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm94U2hhZG93KCRhdHRyKXtcclxuICAgIGJveC1zaGFkb3c6ICAkYXR0cjtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW1zLWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW8tYm94LXNoYWRvdzogJGF0dHJcclxufVxyXG5AbWl4aW4gYm94U2l6aW5nKCRhdHRyKXtcclxuICAgIGJveC1zaXppbmc6ICAkYXR0cjtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW1zLWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW8tYm94LXNpemluZzogJGF0dHJcclxufVxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgIDotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcbkBtaXhpbiB0cmFuc2Zvcm1vcmlnaW4oJGF0dHIpe1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkYXR0cjtcclxuICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJGF0dHI7XHJcbiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiAkYXR0cjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46ICRhdHRyO1xyXG59XHJcbkBtaXhpbiBvcGFjaXR5KCR2YWx1ZSl7XHJcbiAgJElFVmFsdWU6ICR2YWx1ZSoxMDA7XHJcbiAgb3BhY2l0eTogJHZhbHVlO1xyXG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9XCIrJElFVmFsdWUrXCIpXCI7XHJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRJRVZhbHVlKTtcclxufVxyXG5AbWl4aW4gYWZ0ZXJjbGVhcntcclxuICAgICY6YWZ0ZXJ7IGNvbnRlbnQ6Jyc7IGRpc3BsYXk6IGJsb2NrOyBjbGVhcjogYm90aDsgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qIGNvbG9yIGdsb2JhbFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuJGNfMTExOiAjMTExO1xyXG4kY18zMzM6ICMzMzM7XHJcbiRjXzY2NjogIzY2NjtcclxuJGNfOTk5OiAjOTk5O1xyXG4kY19lYTogI2VhZWFlYTtcclxuIiwiLy8gQm91cmJvbiA0LjIuN1xyXG4vLyBodHRwOi8vYm91cmJvbi5pb1xyXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE1IHRob3VnaHRib3QsIGluYy5cclxuLy8gTUlUIExpY2Vuc2VcclxuXHJcbkBpbXBvcnQgXCJzZXR0aW5ncy9wcmVmaXhlclwiO1xyXG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcclxuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XHJcblxyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zLWZhbHN5XCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGlnaHRcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1udW1iZXJcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcclxuXHJcbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xyXG5cclxuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcclxuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcclxuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcclxuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcclxuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcclxuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9oaWRwaS1tZWRpYS1xdWVyeVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcclxuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XHJcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcclxuQGltcG9ydCBcImNzczMvdGV4dC1kZWNvcmF0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xyXG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XHJcblxyXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1yYWRpdXNcIjtcclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItc3R5bGVcIjtcclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcclxuQGltcG9ydCBcImFkZG9ucy9idXR0b25zXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcclxuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtc3RhY2tzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvaGlkZS10ZXh0XCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcGFkZGluZ1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3Bvc2l0aW9uXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcclxuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcclxuQGltcG9ydCBcImFkZG9ucy9zaXplXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcclxuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdHJpYW5nbGVcIjtcclxuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcclxuXHJcbkBpbXBvcnQgXCJib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmdcIjtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIG9yIGRpc2FibGUgdmVuZG9yIHByZWZpeGVzXHJcblxyXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLW1vemlsbGE6ICAgdHJ1ZSAhZGVmYXVsdDtcclxuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLXNwZWM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cclxuLy8vXHJcbi8vLyBAdHlwZSBCb29sXHJcblxyXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xyXG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XHJcbiAgJGxpc3Q6ICgpO1xyXG5cclxuICBAZWFjaCAkaW5wdXQgaW4gJGlucHV0cyB7XHJcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcclxuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xyXG4gICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJGlucHV0LCBjb21tYSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRsaXN0O1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxyXG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xyXG4vLy8gICBBIHNpbmdsZSB2YWx1ZSBvciBsaXN0IG9mIHZhbHVlcyB0byBjaGVjayBmb3IuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWUpXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbH1cclxuXHJcbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcclxuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBkb2VzIG5vdCBjb250YWlucyBhIHZhbHVlLlxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3RcclxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sfVxyXG5cclxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XHJcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xyXG4gICAgQGlmIG5vdCAkaXRlbSB7XHJcbiAgICAgIEByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gZmFsc2U7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcclxuXHJcbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcclxuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcclxuICAgICAgIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgbm90KHVuaXRsZXNzKCR2YWx1ZSkpKSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvciAoSGV4KX0gJGNvbG9yXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIGlzLWxpZ2h0KCRjb2xvcilcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sfVxyXG5cclxuQGZ1bmN0aW9uIGlzLWxpZ2h0KCRoZXgtY29sb3IpIHtcclxuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xyXG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xyXG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEpKTtcclxuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XHJcblxyXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAwLjY7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcclxuXHJcbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIHNpemUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXHJcblxyXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcclxuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpXHJcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcclxufVxyXG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcclxuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcclxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcclxuXHJcbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XHJcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XHJcbiAgfVxyXG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcclxufVxyXG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXHJcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxyXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XHJcblxyXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XHJcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XHJcbiAgfVxyXG5cclxuICAkYmFzZTogJGVtLWJhc2U7XHJcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xyXG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcclxuICB9XHJcbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcclxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Q29sb3J9XHJcblxyXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCkge1xyXG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgJGRpbWVuc2lvbjogMTA7XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyIChVbml0bGVzcyl9XHJcblxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XHJcbiAgQHJldHVybiAoJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XHJcbi8vLyAgIFRoZSBhbW91bnQgb2Ygd2hpdGUgdG8gYmUgbWl4ZWQgaW4uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Q29sb3J9XHJcblxyXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XHJcbiAgQHJldHVybiBtaXgoI2ZmZiwgJGNvbG9yLCAkcGVyY2VudCk7XHJcbn1cclxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxyXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XHJcbiAgJG5ldy1wcm9wczogKCk7XHJcblxyXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XHJcbiAgICAkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbmV3LXByb3BzO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xyXG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxyXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xyXG4gICAgQHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHByb3A7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcclxuLy8vICAgfVxyXG5cclxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XHJcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcclxuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xyXG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xyXG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XHJcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcclxuICB9XHJcbn1cclxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcclxuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xyXG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XHJcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcclxuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcclxuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XHJcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcclxuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xyXG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xyXG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xyXG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XHJcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcclxuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xyXG4kb2N0YXZlOiAgICAgICAgICAgMjtcclxuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcclxuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xyXG4kbWFqb3ItdHdlbGZ0aDogICAgMztcclxuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XHJcblxyXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xyXG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcclxuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xyXG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xyXG4gICR2YWx1ZTogJHYxO1xyXG5cclxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcclxuICBAd2hpbGUgJHYyID4gJHYxIHtcclxuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcclxuICB9XHJcbiAgQHdoaWxlICR2MiA8ICR2MSB7XHJcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxyXG4gIH1cclxuXHJcbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcclxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XHJcblxyXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xyXG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xyXG4gICAgICAgICR2YWx1ZTogJHYyO1xyXG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XHJcbiAgICAgICAgJHZhbHVlOiAkdjE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XHJcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXHJcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XHJcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XHJcbiAgICB9XHJcblxyXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XHJcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XHJcbiAgICAgICAgJHZhbHVlOiAkdjI7XHJcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcclxuICAgICAgICAkdmFsdWU6ICR2MTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXHJcbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcclxuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XHJcbiAgJHVuaXRzOiAgIDFweCwgMWNtLCAxbW0sIDElLCAxY2gsIDFwaWNhLCAxaW4sIDFlbSwgMXJlbSwgMXB0LCAxcGMsIDFleCwgMXZ3LCAxdmgsIDF2bWluLCAxdm1heCwgMWRlZywgMXJhZCwgMWdyYWQsIDF0dXJuO1xyXG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcclxuXHJcbiAgQGlmIG5vdCAkaW5kZXgge1xyXG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcclxuICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcclxuICAgIEB3YXJuIFwiYCN7JG51bWJlcn0gaXMgbm90IGEgbnVtYmVyYFwiO1xyXG4gICAgQHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xyXG4vLy9cclxuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XHJcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcclxuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XHJcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcclxuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH1cclxuXHJcbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcclxuICAkb3V0cHV0OiBudWxsO1xyXG5cclxuICAkYTogbnRoKCR2YWxzLCAxKTtcclxuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcclxuICAkYzogaWYobGVuZ3RoKCR2YWxzKSA8IDMsICRhLCBudGgoJHZhbHMsIDMpKTtcclxuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xyXG5cclxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XHJcbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxyXG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cclxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XHJcblxyXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cclxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XHJcbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxyXG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cclxuXHJcbiAgQHJldHVybiAkb3V0cHV0O1xyXG59XHJcblxyXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxyXG4vLy8gICBQcmVmaXggdG8gdXNlXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxyXG4vLy8gICBTdWZmaXggdG8gdXNlXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb2xsYXBzZS1kaXJlY3Rpb25hbHNcclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcclxuXHJcbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xyXG4gIC8vIFByb3BlcnR5IE5hbWVzXHJcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xyXG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuXHJcbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XHJcblxyXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xyXG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XHJcblxyXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cclxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XHJcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxyXG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgICN7JGFsbH06ICR2YWxzO1xyXG4gIH1cclxufVxyXG4iLCIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxyXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXHJcblxyXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XHJcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcclxuICAgIEByZXR1cm4gZm9udC11cmw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIHVybDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcclxuICAkZm9udC1mYW1pbHksXHJcbiAgJGZpbGUtcGF0aCxcclxuICAkYXNzZXQtcGlwZWxpbmUsXHJcbiAgJGZpbGUtZm9ybWF0cyxcclxuICAkZm9udC11cmwpIHtcclxuXHJcbiAgJHNyYzogKCk7XHJcblxyXG4gICRmb3JtYXRzLW1hcDogKFxyXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXHJcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXHJcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcclxuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XHJcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcclxuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XHJcblxyXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xyXG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3JjO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xyXG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXHJcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXHJcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XHJcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcclxuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcclxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcclxuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcclxuICB9XHJcbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xyXG59XHJcbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xyXG4gICRvZmZzZXQ6IG51bGw7XHJcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuXHJcbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxyXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xyXG4gICAgJG9mZnNldDogaWYoJHVuaXQtbG9uZyA9PSBcImdyYWRcIiwgLTEwMGdyYWQgKiAzLCAtMC43NXR1cm4pO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgKCR1bml0LXNob3J0ID09IFwiZGVnXCIpIG9yXHJcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcclxuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9mZnNldCB7XHJcbiAgICAkbnVtOiBfc3RyLXRvLW51bSgkZmlyc3QtdmFsKTtcclxuXHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAoJG9mZnNldCAtICRudW0pICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XHJcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XHJcbiAgJGdyYWRpZW50czogKCk7XHJcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XHJcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xyXG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcclxuXHJcbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcclxuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xyXG5cclxuICAkaGFzLW11bHRpcGxlLXZhbHM6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcIiBcIik7XHJcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcclxuICAkaGFzLWFuZ2xlOiBpcy1udW1iZXIoc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsIDEpKTtcclxuXHJcbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XHJcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscyk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkaGFzLXNpbmdsZS1wb3NpdGlvbiAhPSBcIlwiIHtcclxuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcclxuXHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkaGFzLWFuZ2xlIHtcclxuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxyXG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZ3JhZGllbnRzO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xyXG4gICR0eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XHJcbiAgJHNwZWM6IG51bGw7XHJcbiAgJGRlZ3JlZTogbnVsbDtcclxuICAkc2lkZTogbnVsbDtcclxuICAkY29ybmVyOiBudWxsO1xyXG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcclxuICAvLyBQYXJzZSBTaWRlIGFuZCBjb3JuZXIgcG9zaXRpb25zXHJcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xyXG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcclxuICAgICAgJHNpZGU6IG50aCgkcG9zLCAyKTtcclxuXHJcbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXHJcbiAgICAgICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcclxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMyB7IC8vIGVnLiB0byB0b3AgbGVmdFxyXG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXHJcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xyXG4gICAgICAkY29ybmVyOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgbGVmdFwiKSB7XHJcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgcmlnaHRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIHJpZ2h0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIGxlZnRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICAkc3BlYzogdG8gJHNpZGUgJGNvcm5lcjtcclxuICB9XHJcbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcclxuICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XHJcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcclxuICAgICAgJGRlZ3JlZTogJHBvcztcclxuICAgICAgJHNwZWM6IHRvIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkZGVncmVlOiAtMjcwIC0gJHBvczsgLy9yb3RhdGUgdGhlIGdyYWRpZW50IG9wcG9zaXRlIGZyb20gc3BlY1xyXG4gICAgICAkc3BlYzogJHBvcztcclxuICAgIH1cclxuICB9XHJcbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xyXG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XHJcbiAgQHJldHVybiAkZGVncmVlICRzcGVjO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcykge1xyXG4gIEByZXR1cm4gaWYoJHBvcyA9PSBsZWZ0LCByaWdodCwgbnVsbClcclxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcclxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcclxuICAgICAgICAgaWYoJHBvcyA9PSBib3R0b20sIHRvcCwgbnVsbCk7XHJcbn1cclxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxyXG5AZnVuY3Rpb24gX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpIHtcclxuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxKTtcclxuICAkdmFsLTI6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaGFzLW11bHRpcGxlLXZhbHMgKyAxLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuICAkdmFsLTM6IG51bGw7XHJcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xyXG5cclxuICBAaWYgJGhhcy12YWwtMyB7XHJcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xyXG4gICAgJHZhbC0yOiBzdHItc2xpY2UoJHZhbC0yLCAxLCAkaGFzLXZhbC0zIC0gMSk7XHJcbiAgfVxyXG5cclxuICAkcG9zOiBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTEpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMikgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0zKTtcclxuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcclxuXHJcbiAgLy8gVXNlIG9sZCBzcGVjIGZvciB3ZWJraXRcclxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxyXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkZzEsICRnMiB7XHJcbiAgICAkZmlyc3QtdmFsOiBudGgoJHZhbHVlLCAxKTtcclxuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XHJcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcclxuXHJcbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXHJcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xyXG4gICAgICAkc3BlYy1hdC1pbmRleDogaWYoaW5kZXgoJHZhbHVlLCBhdCksIGluZGV4KCR2YWx1ZSwgYXQpLCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xyXG4gICAgICBAaWYgJHNwZWMtYXQtaW5kZXggPiAxIHtcclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcclxuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcclxuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcclxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJGcxOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaWYgKCRwb3MtdHlwZSAhPSBjb2xvcikgb3IgKCRmaXJzdC12YWwgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJ0b3BcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImxlZnRcIikge1xyXG5cclxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcclxuXHJcbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xyXG4gICAgICAgICAgICAkZzE6IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAZWxzZSBpZlxyXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LXNpZGVcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1jb3JuZXJcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcclxuXHJcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xyXG5cclxuICAgICAgICAgIEBpZiAkdmFsdWUgPT0gJGcxIHtcclxuICAgICAgICAgICAgJGcxOiBudWxsO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xyXG4gICAgICAgICAgICAkZzI6IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xyXG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XHJcbiAgJHBvczogICAgICAgIG50aCgkZ3JhZGllbnQtcG9zLCAyKTtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XHJcblxyXG4gICRwcmUtc3BlYzogdW5xdW90ZShpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKSlcclxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcclxuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcclxuXHJcbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcclxuXHJcbiAgLy8gQWRkIGNvbW1hXHJcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcclxuICAgICRzcGVjOiBcIiN7JHNwZWN9LFwiO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xyXG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xyXG4gICRncmFkaWVudHM6ICgpO1xyXG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xyXG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcclxuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XHJcblxyXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XHJcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcclxuXHJcbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcclxuXHJcbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XHJcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xyXG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XHJcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XHJcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZ3JhZGllbnRzO1xyXG59XHJcbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xyXG5cclxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xyXG4gICRwcmUtc3BlYzogbnVsbDtcclxuICAkc3BlYzogbnVsbDtcclxuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcclxuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcclxuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcclxuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XHJcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xyXG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XHJcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcclxuICB9XHJcblxyXG4gIEBpZiAkdmVuZG9yIHtcclxuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xyXG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcclxuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcclxuICB9XHJcbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcclxufVxyXG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XHJcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcclxuICAgICAgJHZhbHVlOiBudWxsO1xyXG4gICAgfVxyXG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xyXG4gIH1cclxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cclxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XHJcbiAgLy8gTWF0cmljZXNcclxuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XHJcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xyXG5cclxuICAvLyBSZXN1bHRcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaXZpZGVyOiAwO1xyXG4gICRtaW51czogZmFsc2U7XHJcblxyXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcclxuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcclxuICAgICAgJG1pbnVzOiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIGlmICRjaGFyYWN0ZXIgPT0gXCIuXCIge1xyXG4gICAgICAkZGl2aWRlcjogMTtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcclxuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XHJcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xyXG5cclxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xyXG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XHJcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XHJcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XHJcbn1cclxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXHJcbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb25zLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XHJcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcclxuICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbnMuLi4pIHtcclxuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCRzdGF0ZXMuLi4pIHtcclxuICAvLyBydW5uaW5nIHwgcGF1c2VkXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRtb2Rlcy4uLikge1xyXG4gIC8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGFwcGVhcmFuY2UoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxyXG4vLyBub3RhdGlvbi5cclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XHJcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XHJcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xyXG5cclxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xyXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcclxuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xyXG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XHJcblxyXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XHJcbiAgICAgICRiYWNrZ3JvdW5kLXN0cjogaWYoJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0LCBudGgoJGJhY2tncm91bmQsIDEpLCAkYmFja2dyb3VuZCk7XHJcblxyXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgMyk7XHJcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCA2KTtcclxuXHJcbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XHJcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAkd2Via2l0LWJhY2tncm91bmRzOiBhcHBlbmQoJHdlYmtpdC1iYWNrZ3JvdW5kcywgJHdlYmtpdC1iYWNrZ3JvdW5kLCBjb21tYSk7XHJcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xyXG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcclxuLy8gZ3JhZGllbnRzLCBvciBmb3Igc3RyaW5naW5nIG11bHRpcGxlIGdyYWRpZW50cyB0b2dldGhlci5cclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlcy4uLikge1xyXG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcclxuICAkc3BlYy1pbWFnZXM6ICgpO1xyXG5cclxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XHJcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcclxuICAgICRzcGVjLWltYWdlOiAoKTtcclxuXHJcbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcclxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDEsIDMpO1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMSwgNik7XHJcblxyXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xyXG4gICAgICAgICRzcGVjLWltYWdlOiAgICRpbWFnZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcclxuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xyXG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xyXG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xyXG59XHJcbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcclxuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xyXG4gICRzcGVjLWJvcmRlcnM6ICgpO1xyXG5cclxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcclxuICAgICR3ZWJraXQtYm9yZGVyOiAoKTtcclxuICAgICRzcGVjLWJvcmRlcjogKCk7XHJcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XHJcblxyXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XHJcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcclxuXHJcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDMpO1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCA2KTtcclxuXHJcbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcclxuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xyXG4gICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XHJcbiAgICAkc3BlYy1ib3JkZXJzOiAgIGFwcGVuZCgkc3BlYy1ib3JkZXJzLCAgICRzcGVjLWJvcmRlciwgICBjb21tYSk7XHJcbiAgfVxyXG5cclxuICAtd2Via2l0LWJvcmRlci1pbWFnZTogJHdlYmtpdC1ib3JkZXJzO1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xyXG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxufVxyXG5cclxuLy9FeGFtcGxlczpcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSBzdHJldGNoKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcclxuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcclxuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xyXG4gICN7JHByb3BlcnR5fTogY2FsYygjeyR2YWx1ZX0pO1xyXG59XHJcbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcclxuICAvLyA8Y29sdW1uLWNvdW50PiB8fCA8Y29sdW1uLXdpZHRoPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xyXG4gIC8vIGF1dG8gfHwgaW50ZWdlclxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XHJcbiAgLy8gbm9ybWFsIHx8IGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XHJcbiAgLy8gYXV0byB8fCBsZW5ndGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcclxuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXNwYW4oJGFyZzogbm9uZSkge1xyXG4gIC8vIG5vbmUgfHwgYWxsXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXNwYW4sICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4td2lkdGgoJGxlbmd0aDogYXV0bykge1xyXG4gIC8vIGF1dG8gfHwgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XHJcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xyXG59XHJcbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xyXG5cclxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxyXG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xyXG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xyXG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XHJcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xyXG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xyXG59XHJcblxyXG5AbWl4aW4gZGlzcGxheS1ib3gge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IC1tb3otYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxyXG4gIGRpc3BsYXk6IGJveDtcclxufVxyXG5cclxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcclxuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XHJcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcclxuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XHJcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xyXG4vLyBzaW5nbGV8bXVsdGlwbGVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXHJcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXHJcblxyXG4vLyAyMDA5IC0gZGlzcGxheSAoYm94IHwgaW5saW5lLWJveClcclxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcclxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcclxuQG1peGluIGRpc3BsYXkoJHZhbHVlKSB7XHJcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xyXG4gICAgLy8gMjAwOVxyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcclxuICAgIGRpc3BsYXk6IGJveDtcclxuXHJcbiAgICAvLyAyMDEyXHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xyXG5cclxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBkaXNwbGF5OiAkdmFsdWU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LWZsZXggKGludGVnZXIpXHJcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcclxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcclxuQG1peGluIGZsZXgoJHZhbHVlKSB7XHJcblxyXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cclxuICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcclxuXHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkZmxleC1ncm93LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtb3JpZW50ICggaG9yaXpvbnRhbCB8IHZlcnRpY2FsIHwgaW5saW5lLWF4aXMgfCBibG9jay1heGlzKVxyXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcclxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxyXG4vLyAyMDEyIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xyXG5cclxuICAvLyBBbHQgdmFsdWVzLlxyXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XHJcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcclxuICAkZGlyZWN0aW9uOiBub3JtYWw7XHJcblxyXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcclxuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XHJcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcclxuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcclxuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xyXG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xyXG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcclxuICB9XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxyXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxyXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XHJcbiAgLy8gQWx0IHZhbHVlc1xyXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XHJcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gd3JhcCB7XHJcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcclxuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXHJcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcclxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxyXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXHJcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxyXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXHJcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xyXG59XHJcblxyXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXHJcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcclxufVxyXG5cclxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXHJcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XHJcbn1cclxuXHJcbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXHJcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcclxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxyXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxyXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xyXG5cclxuICAvLyBBbHQgdmFsdWVzLlxyXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xyXG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcclxuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XHJcbiAgfVxyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xyXG5cclxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XHJcblxyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xyXG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICRhbHQtdmFsdWU6IGVuZDtcclxuICB9XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWFsaWduOiAkYWx0LXZhbHVlO1xyXG59XHJcblxyXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcclxuXHJcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcclxuICB9XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xyXG59XHJcblxyXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxyXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXHJcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xyXG5cclxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XHJcbiAgfVxyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xyXG59XHJcbiIsIkBtaXhpbiBmb250LWZhY2UoXHJcbiAgJGZvbnQtZmFtaWx5LFxyXG4gICRmaWxlLXBhdGgsXHJcbiAgJHdlaWdodDogbm9ybWFsLFxyXG4gICRzdHlsZTogbm9ybWFsLFxyXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxyXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcclxuXHJcbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcblxyXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcclxuICAgICAgJGZvbnQtZmFtaWx5LFxyXG4gICAgICAkZmlsZS1wYXRoLFxyXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXHJcbiAgICAgICRmaWxlLWZvcm1hdHMsXHJcbiAgICAgICRmb250LXVybC1wcmVmaXhcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XHJcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cclxuICBAaW5jbHVkZSBwcmVmaXhlcihmb250LWZlYXR1cmUtc2V0dGluZ3MsICRzZXR0aW5ncywgd2Via2l0IG1veiBtcyBzcGVjKTtcclxufVxyXG4iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXHJcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IG1hbnVhbCB8IGF1dG9cclxuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xyXG5cclxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XHJcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xyXG5cclxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcclxuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcclxuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XHJcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XHJcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcclxuXHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xyXG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRnMSwgJGcyOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcclxuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXHJcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XHJcbiAgJHBvcy1zcGVjOiBudWxsO1xyXG4gICRwb3MtZGVncmVlOiBudWxsO1xyXG5cclxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cclxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XHJcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xyXG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcclxuICAgICRwb3M6IG51bGw7XHJcbiAgfVxyXG5cclxuICBAaWYgJHBvcyB7XHJcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XHJcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xyXG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcclxuICB9XHJcblxyXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xyXG5cclxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXHJcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGcxLCAxKTtcclxuXHJcbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXHJcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcclxufVxyXG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcclxuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XHJcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBSZXF1aXJlcyBTYXNzIDMuMStcclxuQG1peGluIHJhZGlhbC1ncmFkaWVudCgkZzEsICRnMixcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcclxuXHJcbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpO1xyXG4gICRnMTogIG50aCgkZGF0YSwgMSk7XHJcbiAgJGcyOiAgbnRoKCRkYXRhLCAyKTtcclxuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xyXG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xyXG5cclxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcclxuXHJcbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXHJcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xyXG5cclxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXHJcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xyXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XHJcblxyXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XHJcbiAgfVxyXG5cclxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcclxuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sIFwiLCBudWxsKTtcclxuICAkcG9zOiAgICAgICAgaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCk7XHJcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSBcIiBcIikgYW5kICgkcG9zID09IG51bGwpLCBcIiN7JHNoYXBlLXNpemUtc3BlY30sIFwiLCBcIiN7JHNoYXBlLXNpemUtc3BlY30gXCIpO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gT3V0cHV0cyB0aGUgc3BlYyBhbmQgcHJlZml4ZWQgdmVyc2lvbnMgb2YgdGhlIGA6OnNlbGVjdGlvbmAgcHNldWRvLWVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sfSAkY3VycmVudC1zZWxlY3RvciBbZmFsc2VdXHJcbi8vLyAgIElmIHNldCB0byBgdHJ1ZWAsIGl0IHRha2VzIHRoZSBjdXJyZW50IGVsZW1lbnQgaW50byBjb25zaWRlcmF0aW9uLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2VsZWN0aW9uKHRydWUpIHtcclxuLy8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudDo6LW1vei1zZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50OjpzZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBzZWxlY3Rpb24oJGN1cnJlbnQtc2VsZWN0b3I6IGZhbHNlKSB7XHJcbiAgQGlmICRjdXJyZW50LXNlbGVjdG9yIHtcclxuICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcclxuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbiwgJHZhbHVlLCBtb3opO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWxpbmUoJGxpbmU6IG5vbmUpIHtcclxuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcclxuLy8gc29saWQgfHwgZG91YmxlIHx8IGRvdHRlZCB8fCBkYXNoZWQgfHwgd2F2eVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcclxufVxyXG5cclxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xyXG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1jb2xvciwgJGNvbG9yLCBtb3opO1xyXG59XHJcbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IDx0cmFuc2Zvcm0tZnVuY3Rpb24+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xyXG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXHJcbiAgLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcclxuICAvLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxyXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xyXG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcclxuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XHJcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxyXG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XHJcbiAgJHdlYmtpdDogKCk7XHJcbiAgJG1vejogKCk7XHJcbiAgJHNwZWM6ICgpO1xyXG5cclxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cclxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XHJcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcclxuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xyXG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xyXG4gICAgICAkbGlzdDM6ICgpO1xyXG5cclxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XHJcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XHJcblxyXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xyXG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XHJcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xyXG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcclxuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XHJcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xyXG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xyXG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xyXG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xyXG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcclxuICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwibW96XCIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xyXG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIHVzZXItc2VsZWN0KCR2YWx1ZTogbm9uZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1jb2xvcmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItY29sb3IoI2E2MGI1NSAjNzZjZDljIG51bGwgI2U4YWUxYSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItbGVmdC1jb2xvcjogI2U4YWUxYTtcclxuLy8vICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM3NmNkOWM7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItY29sb3JgXHJcblxyXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpaVxyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudC1vbmUge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDVweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50LXR3byB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDNweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50LW9uZSB7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xyXG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50LXR3byB7XHJcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xyXG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYGJvcmRlci1yYWRpdXNgXHJcblxyXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZGFzaGVkIG51bGwgc29saWQpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcclxuXHJcbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci13aWR0aGAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMHB4O1xyXG4vLy8gICAgIGJvcmRlci10b3Atd2lkdGg6IDFlbTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItd2lkdGhgXHJcblxyXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgYnV0dG9ucy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtYnV0dG9uc31gLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAjeyRhbGwtYnV0dG9uc30ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcclxuLy8vICAgI3skYWxsLWJ1dHRvbnMtaG92ZXJ9IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1hY3RpdmV9IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICBidXR0b24sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgYnV0dG9uOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXHJcbi8vLyAgIGJ1dHRvbjpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBidXR0b246YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG4vLy9cclxuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcclxuXHJcbiRidXR0b25zLWxpc3Q6ICdidXR0b24nLFxyXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXHJcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicmVzZXRcIl0nLFxyXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSc7XHJcblxyXG4kYWxsLWJ1dHRvbnM6ICAgICAgICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QpO1xyXG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGFjdGl2ZSk7XHJcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xyXG4kYWxsLWJ1dHRvbnMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGhvdmVyKTtcclxuXHJcbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcclxuJGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZTogJGFsbC1idXR0b25zLWFjdGl2ZTtcclxuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiAgJGFsbC1idXR0b25zLWZvY3VzO1xyXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xyXG4vLy8gICAgIGNsZWFyOiBib3RoO1xyXG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBUcnVuY2F0ZXMgdGV4dCBhbmQgYWRkcyBhbiBlbGxpcHNpcyB0byByZXByZXNlbnQgb3ZlcmZsb3cuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cclxuLy8vICAgTWF4LXdpZHRoIGZvciB0aGUgc3RyaW5nIHRvIHJlc3BlY3QgYmVmb3JlIGJlaW5nIHRydW5jYXRlZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgZWxsaXBzaXM7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbi8vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXgtd2lkdGg6ICR3aWR0aDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgd29yZC13cmFwOiBub3JtYWw7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdlb3JnaWEgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xyXG5cclxuLy8vIEhlbHZldGljYSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8vIEx1Y2lkYSBHcmFuZGUgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XHJcblxyXG4vLy8gTW9ub3NwYWNlIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xyXG5cclxuLy8vIFZlcmRhbmEgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XHJcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xyXG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAdG9kbyBSZW1vdmUgaGVpZ2h0IGFyZ3VtZW50IGluIHY1LjAuMFxyXG5cclxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LWluZGVudDogMTAxJTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICBAaWYgJGhlaWdodCB7XHJcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgbWFyZ2luYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xyXG4vLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBtYXJnaW5gXHJcblxyXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBwYWRkaW5nYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcoMTJ2aCBudWxsIDEwcHggNSUpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbi8vLyAgICAgcGFkZGluZy1sZWZ0OiA1JTtcclxuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBwYWRkaW5nYFxyXG5cclxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXHJcbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXHJcbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDEwZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbGVmdDogMTBlbTtcclxuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vLyAgICAgdG9wOiAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXHJcblxyXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcclxuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xyXG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XHJcblxyXG4gICRvZmZzZXRzOiAoXHJcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxyXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcclxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXHJcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXHJcbiAgKTtcclxuXHJcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcclxuXHJcbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcclxuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XHJcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXHJcbi8vLyAgIFZhbHVlIHRvIHVzZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXHJcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXJhZGl1cywgMTBweCwgd2Via2l0IG1zIHNwZWMpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4vLy8gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcclxuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1taWNyb3NvZnRcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xyXG5cclxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcclxuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XHJcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcclxuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xyXG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xyXG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xyXG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSAge1xyXG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xyXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XHJcbn1cclxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcclxuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBoaWRwaSB7XHJcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcclxuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBTZXRzIHRoZSBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBvZiB0aGUgZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXHJcbi8vLyAgIEEgbGlzdCBvZiBhdCBtb3N0IDIgc2l6ZSB2YWx1ZXMuXHJcbi8vL1xyXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMmVtKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMTBlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcclxuLy8vICAgICB3aWR0aDogMmVtO1xyXG4vLy8gICAgIGhlaWdodDogMmVtO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xyXG4vLy8gICAgIHdpZHRoOiBhdXRvO1xyXG4vLy8gICAgIGhlaWdodDogMTBlbTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEB0b2RvIFJlZmFjdG9yIGluIDUuMC4wIHRvIHVzZSBhIGNvbW1hLXNlcGFyYXRlZCBhcmd1bWVudFxyXG5cclxuQG1peGluIHNpemUoJHZhbHVlKSB7XHJcbiAgJHdpZHRoOiBudGgoJHZhbHVlLCAxKTtcclxuICAkaGVpZ2h0OiAkd2lkdGg7XHJcblxyXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDEge1xyXG4gICAgJGhlaWdodDogbnRoKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAaWYgaXMtc2l6ZSgkaGVpZ2h0KSB7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XHJcbiAgfVxyXG5cclxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIHRleHQtYmFzZWQgaW5wdXRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC10ZXh0LWlucHV0c31gLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9IHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9LFxyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXHJcbi8vLyAgIHRleHRhcmVhIHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcclxuLy8vICAgdGV4dGFyZWE6Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmhvdmVyLFxyXG4vLy8gICB0ZXh0YXJlYTpob3ZlciB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmFjdGl2ZSxcclxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiR0ZXh0LWlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJlbWFpbFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibnVtYmVyXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZWxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInVybFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIndlZWtcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcclxuICAgICAgICAgICAgICAgICAgICd0ZXh0YXJlYSc7XHJcblxyXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XHJcbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBhY3RpdmUpO1xyXG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xyXG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXHJcbi8vL1xyXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxyXG4vLy9cclxuLy8vIEB0eXBlIGN1YmljLWJlemllclxyXG5cclxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcclxuXHJcbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XHJcblxyXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xyXG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xyXG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcclxuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xyXG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcclxuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgd2lkdGg6IDA7XHJcblxyXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcclxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcclxuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcclxuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xyXG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBjaGFuZ2UgdGhlIGB3b3JkLXdyYXBgIHByb3BlcnR5LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cclxuLy8vICAgVmFsdWUgZm9yIHRoZSBgd29yZC1icmVha2AgcHJvcGVydHkuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC53cmFwcGVyIHtcclxuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC53cmFwcGVyIHtcclxuLy8vICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcclxuICBvdmVyZmxvdy13cmFwOiAkd3JhcDtcclxuICB3b3JkLXdyYXA6ICR3cmFwO1xyXG5cclxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICB3b3JkLWJyZWFrOiAkd3JhcDtcclxuICB9XHJcbn1cclxuIiwiLy8gVGhlIGZvbGxvd2luZyBmZWF0dXJlcyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IE1BSk9SIHZlcnNpb24gcmVsZWFzZVxyXG5cclxuQG1peGluIGlubGluZS1ibG9jayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XHJcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcclxuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xyXG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XHJcblxyXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xyXG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xyXG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcclxuICAgICRzdHlsZTogc2ltcGxlO1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcclxuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xyXG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XHJcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xyXG4gICAgJHN0eWxlOiBzaW1wbGU7XHJcblxyXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xyXG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBudW1iZXIge1xyXG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xyXG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xyXG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XHJcbiAgICAkc3R5bGU6IHNpbXBsZTtcclxuXHJcbiAgICBAaWYgJHBhZGRpbmcgPT0gIzQyOTRmMCB7XHJcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICAmOmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgfVxyXG5cclxuICBAd2FybiBcIlRoZSBidXR0b24gbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG4vLyBTZWxlY3RvciBTdHlsZSBCdXR0b25cclxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xyXG4gIC8vIEdyYXlzY2FsZSBidXR0b25cclxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcclxuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHR5cGUgPT0gZmxhdCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIC8vIENvbG9yZWQgYnV0dG9uXHJcbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XHJcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICR0eXBlID09IHNoaW55IHtcclxuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcclxuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xyXG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU2ltcGxlIEJ1dHRvblxyXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XHJcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xyXG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcclxuXHJcbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcclxuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XHJcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcclxuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcclxuICB9XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcblxyXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcclxuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XHJcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XHJcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcclxuXHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxyXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNoaW55IEJ1dHRvblxyXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XHJcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcclxuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcclxuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xyXG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XHJcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcclxuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcclxuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xyXG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XHJcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XHJcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xyXG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xyXG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xyXG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEzLCAkZ3JlZW46IC0xNSwgJGJsdWU6IC0xOCk7XHJcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XHJcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XHJcbiAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAkZ3JlZW46IC04MCwgJGJsdWU6IC02Myk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCRmaXJzdC1zdG9wLWhvdmVyKTtcclxuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcclxuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xyXG4gICAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkZm91cnRoLXN0b3AtaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRmaXJzdC1zdG9wLWhvdmVyICAwJSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyIDEwMCUpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFBpbGwgQnV0dG9uXHJcbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XHJcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcclxuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcclxuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xyXG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XHJcblxyXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xyXG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcclxuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xyXG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcclxuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xyXG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xyXG4gIH1cclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XHJcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xyXG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xyXG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xyXG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XHJcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcclxuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xyXG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xyXG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcclxuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcclxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA0LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMTAlKTtcclxuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcclxuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcclxuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA5LCAgJHNhdHVyYXRpb246ICAyJSwgICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xyXG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xyXG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XHJcbiAgICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tLWFjdGl2ZSk7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcclxuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWFjdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZsYXQgQnV0dG9uXHJcbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xyXG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGbGV4aWJsZSBncmlkXHJcbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XHJcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xyXG5cclxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG4vLyBGbGV4aWJsZSBndXR0ZXJcclxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XHJcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcclxuXHJcbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xyXG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xyXG5cclxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcclxuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xyXG5cclxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XHJcbn1cclxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gRmxleGJveCBTQVNTIG1peGluc1xyXG4vLyBUaGUgc3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBGbGV4Ym94IGRpc3BsYXlcclxuQG1peGluIGZsZXhib3goKSB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuLy8gRmxleGJveCBpbmxpbmUgZGlzcGxheVxyXG5AbWl4aW4gaW5saW5lLWZsZXgge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcclxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG59XHJcblxyXG4vLyBUaGUgJ2ZsZXgnIHNob3J0aGFuZFxyXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggaXRlbXNcclxuLy8gPHBvc2l0aXZlLW51bWJlcj4sIGluaXRpYWwsIGF1dG8sIG9yIG5vbmVcclxuQG1peGluIGZsZXgoJHZhbHVlcykge1xyXG4gIC13ZWJraXQtYm94LWZsZXg6ICR2YWx1ZXM7XHJcbiAgICAgLW1vei1ib3gtZmxleDogJHZhbHVlcztcclxuICAgICAgLXdlYmtpdC1mbGV4OiAkdmFsdWVzO1xyXG4gIFx0ICAtbXMtZmxleDogJHZhbHVlcztcclxuICBcdCAgICAgIGZsZXg6ICR2YWx1ZXM7XHJcbn1cclxuXHJcbi8vIEZsZXggRmxvdyBEaXJlY3Rpb25cclxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGNvbnRhaW5lcnNcclxuLy8gcm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZVxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xyXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgICAgLW1vei1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbn1cclxuXHJcbi8vIEZsZXggTGluZSBXcmFwcGluZ1xyXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xyXG4vLyBub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHdyYXApIHtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHdyYXA7XHJcbiAgICAgLW1vei1mbGV4LXdyYXA6ICR3cmFwO1xyXG4gICAgICAtbXMtZmxleC13cmFwOiAkd3JhcDtcclxuICAgICAgICAgIGZsZXgtd3JhcDogJHdyYXA7XHJcbn1cclxuXHJcbi8vIEZsZXggRGlyZWN0aW9uIGFuZCBXcmFwXHJcbi8vIC0gYXBwbGllcyB0bzogZmxleCBjb250YWluZXJzXHJcbi8vIDxmbGV4LWRpcmVjdGlvbj4gfHwgPGZsZXgtd3JhcD5cclxuQG1peGluIGZsZXgtZmxvdygkZmxvdykge1xyXG4gIC13ZWJraXQtZmxleC1mbG93OiAkZmxvdztcclxuICAgICAtbW96LWZsZXgtZmxvdzogJGZsb3c7XHJcbiAgICAgIC1tcy1mbGV4LWZsb3c6ICRmbG93O1xyXG4gICAgICAgICAgZmxleC1mbG93OiAkZmxvdztcclxufVxyXG5cclxuLy8gRGlzcGxheSBPcmRlclxyXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggaXRlbXNcclxuLy8gPGludGVnZXI+XHJcbkBtaXhpbiBvcmRlcigkdmFsKSB7XHJcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogJHZhbDsgIFxyXG4gICAgIC1tb3otYm94LW9yZGluYWwtZ3JvdXA6ICR2YWw7ICAgICBcclxuICBcdCAgICAgLW1zLWZsZXgtb3JkZXI6ICR2YWw7ICAgICBcclxuICBcdCAgICAgIC13ZWJraXQtb3JkZXI6ICR2YWw7ICBcclxuICBcdFx0ICAgICAgb3JkZXI6ICR2YWw7XHJcbn1cclxuXHJcbi8vIEZsZXggZ3JvdyBmYWN0b3JcclxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGl0ZW1zXHJcbi8vIDxudW1iZXI+XHJcbkBtaXhpbiBmbGV4LWdyb3coJGdyb3cpIHtcclxuICAtd2Via2l0LWZsZXgtZ3JvdzogJGdyb3c7XHJcbiAgICAgLW1vei1mbGV4LWdyb3c6ICRncm93O1xyXG4gICAgICAtbXMtZmxleC1ncm93OiAkZ3JvdztcclxuICAgICAgICAgIGZsZXgtZ3JvdzogJGdyb3c7XHJcbn1cclxuXHJcbi8vIEZsZXggc2hyaW5rXHJcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtIHNocmluayBmYWN0b3JcclxuLy8gPG51bWJlcj4gXHJcbkBtaXhpbiBmbGV4LXNocmluaygkc2hyaW5rKSB7XHJcbiAgLXdlYmtpdC1mbGV4LXNocmluazogJHNocmluaztcclxuICAgICAtbW96LWZsZXgtc2hyaW5rOiAkc2hyaW5rO1xyXG4gICAgICAtbXMtZmxleC1zaHJpbms6ICRzaHJpbms7XHJcbiAgICAgICAgICBmbGV4LXNocmluazogJHNocmluaztcclxufVxyXG5cclxuLy8gRmxleCBiYXNpc1xyXG4vLyAtIHRoZSBpbml0aWFsIG1haW4gc2l6ZSBvZiB0aGUgZmxleCBpdGVtXHJcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtc25pdGlhbCBtYWluIHNpemUgb2YgdGhlIGZsZXggaXRlbVxyXG4vLyA8d2lkdGg+IFxyXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGgpIHtcclxuICAtd2Via2l0LWZsZXgtYmFzaXM6ICR3aWR0aDtcclxuICAgICAtbW96LWZsZXgtYmFzaXM6ICR3aWR0aDtcclxuICAgICAgLW1zLWZsZXgtYmFzaXM6ICR3aWR0aDtcclxuICAgICAgICAgIGZsZXgtYmFzaXM6ICR3aWR0aDtcclxufVxyXG5cclxuLy8gQXhpcyBBbGlnbm1lbnRcclxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGNvbnRhaW5lcnNcclxuLy8gZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCBcclxuQG1peGluIGp1c3RpZnktY29udGVudCgkanVzdGlmeSkge1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICAgICAtbW96LWp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgICAgIC1tcy1qdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogJGp1c3RpZnk7XHJcbn1cclxuXHJcbi8vIFBhY2tpbmcgRmxleCBMaW5lc1xyXG4vLyAtIGFwcGxpZXMgdG86IG11bHRpLWxpbmUgZmxleCBjb250YWluZXJzXHJcbi8vIGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoIFxyXG5AbWl4aW4gYWxpZ24tY29udGVudCgkYWxpZ24pIHtcclxuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcclxuICAgICAtbW96LWFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcclxuICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcclxuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcclxufVxyXG5cclxuLy8gQ3Jvc3MtYXhpcyBBbGlnbm1lbnRcclxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGNvbnRhaW5lcnNcclxuLy8gZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoIFxyXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduKSB7XHJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJGFsaWduO1xyXG4gICAgIC1tb3otYWxpZ24taXRlbXM6ICRhbGlnbjtcclxuICAgICAgLW1zLWFsaWduLWl0ZW1zOiAkYWxpZ247XHJcbiAgICAgICAtbXMtZmxleC1hbGlnbjogJGFsaWduO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6ICRhbGlnbjtcclxufVxyXG5cclxuLy8gQ3Jvc3MtYXhpcyBBbGlnbm1lbnRcclxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGl0ZW1zXHJcbi8vIGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2ggXHJcbkBtaXhpbiBhbGlnbi1zZWxmKCRhbGlnbikge1xyXG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJGFsaWduO1xyXG4gICAgIC1tb3otYWxpZ24tc2VsZjogJGFsaWduO1xyXG4gICAgICAtbXMtYWxpZ24tc2VsZjogJGFsaWduO1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogJGFsaWduO1xyXG59IiwiLyohXHJcbiAqIE1pbGxpZ3JhbS1zY3NzIHYxLjMuMFxyXG4gKiBodHRwczovL21pbGxpZ3JhbS5naXRodWIuaW9cclxuICpcclxuICogQ29weXJpZ2h0IChjKSAyMDE3IENKIFBhdG9pbG9cclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXHJcbiAqL1xyXG5cclxuXHJcbi8vIFNhc3MgTW9kdWxlc1xyXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcclxuXHJcbkBpbXBvcnQgJ0NvbG9yJztcclxuQGltcG9ydCAnQmFzZSc7XHJcbkBpbXBvcnQgJ0Jsb2NrcXVvdGUnO1xyXG5AaW1wb3J0ICdCdXR0b24nO1xyXG5AaW1wb3J0ICdDb2RlJztcclxuQGltcG9ydCAnRGl2aWRlcic7XHJcbkBpbXBvcnQgJ0Zvcm0nO1xyXG5AaW1wb3J0ICdHcmlkJztcclxuQGltcG9ydCAnTGluayc7XHJcbkBpbXBvcnQgJ0xpc3QnO1xyXG5AaW1wb3J0ICdTcGFjaW5nJztcclxuQGltcG9ydCAnVGFibGUnO1xyXG5AaW1wb3J0ICdUeXBvZ3JhcGh5JztcclxuQGltcG9ydCAnSW1hZ2UnO1xyXG5AaW1wb3J0ICdVdGlsaXR5JztcclxuIiwiLyohXHJcbiAqIE1pbGxpZ3JhbS1zY3NzIHYxLjMuMFxyXG4gKiBodHRwczovL21pbGxpZ3JhbS5naXRodWIuaW9cclxuICpcclxuICogQ29weXJpZ2h0IChjKSAyMDE3IENKIFBhdG9pbG9cclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXHJcbiAqL1xyXG5cclxuXHJcbi8vIENvbG9yXHJcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xyXG5cclxuJGNvbG9yLWluaXRpYWw6ICNmZmYgIWRlZmF1bHQ7XHJcbiRjb2xvci1wcmltYXJ5OiAjMTE1MEE3ICFkZWZhdWx0O1xyXG4kY29sb3Itc2Vjb25kYXJ5OiAjMDg4NDM5ICFkZWZhdWx0O1xyXG4kY29sb3ItdGVydGlhcnk6ICMwMjM4ODAgIWRlZmF1bHQ7XHJcbiRjb2xvci1xdWF0ZXJuYXJ5OiAjZDFkMWQxICFkZWZhdWx0O1xyXG4kY29sb3ItcXVpbmFyeTogI2UxZTFlMSAhZGVmYXVsdDtcclxuJGNvbG9yLWJvZHk6Izc3Nzc3NyAhZGVmYXVsdDtcclxuJGNvbG9yLXNlcHRlbmFyeTogI0VDRjBGNSAhZGVmYXVsdDsiLCIvKiFcclxuICogTWlsbGlncmFtLXNjc3MgdjEuMy4wXHJcbiAqIGh0dHBzOi8vbWlsbGlncmFtLmdpdGh1Yi5pb1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcgQ0ogUGF0b2lsb1xyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICovXHJcblxyXG5cclxuLy8gQmFzZVxyXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcclxuXHJcbi8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXHJcbiosXHJcbio6YWZ0ZXIsXHJcbio6YmVmb3JlIHtcclxuXHRib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG4vLyBUaGUgYmFzZSBmb250LXNpemUgaXMgc2V0IGF0IDYyLjUlIGZvciBoYXZpbmcgdGhlIGNvbnZlbmllbmNlXHJcbi8vIG9mIHNpemluZyByZW1zIGluIGEgd2F5IHRoYXQgaXMgc2ltaWxhciB0byB1c2luZyBweDogMS42cmVtID0gMTZweFxyXG5odG1sIHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGZvbnQtc2l6ZTogNjIuNSU7XHJcbn1cclxuXHJcbi8vIERlZmF1bHQgYm9keSBzdHlsZXNcclxuYm9keSB7XHJcblx0Y29sb3I6ICRjb2xvci1ib2R5O1xyXG5cdGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmO1xyXG5cdGZvbnQtc2l6ZTogMS42ZW07IC8vIEN1cnJlbnRseSBlbXMgY2F1c2UgY2hyb21lIGJ1ZyBtaXNpbnRlcnByZXRpbmcgcmVtcyBvbiBib2R5IGVsZW1lbnRcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGxldHRlci1zcGFjaW5nOiAuMDFlbTtcclxuXHRsaW5lLWhlaWdodDogMS42O1xyXG59XHJcbiIsIi8qIVxyXG4gKiBNaWxsaWdyYW0tc2NzcyB2MS4zLjBcclxuICogaHR0cHM6Ly9taWxsaWdyYW0uZ2l0aHViLmlvXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNyBDSiBQYXRvaWxvXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxyXG4gKi9cclxuXHJcblxyXG4vLyBCbG9ja3F1b3RlXHJcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xyXG5cclxuYmxvY2txdW90ZSB7XHJcblx0Ym9yZGVyLWxlZnQ6IC4zcmVtIHNvbGlkICRjb2xvci1xdWF0ZXJuYXJ5O1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdG1hcmdpbi1yaWdodDogMDtcclxuXHRwYWRkaW5nOiAxcmVtIDEuNXJlbTtcclxuXHJcblx0KjpsYXN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG59XHJcbiIsIi8qIVxyXG4gKiBNaWxsaWdyYW0tc2NzcyB2MS4zLjBcclxuICogaHR0cHM6Ly9taWxsaWdyYW0uZ2l0aHViLmlvXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNyBDSiBQYXRvaWxvXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxyXG4gKi9cclxuXHJcblxyXG4vLyBCdXR0b25cclxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXHJcblxyXG4uYnV0dG9uLFxyXG5idXR0b24sXHJcbmlucHV0W3R5cGU9J2J1dHRvbiddLFxyXG5pbnB1dFt0eXBlPSdyZXNldCddLFxyXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XHJcblx0YmFja2dyb3VuZDogcmdiKDEzMCwxODUsNTkpO1xyXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxMzAsMTg1LDU5LDEpIDAlLCByZ2JhKDgsMTMyLDU3LDEpIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxMzAsMTg1LDU5LDEpIDAlLCByZ2JhKDgsMTMyLDU3LDEpIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTMwLDE4NSw1OSwxKSAwJSwgcmdiYSg4LDEzMiw1NywxKSAxMDAlKTtcclxuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPVwiIzgyYjkzYlwiLGVuZENvbG9yc3RyPVwiIzA4ODQzOVwiLEdyYWRpZW50VHlwZT0xKTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogNjBweDtcclxuXHRjb2xvcjogJGNvbG9yLWluaXRpYWw7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRmb250LXNpemU6IDEuNnJlbTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGhlaWdodDogNDVweDtcclxuXHRsaW5lLWhlaWdodDogNDNweDtcclxuXHRwYWRkaW5nOiAwIDMuMHJlbTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgZWFzZS1vdXQgYWxsKTtcclxuXHJcblx0Jjpmb2N1cyxcclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQ6IHJnYigxMzAsMTg1LDU5KTtcclxuXHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIHJnYmEoOCwxMzIsNTcsMSkgMCUsIHJnYmEoMTMwLDE4NSw1OSwxKSAxMDAlKTtcclxuXHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg4LDEzMiw1NywxKSAwJSwgcmdiYSgxMzAsMTg1LDU5LDEpIDEwMCUpO1xyXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg4LDEzMiw1NywxKSAwJSwgcmdiYSgxMzAsMTg1LDU5LDEpIDEwMCUpO1xyXG5cdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1cIiMwODg0MzlcIixlbmRDb2xvcnN0cj1cIiM4MmI5M2JcIixHcmFkaWVudFR5cGU9MSk7XHJcblx0XHRjb2xvcjogJGNvbG9yLWluaXRpYWw7XHJcblx0XHRvdXRsaW5lOiAwO1xyXG5cdH1cclxuXHJcblx0JltkaXNhYmxlZF0ge1xyXG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdFx0b3BhY2l0eTogLjU7XHJcblxyXG5cdFx0Jjpmb2N1cyxcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuYnV0dG9uLW91dGxpbmUge1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuXHRcdGJvcmRlcjoycHggc29saWQgJGNvbG9yLXNlY29uZGFyeTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7XHJcblx0XHRsaW5lLWhlaWdodDo0MHB4O1xyXG5cdFx0Jjpmb2N1cyxcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2IoMTMwLDE4NSw1OSk7XHJcblx0XHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIHJnYmEoOCwxMzIsNTcsMSkgMCUsIHJnYmEoMTMwLDE4NSw1OSwxKSAxMDAlKTtcclxuXHRcdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDgsMTMyLDU3LDEpIDAlLCByZ2JhKDEzMCwxODUsNTksMSkgMTAwJSk7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoOCwxMzIsNTcsMSkgMCUsIHJnYmEoMTMwLDE4NSw1OSwxKSAxMDAlKTtcclxuXHRcdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1cIiMwODg0MzlcIixlbmRDb2xvcnN0cj1cIiM4MmI5M2JcIixHcmFkaWVudFR5cGU9MSk7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuXHRcdFx0Y29sb3I6ICNGRkY7XHJcblx0XHR9XHJcblxyXG5cdFx0JltkaXNhYmxlZF0ge1xyXG5cclxuXHRcdFx0Jjpmb2N1cyxcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5idXR0b24tY2xlYXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRjb2xvcjogIzg5ODk4OTtcclxuXHJcblx0XHQmOmZvY3VzLFxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuXHRcdH1cclxuXHJcblx0XHQmW2Rpc2FibGVkXSB7XHJcblxyXG5cdFx0XHQmOmZvY3VzLFxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuYnV0dG9uLXNlY29uZGFyeXtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMS40cmVtO1xyXG5cdFx0cGFkZGluZzogLjlyZW0gMS42cmVtO1xyXG5cdFx0Zm9udC1zaXplOiAxLjRyZW07XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0Y29sb3I6ICNENUZBQjA7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMDtcclxuXHJcblx0XHRzcGFue1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XHJcblx0XHR9XHJcblx0XHRoNXtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1pbml0aWFsO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHR9XHJcblx0Ji5jYXBpdGFsaXple1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtcclxuXHR9XHJcbn1cclxuIiwiLyohXHJcbiAqIE1pbGxpZ3JhbS1zY3NzIHYxLjMuMFxyXG4gKiBodHRwczovL21pbGxpZ3JhbS5naXRodWIuaW9cclxuICpcclxuICogQ29weXJpZ2h0IChjKSAyMDE3IENKIFBhdG9pbG9cclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXHJcbiAqL1xyXG5cclxuXHJcbi8vIENvZGVcclxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXHJcblxyXG5jb2RlIHtcclxuXHRiYWNrZ3JvdW5kOiAkY29sb3ItdGVydGlhcnk7XHJcblx0Ym9yZGVyLXJhZGl1czogLjRyZW07XHJcblx0Zm9udC1zaXplOiA4NiU7XHJcblx0bWFyZ2luOiAwIC4ycmVtO1xyXG5cdHBhZGRpbmc6IC4ycmVtIC41cmVtO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbnByZSB7XHJcblx0YmFja2dyb3VuZDogJGNvbG9yLXRlcnRpYXJ5O1xyXG5cdGJvcmRlci1sZWZ0OiAuM3JlbSBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuXHRvdmVyZmxvdy15OiBoaWRkZW47XHJcblxyXG5cdCYgPiBjb2RlIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmc6IDFyZW0gMS41cmVtO1xyXG5cdFx0d2hpdGUtc3BhY2U6IHByZTtcclxuXHR9XHJcbn1cclxuIiwiLyohXHJcbiAqIE1pbGxpZ3JhbS1zY3NzIHYxLjMuMFxyXG4gKiBodHRwczovL21pbGxpZ3JhbS5naXRodWIuaW9cclxuICpcclxuICogQ29weXJpZ2h0IChjKSAyMDE3IENKIFBhdG9pbG9cclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXHJcbiAqL1xyXG5cclxuXHJcbi8vIERpdmlkZXJcclxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXHJcblxyXG5ociB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGJvcmRlci10b3A6IC4xcmVtIHNvbGlkICRjb2xvci10ZXJ0aWFyeTtcclxuXHRtYXJnaW46IDMuMHJlbSAwO1xyXG5cclxuXHQmLnNvZnR7XHJcblx0XHRib3JkZXItdG9wOiAuMXJlbSBzb2xpZCAjRjBGMEYwO1xyXG5cdH1cclxufVxyXG4iLCIvKiFcclxuICogTWlsbGlncmFtLXNjc3MgdjEuMy4wXHJcbiAqIGh0dHBzOi8vbWlsbGlncmFtLmdpdGh1Yi5pb1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcgQ0ogUGF0b2lsb1xyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICovXHJcblxyXG5cclxuLy8gRm9ybVxyXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcclxuXHJcbmlucHV0W3R5cGU9J2VtYWlsJ10sXHJcbmlucHV0W3R5cGU9J251bWJlciddLFxyXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddLFxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcclxuaW5wdXRbdHlwZT0ndGVsJ10sXHJcbmlucHV0W3R5cGU9J3RleHQnXSxcclxuaW5wdXRbdHlwZT0ndXJsJ10sXHJcbnRleHRhcmVhLFxyXG5zZWxlY3Qge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7IC8vIFJlbW92ZXMgYXdrd2FyZCBkZWZhdWx0IHN0eWxlcyBvbiBzb21lIGlucHV0cyBmb3IgaU9TXHJcblx0YmFja2dyb3VuZDojRkZGO1xyXG5cdGJvcmRlci1yYWRpdXM6NjBweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRmb250LXNpemU6MS42cmVtO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0Ym94LXNpemluZzogaW5oZXJpdDsgLy8gRm9yY2VkIHRvIHJlcGxhY2UgaW5oZXJpdCB2YWx1ZXMgb2YgdGhlIG5vcm1hbGl6ZS5jc3NcclxuXHRoZWlnaHQ6IDQ1cHg7XHJcblx0cGFkZGluZzogLjZyZW0gMzBweDsgLy8gVGhlIC42cmVtIHZlcnRpY2FsbHkgY2VudGVycyB0ZXh0IG9uIEZGLCBpZ25vcmVkIGJ5IFdlYmtpdFxyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGNvbG9yOiM1NTU7XHJcblx0b3V0bGluZTogMDtcclxuXHQmLmVycm9ye1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiNDMTE2MTY7XHJcblx0XHRiYWNrZ3JvdW5kOiNGRkRFREUgdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9pY28td2FybmluZy5zdmcpIGNhbGMoMTAwJSAtIDIwcHgpIGNlbnRlciBuby1yZXBlYXQ7XHJcblx0fVxyXG5cdCZbZGlzYWJsZWRde1xyXG5cdFx0YmFja2dyb3VuZDojMUY2MEJBO1xyXG5cdFx0Y29sb3I6IzhBQjRFRDtcclxuXHR9XHJcbn1cclxuaW5wdXQucGFzc3dvcmQsXHJcbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge1xyXG5cdCYuZXJyb3Ige1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpjYWxjKDEwMCUgLSA1MHB4KTtcclxuXHR9XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcblx0YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMjkgMTRcIiB3aWR0aD1cIjI5XCI+PHBhdGggZmlsbD1cIiNkMWQxZDFcIiBkPVwiTTkuMzc3MjcgMy42MjVsNS4wODE1NCA2LjkzNTIzTDE5LjU0MDM2IDMuNjI1XCIvPjwvc3ZnPicpIGNlbnRlciByaWdodCBuby1yZXBlYXQ7XHJcblx0cGFkZGluZy1yaWdodDogMy4wcmVtO1xyXG5cclxuXHQmOmZvY3VzIHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDI5IDE0XCIgd2lkdGg9XCIyOVwiPjxwYXRoIGZpbGw9XCIjOWI0ZGNhXCIgZD1cIk05LjM3NzI3IDMuNjI1bDUuMDgxNTQgNi45MzUyM0wxOS41NDAzNiAzLjYyNVwiLz48L3N2Zz4nKTtcclxuXHR9XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuXHRtaW4taGVpZ2h0OiAxMDBweDtcclxuXHRib3JkZXItcmFkaXVzOjMwcHg7XHJcblx0cGFkZGluZzoyMHB4IDMwcHhcclxufVxyXG5cclxubGFiZWwsXHJcbmxlZ2VuZCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Zm9udC1zaXplOiAxLjZyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG5cdGJvcmRlci13aWR0aDogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLFxyXG5pbnB1dFt0eXBlPSdyYWRpbyddIHtcclxuXHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0YXBwZWFyYW5jZTpub25lO1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xyXG5cdGJvcmRlcjpub25lO1xyXG5cdG1hcmdpbjowO1xyXG5cdHBhZGRpbmc6MDtcclxuXHRvdXRsaW5lOjA7XHJcbn1cclxuXHJcbi5sYWJlbC1pbmxpbmUge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdG1hcmdpbi1sZWZ0OiAuNXJlbTtcclxufVxyXG5cclxuLmRhdGUtdGV4dHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0JjpiZWZvcmV7XHJcblx0XHRjb250ZW50OlwiXCI7XHJcblx0XHR3aWR0aDogMi40cmVtO1xyXG5cdFx0aGVpZ2h0OiAyLjRyZW07XHJcblx0XHRtYXJnaW4tdG9wOiAtMS4ycmVtO1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvbi1kYXRlLWdyZXkuc3ZnJyluby1yZXBlYXQgY2VudGVyO1xyXG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAycmVtIG51bGwgbnVsbCk7XHJcblx0fVxyXG5cdCYuZGlzYWJsZWQ6YmVmb3Jle1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvbi1kYXRlLWRpc2FibGVkLnN2Zycpbm8tcmVwZWF0IGNlbnRlcjtcclxuXHR9XHJcblx0aW5wdXR7cGFkZGluZy1yaWdodDogNXJlbTt9XHJcbn1cclxuXHJcbi5pbnB1dC1maWxlLC5tdWx0aXBsZS11cGxvYWR7XHJcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRoZWlnaHQ6IDQ1cHggIWltcG9ydGFudDtcclxuXHQvKmhlaWdodDogNC41cmVtICFpbXBvcnRhbnQ7Ki9cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdCY6YmVmb3Jle1xyXG5cdFx0Y29udGVudDpcIlwiO1xyXG5cdFx0d2lkdGg6IDIuNHJlbTtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljb24tZmlsZS5zdmcnKW5vLXJlcGVhdCBjZW50ZXI7XHJcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAycmVtIDAgbnVsbCk7XHJcblx0fVxyXG5cdD4gaW5wdXR7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxuXHQ+IHNwYW57XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGJhY2tncm91bmQ6ICMwNDM0NzY7XHJcblx0XHRib3JkZXItcmFkaXVzOjYwcHg7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdGZvbnQtc2l6ZToxLjZyZW07XHJcblx0XHQvKmhlaWdodDogNC41cmVtOyovXHJcblx0XHRoZWlnaHQ6IDQ1cHg7XHJcblx0XHQvKmxpbmUtaGVpZ2h0OiA0LjVyZW07Ki9cclxuXHRcdGxpbmUtaGVpZ2h0OiA0NXB4OyBcclxuXHRcdGNvbG9yOiRjb2xvci1pbml0aWFsO1xyXG5cdFx0cGFkZGluZzogMCAzcmVtO1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdG92ZXJmbG93LXk6IGhpZGRlbjtcclxuXHR9XHJcbn1cclxuXHJcbi5mb3Jte1xyXG5cdCYuYmctYmx1ZXtcclxuXHRcdHBhZGRpbmc6NTBweCA3MHB4O1xyXG5cdFx0YmFja2dyb3VuZDojMTE1MEE3O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czowIDBweCAzMHB4IDMwcHg7XHJcblx0XHRsYWJlbHtcclxuXHRcdFx0Y29sb3I6I0ZGRjtcclxuXHRcdH1cclxuXHRcdC8vIGlucHV0W3R5cGU9J2ZpbGUnXXtcclxuXHRcdC8vIFx0aGVpZ2h0OiA0NXB4O1xyXG5cdFx0Ly8gXHRiYWNrZ3JvdW5kOiAjMDQzNDc2O1xyXG5cdFx0Ly8gXHRib3JkZXItcmFkaXVzOiA2MHB4O1xyXG5cdFx0Ly8gXHRib3JkZXI6bm9uZTtcclxuXHRcdC8vIFx0bGluZS1oZWlnaHQ6IDQ1cHg7XHJcblx0XHQvLyBcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Ly8gXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQvLyBcdHotaW5kZXg6IDI7XHJcblx0XHQvLyBcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdC8vIH1cclxuXHRcdC5maWxlaW5wdXR7XHJcblx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDYwcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IzA0MzQ3NiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pYy1maWxlLnBuZycpbm8tcmVwZWF0IDk1JSBjZW50ZXI7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0c3BhbntcclxuXHRcdFx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdGxlZnQ6IDIwcHg7XHJcblx0XHRcdFx0dG9wOiAxMHB4O1xyXG5cdFx0XHRcdG1hcmdpbjogYXV0byAwcHg7XHJcblx0XHRcdFx0cmlnaHQ6IDQ1cHg7XHJcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRsYWJlbHtcclxuXHRcdGZvbnQtc2l6ZToxLjRyZW07XHJcblx0XHRmb250LXdlaWdodDo0MDA7XHJcblx0fVxyXG5cdC5yb3d7XHJcblx0XHRtYXJnaW4tYm90dG9tOjIwcHg7XHJcblx0XHQuY29sdW1ue1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOjA7XHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYucm93LWJ0bntcclxuXHRcdFx0bWFyZ2luLXRvcDozMHB4O1xyXG5cdFx0fVxyXG5cdFx0Ji5yb3ctd3JhcHtcclxuXHRcdFx0LmNvbHVtbntcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGJ1dHRvbixcclxuXHRpbnB1dFt0eXBlPSdidXR0b24nXSxcclxuXHRpbnB1dFt0eXBlPSdyZXNldCddLFxyXG5cdGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0fVxyXG5cclxuXHRsYWJlbC5jaGVja2JveHtcclxuXHRcdHBhZGRpbmctbGVmdDoyNXB4O1xyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRtYXJnaW46MDtcclxuXHRcdGlucHV0W3R5cGU9Y2hlY2tib3hde1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwwIG51bGwgbnVsbCAwKTtcclxuXHRcdFx0d2lkdGg6MjBweDtcclxuXHRcdFx0aGVpZ2h0OjIwcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9pY28tY2hlY2tib3guc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XHJcblx0XHRcdCY6Y2hlY2tlZHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IGNlbnRlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji53aGl0ZXtcclxuXHRcdFx0aW5wdXRbdHlwZT1jaGVja2JveF17XHJcblx0XHRcdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdHRvcDogMnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvaWNvLWNoZWNrYm94LXdoaXRlLnN2Zyluby1yZXBlYXQgbGVmdCBjZW50ZXI7XHJcblx0XHRcdFx0JjpjaGVja2Vke1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCBjZW50ZXI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRsYWJlbC5yYWRpb3tcclxuXHRcdHBhZGRpbmctbGVmdDoyNXB4O1xyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRtYXJnaW46MDtcclxuXHRcdGlucHV0W3R5cGU9cmFkaW9de1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwwIG51bGwgbnVsbCAwKTtcclxuXHRcdFx0d2lkdGg6MTZweDtcclxuXHRcdFx0aGVpZ2h0OjE2cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9pY28tcmFkaW8uc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMzJweDsgXHJcblx0XHRcdCY6Y2hlY2tlZHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IGNlbnRlcjtcdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQudG9nZ2xlLXBhc3N3b3Jke1xyXG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsbnVsbCAzMHB4IDEwcHggbnVsbCk7XHJcblx0XHR0ZXh0LWluZGVudDotOTk5OXB4O1xyXG5cdFx0d2lkdGg6MjRweDtcclxuXHRcdGhlaWdodDoyMnB4O1xyXG5cdFx0YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2ljby1wYXNzd29yZC10b2dnbGUuc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XHJcblx0XHQmLmFjdGl2ZXtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCBjZW50ZXI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIlxyXG4vLyBHcmlkXHJcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xyXG5cclxuLy8gLmNvbnRhaW5lciBpcyBtYWluIGNlbnRlcmVkIHdyYXBwZXIgd2l0aCBhIG1heCB3aWR0aCBvZiAxMTIuMHJlbSAoMTEyMHB4KVxyXG4uY29udGFpbmVyIHtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRtYXgtd2lkdGg6IDExMi4wcmVtO1xyXG5cdHBhZGRpbmc6IDAgMi4wcmVtO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG4ud3JhcHBlcntcclxuICAgIHdpZHRoOmF1dG87XHJcbiAgICBtYXJnaW46MCAxMTBweDtcclxufVxyXG5cclxuLy8gVXNpbmcgZmxleGJveCBmb3IgdGhlIGdyaWQsIGluc3BpcmVkIGJ5IFBoaWxpcCBXYWx0b246XHJcbi8vIGh0dHA6Ly9waGlsaXB3YWx0b24uZ2l0aHViLmlvL3NvbHZlZC1ieS1mbGV4Ym94L2RlbW9zL2dyaWRzL1xyXG4vLyBCeSBkZWZhdWx0IGVhY2ggLmNvbHVtbiB3aXRoaW4gYSAucm93IHdpbGwgZXZlbmx5IHRha2UgdXBcclxuLy8gYXZhaWxhYmxlIHdpZHRoLCBhbmQgdGhlIGhlaWdodCBvZiBlYWNoIC5jb2x1bW4gd2l0aCB0YWtlXHJcbi8vIHVwIHRoZSBoZWlnaHQgb2YgdGhlIHRhbGxlc3QgLmNvbHVtbiBpbiB0aGUgc2FtZSAucm93XHJcbi5yb3cge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHQmLnJvdy1uby1wYWRkaW5nIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0Jj4gLmNvbHVtbiB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLnJvdy13cmFwIHtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHR9XHJcblxyXG5cdC8vIFZlcnRpY2FsbHkgQWxpZ24gQ29sdW1uc1xyXG5cdC8vIC5yb3ctKiB2ZXJ0aWNhbGx5IGFsaWducyBldmVyeSAuY29sIGluIHRoZSAucm93XHJcblx0Ji5yb3ctdG9wIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdH1cclxuXHJcblx0Ji5yb3ctYm90dG9tIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHR9XHJcblxyXG5cdCYucm93LWNlbnRlciB7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Ji5yb3ctc3RyZXRjaCB7XHJcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuXHR9XHJcblxyXG5cdCYucm93LWJhc2VsaW5lIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuXHR9XHJcblxyXG5cdC5jb2x1bW4ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHQvLyBJRSAxMSByZXF1aXJlZCBzcGVjaWZ5aW5nIHRoZSBmbGV4LWJhc2lzIG90aGVyd2lzZSBpdCBicmVha3MgbW9iaWxlXHJcblx0XHRmbGV4OiAxIDEgYXV0bztcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0Ly8gQ29sdW1uIE9mZnNldHNcclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0yIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTMge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMyU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC01IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNiU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC04IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDglO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMTAge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTExIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDExJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0xMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMiU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMTMge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTMlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTE0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE0JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0xNSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMTYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTYlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTE3IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE3JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0xOCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxOCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMTkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTklO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTIwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0yMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMjIge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjIlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTIzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIzJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0yNCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMjUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTI2IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI2JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0yNyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNyU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMjgge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjglO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTI5IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI5JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0zMCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMzEge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzElO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTMyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMyJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0zMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMyU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMzQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzQlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTM1IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM1JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0zNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNiU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMzcge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzclO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTM4IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM4JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC0zOSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzOSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNDAge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTQxIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQxJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC00MiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MiU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNDMge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNDMlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTQ0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ0JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC00NSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0NSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNDYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNDYlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTQ3IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ3JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC00OCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0OCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNDkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNDklO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTUwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC01MSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNTIge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTIlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTUzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUzJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC01NCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1NCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNTUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTU2IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDU2JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC01NyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1NyU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNTgge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTglO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTU5IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDU5JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC02MCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNjEge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjElO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTYyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDYyJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC02MyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MyU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNjQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjQlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTY1IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDY1JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC02NiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2NiU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNjcge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjclO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTY4IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDY4JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC02OSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2OSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNzAge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNzAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTcxIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDcxJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC03MiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3MiU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNzMge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNzMlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTc0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDc0JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC03NSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNzYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNzYlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTc3IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDc3JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC03OCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3OCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtNzkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNzklO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTgwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDgwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC04MSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4MSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtODIge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogODIlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTgzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDgzJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC04NCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4NCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtODUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogODUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTg2IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDg2JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC04NyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4NyU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtODgge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogODglO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTg5IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDg5JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC05MCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtOTEge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOTElO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTkyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDkyJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC05MyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5MyU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtOTQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOTQlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTk1IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDk1JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC05NiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5NiU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtOTcge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOTclO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb2x1bW4tb2Zmc2V0LTk4IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDk4JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29sdW1uLW9mZnNldC05OSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5OSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNvbHVtbi1vZmZzZXQtMTAwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuXHRcdCYuY29sdW1uLW9mZnNldC0zMyxcclxuXHRcdCYuY29sdW1uLW9mZnNldC0zNCB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAzMy4zMzMzJTtcclxuXHRcdH1cclxuXHRcdCYuY29sdW1uLW9mZnNldC02NixcclxuXHRcdCYuY29sdW1uLW9mZnNldC02NyB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiA2Ni42NjY2JTtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gRXhwbGljaXQgQ29sdW1uIFBlcmNlbnQgU2l6ZXNcclxuXHRcdC8vIEJ5IGRlZmF1bHQgZWFjaCBncmlkIGNvbHVtbiB3aWxsIGV2ZW5seSBkaXN0cmlidXRlXHJcblx0XHQvLyBhY3Jvc3MgdGhlIGdyaWQuIEhvd2V2ZXIsIHlvdSBjYW4gc3BlY2lmeSBpbmRpdmlkdWFsXHJcblx0XHQvLyBjb2x1bW5zIHRvIHRha2UgdXAgYSBjZXJ0YWluIHNpemUgb2YgdGhlIGF2YWlsYWJsZSBhcmVhXHJcblx0XHQmLmNvbHVtbi0xIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDElO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDIlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0zIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDMlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00IHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDQlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01IHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDUlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi02IHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDYlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03IHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDclO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDclO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04IHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDglO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05IHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDklO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xMCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xMSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xMiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xMyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xNCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxNCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xNSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxNSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xNiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxNiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTYlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xNyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxNyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTclO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xOCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxOCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xOSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxOSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yMCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yMSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyMSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yMiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyMiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yMyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyMyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yNCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyNCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yNSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yNiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyNiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjYlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yNyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyNyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjclO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yOCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyOCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0yOSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyOSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0zMCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0zMSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0zMiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0zNSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzNSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0zNiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzNiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzYlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0zNyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzNyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzclO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0zOCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzOCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0zOSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzOSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00MCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00MSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0MSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00MiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0MiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00MyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0MyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00NCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0NCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00NSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0NSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00NiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0NiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDYlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00NyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0NyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDclO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00OCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0OCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi00OSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0OSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01MCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01MSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01MiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01MyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01NCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1NCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01NSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1NSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01NiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1NiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTYlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01NyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1NyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTclO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01OCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1OCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi01OSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1OSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi02MCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi02MSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2MSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi02MiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2MiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi02MyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2MyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi02NCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2NCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi02NSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2NSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi02OCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2OCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi02OSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2OSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03MCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03MSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3MSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03MiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3MiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03MyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3MyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03NCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3NCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03NSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3NSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03NiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3NiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzYlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03NyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3NyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzclO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03OCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3OCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi03OSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3OSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04MCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04MSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4MSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04MiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4MiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04MyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4MyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04NCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4NCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04NSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4NSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04NiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4NiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODYlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04NyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4NyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODclO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04OCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4OCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi04OSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4OSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05MCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05MSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5MSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTElO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05MiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5MiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05MyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5MyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05NCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5NCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05NSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5NSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05NiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5NiU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTYlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05NyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5NyU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTclO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05OCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5OCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi05OSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5OSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTklO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi0xMDAge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcblx0XHQmLmNvbHVtbi0zMyxcclxuXHRcdCYuY29sdW1uLTM0IHtcclxuXHRcdFx0ZmxleDogMCAwIDMzLjMzMzMlO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDMzLjMzMzMlO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuY29sdW1uLTY2LFxyXG5cdFx0Ji5jb2x1bW4tNjcge1xyXG5cdFx0XHRmbGV4OiAwIDAgNjYuNjY2NiU7XHJcblx0XHRcdG1heC13aWR0aDogNjYuNjY2NiU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gLmNvbHVtbi0qIHZlcnRpY2FsbHkgYWxpZ25zIGFuIGluZGl2aWR1YWwgLmNvbHVtblxyXG5cdFx0LmNvbHVtbi10b3Age1xyXG5cdFx0XHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4tYm90dG9tIHtcclxuXHRcdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi1jZW50ZXIge1xyXG5cdFx0XHRhbGlnbi1zZWxmOiBjZW50ZXI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBMYXJnZXIgdGhhbiBtb2JpbGUgc2NyZWVuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA0MC4wcmVtKSB7IC8vIFNhZmFyaSBkZXNrdG9wIGhhcyBhIGJ1ZyB1c2luZyBgcmVtYCwgYnV0IFNhZmFyaSBtb2JpbGUgd29ya3NcclxuXHJcblx0LnJvdyB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0xLjByZW07XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgMi4wcmVtKTtcclxuXHJcblx0XHQuY29sdW1uIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcclxuXHRcdFx0cGFkZGluZzogMCAxLjByZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qIVxyXG4gKiBNaWxsaWdyYW0tc2NzcyB2MS4zLjBcclxuICogaHR0cHM6Ly9taWxsaWdyYW0uZ2l0aHViLmlvXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNyBDSiBQYXRvaWxvXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxyXG4gKi9cclxuXHJcblxyXG4vLyBMaW5rXHJcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xyXG5cclxuYSB7XHJcblx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcblx0Jjpmb2N1cyxcclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG5cdH1cclxuXHJcblx0Ji5saW5rLWdyZWVue1xyXG5cdFx0Y29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcblxyXG5cdFx0Jjpmb2N1cyxcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4iLCIvKiFcclxuICogTWlsbGlncmFtLXNjc3MgdjEuMy4wXHJcbiAqIGh0dHBzOi8vbWlsbGlncmFtLmdpdGh1Yi5pb1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcgQ0ogUGF0b2lsb1xyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICovXHJcblxyXG5cclxuLy8gTGlzdFxyXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcclxuXHJcbi50ZXh0LXdyYXBwZXJ7XHJcblx0ZGwsXHJcblx0b2wsXHJcblx0dWwge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblxyXG5cdFx0ZGwsXHJcblx0XHRvbCxcclxuXHRcdHVsIHtcclxuXHRcdFx0Zm9udC1zaXplOiA5MCU7XHJcblx0XHRcdG1hcmdpbjogMS41cmVtIDAgMS41cmVtIDMuMHJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9sIHtcclxuXHRcdGxpc3Qtc3R5bGU6IGRlY2ltYWwgaW5zaWRlO1xyXG5cdH1cclxuXHJcblx0dWwge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGxpe1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6NDBweDtcclxuXHRcdFx0YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2ljby1saXN0LnN2Zykgbm8tcmVwZWF0IGxlZnQgMTBweDtcclxuXHRcdH1cclxuXHRcdCYudHlwZS0ye1xyXG5cdFx0XHRsaXtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6MjRweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0JjpiZWZvcmV7XHJcblx0XHRcdFx0XHRjb250ZW50OlwiXCI7XHJcblx0XHRcdFx0XHR3aWR0aDoxMnB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OjEycHg7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiNDQkNCQ0I7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOjJweDtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLDhweCBudWxsIG51bGwgMCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qIVxyXG4gKiBNaWxsaWdyYW0tc2NzcyB2MS4zLjBcclxuICogaHR0cHM6Ly9taWxsaWdyYW0uZ2l0aHViLmlvXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNyBDSiBQYXRvaWxvXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxyXG4gKi9cclxuXHJcblxyXG4vLyBTcGFjaW5nXHJcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xyXG5cclxuLmJ1dHRvbixcclxuYnV0dG9uLFxyXG5kZCxcclxuZHQsXHJcbmxpIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxLjByZW07XHJcbn1cclxuXHJcbmZpZWxkc2V0LFxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMHJlbTtcclxufVxyXG5cclxuYmxvY2txdW90ZSxcclxuZGwsXHJcbmZvcm0sXHJcbm9sLFxyXG5wLFxyXG5wcmUsXHJcbnRhYmxlLFxyXG51bCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG59XHJcblxyXG5cclxuZmlndXJle1xyXG5cdG1hcmdpbjogMHJlbTtcclxufVxyXG4iLCIvKiFcclxuICogTWlsbGlncmFtLXNjc3MgdjEuMy4wXHJcbiAqIGh0dHBzOi8vbWlsbGlncmFtLmdpdGh1Yi5pb1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcgQ0ogUGF0b2lsb1xyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICovXHJcblxyXG5cclxuLy8gVGFibGVcclxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXHJcblxyXG4ud3JhcC10YWJsZXtcclxuXHRvdmVyZmxvdzpoaWRkZW47XHJcblx0Ym9yZGVyLXJhZGl1czoxMHB4O1xyXG5cdHRhYmxlIHtcclxuXHRcdGJvcmRlci1zcGFjaW5nOiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cdHRkLFxyXG5cdHRoe1xyXG5cdFx0YmFja2dyb3VuZDokY29sb3ItcHJpbWFyeTtcclxuXHRcdGNvbG9yOiNGRkY7XHJcblx0XHRwYWRkaW5nOjIwcHggMCAyMHB4IDIwcHg7XHJcblx0XHR0ZXh0LWFsaWduOmxlZnQ7XHJcblx0XHQmOmxhc3QtY2hpbGR7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6MjVweDtcclxuXHRcdH1cclxuXHR9XHJcblx0dGR7XHJcblx0XHRiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRjb2xvcjojNjY2O1xyXG5cdH1cclxuXHR0cjpudGgtY2hpbGQoZXZlbikgdGR7XHJcblx0XHRiYWNrZ3JvdW5kOiNFN0VDRjI7XHJcblx0fVxyXG5cdCYuYmx1ZS1ib3JkZXJlZCB7XHJcblx0XHRib3JkZXItYm90dG9tOiA1cHggc29saWQgIzExNTBBNzsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWF4LWhlaWdodDogODA1cHg7XHJcblx0XHQubUNTQl9zY3JvbGxUb29scyB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHQgICAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MSlcIjtcclxuXHRcdCAgICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MSlcIjtcclxuXHRcdH1cclxuXHRcdC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7bWFyZ2luLXJpZ2h0OiAwO31cclxuXHRcdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRyaWdodDogLTExcHg7XHJcblx0XHR9XHJcblx0XHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogIzlCOUI5QjtcclxuXHRcdH1cclxuXHRcdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcclxuXHRcdFx0d2lkdGg6NHB4O1xyXG5cdFx0fVxyXG5cdFx0dGFibGUge3dpZHRoOiAxMDAlO31cclxuXHRcdHRoZWFkIHtcclxuXHRcdFx0cG9zaXRpb246IHN0aWNreTtcclxuXHRcdFx0Ji5oaWRkZW4ge1xyXG5cdFx0XHRcdHRoIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwOyBwYWRkaW5nLWJvdHRvbTogMDsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6IHVuc2V0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0dGJvZHkge1xyXG5cdFx0XHR0ciB7XHJcblx0XHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0dGQge1xyXG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOjJweCBzb2xpZCAjMTE1MGE3OyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206MnB4IHNvbGlkICMxMTUwYTc7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMTcsIDgwLCAxNjcsIDAuOCk7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtib3JkZXItbGVmdDozcHggc29saWQgIzExNTBhNzt9XHJcblx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6IDJweDsgaGVpZ2h0OiAxMDAlOyBjb250ZW50OiBcIlwiOyB0b3A6IDA7IHJpZ2h0OiAxNnB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDojMTE1MGE3O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0c3Bhbi5yZWQtdGV4dCxcclxuXHRcdFx0XHRcdHNwYW4uZ3JlZW4tdGV4dHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzozcHggNXB4O1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCYudGFibGUtaGVhZCB7XHJcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7XHJcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogLTIwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiMxMTUwQTc7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR6LWluZGV4OiA2O1xyXG5cdFx0dGFibGUge1xyXG5cdFx0XHRtYXJnaW46IDA7IHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR0aGVhZCB7XHJcblx0XHRcdFx0dHIge1xyXG5cdFx0XHRcdFx0dGgge1xyXG5cdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDt9XHJcblx0XHRcdFx0XHRcdCY6bGFzdHQtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQvKiAuYnVsYW4ge3dpZHRoOiA1JTsgdGV4dC1hbGlnbjogY2VudGVyO31cclxuXHQuamF0dWgtdGVtcG8ge3dpZHRoOiAxNSU7IHRleHQtYWxpZ246IGNlbnRlcjt9XHJcblx0Lm5pbGFpIHt3aWR0aDogMTUlOyB0ZXh0LWFsaWduOiBjZW50ZXI7fVxyXG5cdC5zaXNhIHt3aWR0aDogMjAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7fVxyXG5cdC50YW5nZ2FsIHt3aWR0aDogMTUlOyB0ZXh0LWFsaWduOiBjZW50ZXI7fVxyXG5cdC50ZWxhdCB7d2lkdGg6IDE1JTsgdGV4dC1hbGlnbjogY2VudGVyO31cclxuXHQuc3RhdHVzIHt3aWR0aDogMTAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7fSAgKi9cclxufVxyXG4uYWN0aW9uLXRhYmxle1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRjb2xvcjogIzA4ODQzOTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHQmOmJlZm9yZXtcclxuXHRcdGNvbnRlbnQ6Jyc7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDogLTEwcHg7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRtYXJnaW46IGF1dG8gMHB4O1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9hcnItcmlnaHQucG5nKW5vLXJlcGVhdCBjZW50ZXI7XHJcblx0XHR3aWR0aDogMTJweDtcclxuXHRcdGhlaWdodDogOHB4O1xyXG5cdH1cclxuXHQmLnBlbmRpbmd7IGNvbG9yOiAjREY4ODI1OyB9XHJcblx0Ji5yZWplY3R7XHJcblx0XHRjb2xvcjogI0RFMEEwQTtcclxuXHRcdC8qJjpiZWZvcmV7IGRpc3BsYXk6bm9uZTsgfSovXHJcblx0fVxyXG59XHJcbiIsIi8qIVxyXG4gKiBNaWxsaWdyYW0tc2NzcyB2MS4zLjBcclxuICogaHR0cHM6Ly9taWxsaWdyYW0uZ2l0aHViLmlvXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNyBDSiBQYXRvaWxvXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxyXG4gKi9cclxuXHJcblxyXG4vLyBUeXBvZ3JhcGh5XHJcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xyXG5cclxuYixcclxuc3Ryb25nIHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxucCB7XHJcblx0bWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAyLjByZW07XHJcblx0bWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuaDEge1xyXG5cdGZvbnQtc2l6ZTogNC42cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XHJcbn1cclxuXHJcbmgyIHtcclxuXHRmb250LXNpemU6IDMuNnJlbTtcclxuXHRsaW5lLWhlaWdodDogMS4yNTtcclxuXHRmb250LXdlaWdodDo5MDA7XHJcbn1cclxuXHJcbmgzIHtcclxuXHRmb250LXNpemU6IDIuOHJlbTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdGZvbnQtd2VpZ2h0OmJvbGQ7XHJcblx0Y29sb3I6IzMzMztcclxufVxyXG5cclxuaDQge1xyXG5cdGZvbnQtc2l6ZTogMi4ycmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM1O1xyXG5cdGZvbnQtd2VpZ2h0OjkwMDtcclxufVxyXG5cclxuaDUge1xyXG5cdGZvbnQtc2l6ZTogMi4wcmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0IGJ7XHJcblx0XHRjb2xvcjojMzMzO1xyXG5cdH0gXHJcbn1cclxuXHJcbmg2IHtcclxuXHRmb250LXNpemU6IDEuOHJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMDtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdC8qIGJ7XHJcblx0XHRjb2xvcjojMzMzO1xyXG5cdH0gKi9cclxufVxyXG4iLCIvKiFcclxuICogTWlsbGlncmFtLXNjc3MgdjEuMy4wXHJcbiAqIGh0dHBzOi8vbWlsbGlncmFtLmdpdGh1Yi5pb1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcgQ0ogUGF0b2lsb1xyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICovXHJcblxyXG5cclxuLy8gSW1hZ2VcclxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXHJcblxyXG5pbWcge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuZmlndXJle1xyXG5cdGltZ3t2ZXJ0aWNhbC1hbGlnbjogdG9wO31cclxufVxyXG4iLCIvKiFcclxuICogTWlsbGlncmFtLXNjc3MgdjEuMy4wXHJcbiAqIGh0dHBzOi8vbWlsbGlncmFtLmdpdGh1Yi5pb1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcgQ0ogUGF0b2lsb1xyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICovXHJcblxyXG5cclxuLy8gVXRpbGl0eVxyXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcclxuXHJcbi8vIENsZWFyIGEgZmxvYXQgd2l0aCAuY2xlYXJmaXhcclxuLmNsZWFyZml4IHtcclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHRcdGNvbnRlbnQ6ICcgJzsgLy8gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcuXHJcblx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIEZsb2F0IGVpdGhlciBkaXJlY3Rpb25cclxuLmZsb2F0LWxlZnQge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uZmxvYXQtcmlnaHQge1xyXG5cdGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLm5vdGlme1xyXG4gICAgY29sb3I6IzY2NjtcclxuICAgIGJvcmRlcjoxcHggc29saWQgIzk5OTtcclxuICAgIGJhY2tncm91bmQ6I2VlZTtcclxuICAgIHBhZGRpbmc6MThweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czo1cHg7XHJcbiAgICBtYXJnaW46MCAwIDIwcHggMDtcclxuICAgICYuc3VjY2Vzc3tcclxuICAgICAgICBjb2xvcjokY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiNDNkY1RDk7XHJcbiAgICB9XHJcbiAgICAmLmVycm9ye1xyXG4gICAgICAgIGNvbG9yOiNDMzIwMjA7XHJcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjQzExNjE2O1xyXG4gICAgICAgIGJhY2tncm91bmQ6I0ZGREVERTtcclxuICAgIH1cclxufVxyXG5cclxuLnJlZC10ZXh0IHtjb2xvcjogI0MzMjAyMDt9XHJcbi5ncmVlbi10ZXh0IHtjb2xvcjogJGNvbG9yLXNlY29uZGFyeTt9XHJcbi5ibGFjayB7Y29sb3I6ICMwMDA7fSAiLCIvKiBoZWFkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbmhlYWRlci5sb2dpbntcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLDAgMCAwIDApO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIC5sb2dve1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjo0NXB4IDAgMCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5oZWFkZXIuZGFzaGJvYXJke1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OjE0MHB4O1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgei1pbmRleDo4OTk7XHJcbiAgICAubG9nb3tcclxuICAgICAgICB3aWR0aDozMjBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgIG1hcmdpbjo0MHB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmlnaHQtaGVhZGVye1xyXG4gICAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9oZWFkLWRhc2hib2FyZC5qcGcpIG5vLXJlcGVhdCBsZWZ0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOjAgMCAwIDEwMHB4O1xyXG4gICAgICAgIHdpZHRoOmNhbGMoMTAwJSAtIDMyMHB4KTtcclxuICAgICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6MCAxNjBweCAwIDEyMHB4O1xyXG4gICAgICAgIGNvbG9yOiNGRkY7XHJcbiAgICAgICAgaDR7XHJcbiAgICAgICAgICAgIG1hcmdpbjowO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYW5ne1xyXG4gICAgICAgICAgICBoZWlnaHQ6MjBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNCMkIyQjI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDozMHB4O1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjEuNHJlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiNGRkY7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjBweCA1cHg7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb25ze1xyXG4gICAgICAgIHBhZGRpbmc6NXB4IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwIDMwcHggMCBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWNvdW50KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsM3B4IC00cHggbnVsbCBudWxsKTtcclxuICAgICAgICAgICAgd2lkdGg6MThweDtcclxuICAgICAgICAgICAgaGVpZ2h0OjE4cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I0IyMDAwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOi45cmVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjE4cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDoxOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1vYmlsZS1vbmx5e2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgICAgIC5kcm9wZG93bntcclxuICAgICAgICAgICAgYmFja2dyb3VuZDojRkZGO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjMwcHggNXB4IDMwcHggMzBweDtcclxuICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwxMDAlIC0yMHB4IG51bGwgbnVsbCk7XHJcbiAgICAgICAgICAgIHdpZHRoOjM2MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjJyZW07XHJcbiAgICAgICAgICAgIHJpZ2h0Oi0yMHB4O1xyXG4gICAgICAgICAgICB0b3A6MTAwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNTc4cHg7IFxyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNFQUVBRUE7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjIuMTVyZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToyLjE1cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6I0FEQURBRDtcclxuXHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9pY28tdGltZS5zdmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MS4zcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiM4ODg4ODg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjAgMCAwcHggMjJweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IzMzMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgc3Bhbntjb2xvcjokY29sb3Itc2Vjb25kYXJ5fVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHotaW5kZXg6ODtcclxuICAgIH1cclxuICAgICYuYWN0IHtcclxuICAgICAgICB6LWluZGV4OiA5OTk7XHJcbiAgICB9XHJcbn1cclxuLmxhbmctbW9iaWxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKiBjb250ZW50XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4ub3ZlcmxheXtcclxuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjgpO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsMCAwIDAgMCk7XHJcbiAgICB6LWluZGV4Ojc7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuLmRhc2hib2FyZC1jb250ZW50e1xyXG4gICAgbWluLWhlaWdodDpjYWxjKDEwMHZoIC0gMTQwcHgpO1xyXG4gICAgYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2JnLWRhc2hib2FyZC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOjEwMCUgYXV0bztcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGFzaWRle1xyXG4gICAgICAgIHdpZHRoOjMyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDo3MHB4O1xyXG5cclxuICAgICAgICAuYWNjb3VudHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjoyMHB4IDAgNTBweCAtNzBweDtcclxuICAgICAgICAgICAgLmxvZ28tbW9iaWxle2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgICAgICAgICBmaWd1cmV7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjEwMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjEwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOjAgYXV0byAxMHB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgaW1ne2Rpc3BsYXk6YmxvY2s7fVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciA+IC5jaGFuZ2UtcGljdHVyZXtcclxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OnZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eToxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5saW5re1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MS43cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IzMzMzMzMztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MzBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9pY28tYXJyb3ctcmlnaHQuc3ZnKSBuby1yZXBlYXQgOTUlIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2hhbmdlLXBpY3R1cmV7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwwIDAgMCAwKTtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6aGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTowO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOjAuMnMgZWFzZS1vdXQgYWxsO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2ljby1jYW1lcmEuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLDAgMCAwIDApO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjphdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaW5wdXR7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG5hdntcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTo1MHB4O1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjUwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjojNUM1QzVDO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjowLjJzIGVhc2Utb3V0IGFsbDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDo0MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjEwcHg7XHJcbiAgICAgICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsMCBudWxsIDAgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOmF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOmludmVydCgxKTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDoyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6NDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLDAgMTAwJSAwIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjphdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjowLjJzIGVhc2Utb3V0IGFsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcnsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDpjYWxjKDEwMCUgLSA0MHB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6aW52ZXJ0KDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OjAuNDU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge2ZvbnQtd2VpZ2h0OiA2MDA7fSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdHtcclxuICAgICAgICAgICAgaDZ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjokY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250YWN0e1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjMwcHg7XHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MzVweDsgbWluLWhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiM2NjY7XHJcbiAgICAgICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsMCBudWxsIDAgMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46YXV0bztcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0OyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHt3aWR0aDoyNXB4OyBoZWlnaHQ6IDI1cHg7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IFxyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7IFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29weXtcclxuICAgICAgICAgICAgZm9udC1zaXplOjEzcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiM4OTg5ODk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtcmlnaHR7XHJcbiAgICAgICAgd2lkdGg6Y2FsYygxMDAlIC0gMzIwcHgpO1xyXG4gICAgICAgIHBhZGRpbmc6NDBweCAxNDBweCAxMDBweCAxMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi53cmFwLXBvcHVwe1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsMCAwIDAgMCk7XHJcbiAgICB6LWluZGV4Ojk5OTA7XHJcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtcclxuICAgIG92ZXJmbG93OmF1dG87XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAuYm94LXBvcHVwe1xyXG4gICAgICAgIGJhY2tncm91bmQ6I0ZGRjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOjIwcHg7XHJcbiAgICAgICAgbWFyZ2luOjUlIGF1dG87XHJcbiAgICAgICAgcGFkZGluZzo2MHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcclxuICAgICAgICBtYXgtd2lkdGg6ODAwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgLmNsb3Nle1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDI1cHg7IHRvcDogLTM1cHg7IHdpZHRoOjIwcHg7IGhlaWdodDogMjBweDsgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHotaW5kZXg6IDg7IGN1cnNvcjogcG9pbnRlcjtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTAwJSk7XHJcbiAgICAgICAgJjphZnRlciwmOmJlZm9yZXtcclxuICAgICAgICAgICAgY29udGVudDonJzsgd2lkdGg6IDI1cHg7IGhlaWdodDogMnB4OyBiYWNrZ3JvdW5kOiNmZmY7IGRpc3BsYXk6IGJsb2NrOyBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7IHRvcDogMTVweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyByaWdodDogMDsgbWFyZ2luOiBhdXRvOyBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMjBweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjNzIGFsbCBlYXNlLW91dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JleyAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTt9XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgJjphZnRlcnsgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTsgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZXsgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtMTM1ZGVnKSk7IH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBlbHVuYXNhbntcclxuICAgICAgICAuY29udGVudC1jZW50ZXJ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgICBoNXtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiMxMTE7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbToxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZpZ3VyZXtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjozMHB4IDAgNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYmFydSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnBvcHVwe1xyXG5cdHBvc2l0aW9uOiBmaXhlZDsgXHJcblx0d2lkdGg6IDEwMCU7IFxyXG5cdGhlaWdodDogMTAwJTsgXHJcblx0dG9wOiAwOyBcclxuXHRyaWdodDogMDsgXHJcblx0Ym90dG9tOiAwOyAgXHJcblx0bGVmdDogMDsgXHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwYzc7IFxyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAucG9wdXAtb3ZlcmxheSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICAgIC5wb3B1cC1pbm5lcntcclxuICAgICAgICB3aWR0aDogMzQwcHg7IFxyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgbWFyZ2luOmF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmJ0bi14IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7IFxyXG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7IFxyXG4gICAgICAgICAgICB0b3A6IC0zNXB4O1xyXG4gICAgICAgICAgICByaWdodDogMTFweDsgICAgICAgICBcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvY2xvc2UucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IFxyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b3Atc2lkZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjJDRTUyO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJvdHRvbS1zaWRlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50aXRsZS1wb3B1cHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBoNXtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMzUzODNCO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGV4dHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvcmRpb257XHJcbiAgICAubGlzdC1hY2NvcmRpb257XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSwmOmhvdmVye1xyXG4gICAgICAgICAgICAuaGVhZC1hY2NvcmRpb257XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiMxMTUwQTc7XHJcbiAgICAgICAgICAgICAgICBoNnsgY29sb3I6ICNmZmY7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgLnBsdXN7XHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTI1ZGVnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZC1hY2NvcmRpb257XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0U3RUNGMjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGFsbCBlYXNlLW91dDtcclxuICAgICAgICBoNntcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogIzU1NTU1NTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBsdXN7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjJzIGFsbCBlYXNlLW91dDtcclxuICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6M3B4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDojMENDMTU0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjI1cyBhbGwgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgwZGVnKSk7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoOTBkZWcpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWFjY29yZGlvbntcclxuICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4ud3JhcC10YWJpbmd7XHJcbiAgICAuaGVhZC10YWJ7XHJcbiAgICAgICAgdWx7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U1RTVFNTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFQkVCRUI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAyMHB4IDBweCAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycyBhbGwgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSwmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IzA4ODQzOTtcclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNUM1QzVDO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtdGFie1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMHB4IDBweDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbi5ub3RlIHsgZm9udC1zaXplOiAxNHB4OyBmb250LXN0eWxlOiBpdGFsaWM7IHdpZHRoOiA3MCU7IH1cclxuLmZvcm0gbGFiZWwuY2hlY2tib3guaW5mbyB7IHBhZGRpbmctbGVmdDogMDsgfVxyXG4ubm90ZS1maWxle1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogIzlEQjdEQjtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgbWFyZ2luLXRvcDogLjVyZW07XHJcbn1cclxuLmJveC13aGl0ZXtcclxuICAgIHBhZGRpbmc6IDQ1cHggNTBweCAyMHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIGg2eyBjb2xvcjogIzMzMzMzMzsgbWFyZ2luLWJvdHRvbTogMDt9XHJcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXXtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjRjdGN0Y3O1xyXG4gICAgfVxyXG4gICAgc2VsZWN0e1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0Y3RjdGNyB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnItc2VsZWN0LnBuZycpbm8tcmVwZWF0IDk1JSBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuZXJyb3J7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICNCRjAwMDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJlc3VsdHtcclxuICAgICAgICBwYWRkaW5nOiAzNXB4IDU1cHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMTE1MEE3O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBoNntcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgYiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICBiIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucm93e1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubm9ib3R0b20tcmFkaXVze1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwcHggMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uaW5mby1zaXple1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGNvbG9yOiAjOURCN0RCO1xyXG59XHJcblxyXG4ubm9tYXJnaW57XHJcbiAgICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5yZXN1bHQtdXBsb2Fke1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDQzNDc2O1xyXG4gICAgYm9yZGVyLXJhZGl1czo2MHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250LXNpemU6MS42cmVtO1xyXG4gICAgaGVpZ2h0OiA0LjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogNC4zcmVtO1xyXG4gICAgY29sb3I6JGNvbG9yLWluaXRpYWw7XHJcbiAgICBwYWRkaW5nOiAwIDZyZW0gMCA3cmVtO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOmJlZm9yZXtcclxuICAgICAgICBjb250ZW50OlwiXCI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvbi1waWN0dXJlLnN2Zycpbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMi40cmVtO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgMCAzcmVtKTtcclxuICAgIH1cclxuICAgIC5yZW1vdmUtaW5wdXR7XHJcbiAgICAgICAgd2lkdGg6IDIuNHJlbTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMnJlbSAwIG51bGwpO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlcntcclxuICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNUY4NkJDO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IC4xcmVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hc2lkZS1yYWRpb3tcclxuICAgICYudjIge1xyXG4gICAgICAgIGxhYmVsLnJhZGlvIHsgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXSB7IGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5OyBib3JkZXItcmFkaXVzOiA1MCU7IHRvcDogM3B4OyBcclxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xN3B4IC0xcHg7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxhYmVsLnJhZGlve1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVyZW07XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4udGV4dC13cmFwcGVye1xyXG4gICAgLmNlbnRlcntcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuLmZvcm0tc3Vrc2Vze1xyXG4gICAgcGFkZGluZy10b3A6NTBweDsgXHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLFxyXG4udWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIHtcclxuICAgIHdpZHRoOiA0NSU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIG1hcmdpbjogMCA0cHg7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLnRvIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOjI1cHg7IGxlZnQ6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLTZweDsgXHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDFweDsgY29udGVudDogXCJcIjsgXHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsgdG9wOiAwOyBsZWZ0OjA7XHJcbiAgICB9XHJcbn1cclxuLnJvdy1jaGVjayB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7IFxyXG59XHJcbi5yb3ctc3VjY2Vzc3tcclxuICAgIHdpZHRoOiA3MDVweDsgbWFyZ2luOiBhdXRvOyAgXHJcbiAgICBwYWRkaW5nLXRvcDogNjBweDsgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZmlndXJlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgaDYge2NvbG9yOiAjMDAwO30gIFxyXG4gICAgcHsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XHJcbn1cclxuLmZsb2F0aW5nLW5vdGlmIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDsgcmlnaHQ6IDM0cHg7IGJvdHRvbTogNzBweDsgIFxyXG4gICAgei1pbmRleDogODg4OyBcclxuICAgIHdpZHRoOiA3MHB4OyBoZWlnaHQ6IDcxcHg7XHJcbiAgICAubm90aWYtaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDcwcHg7IGhlaWdodDogNzFweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IFxyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyOyB6LWluZGV4OiAzO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljb24tbG9uY2VuZy5wbmcnKSBuby1yZXBlYXQgMCAwOyBcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyBib3R0b206IDA7IFxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICMwMDA7IFxyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOyBwYWRkaW5nLXRvcDogMjJweDsgXHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIC5ub3RpZi10ZXh0IHtcclxuICAgICAgICB3aWR0aDogNTIwcHg7IG1heC1oZWlnaHQ6IDQ2NXB4OyB6LWluZGV4OiAzOyBcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQ6ICMxRDRDOEQ7IG9wYWNpdHk6IDAuOTU7XHJcbiAgICAgICAgcmlnaHQ6IDc1cHg7IGJvdHRvbTogLTI1cHg7IHBhZGRpbmc6IDM1cHggMHB4IDM1cHggNDBweDsgICAgXHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICNmZmY7ICBcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OyBcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47ICAgICAgICBcclxuICAgICAgICAvKnRyYW5zaXRpb246IGFsbCAuNCBlYXNlLW91dDsgKi9cclxuICAgICAgICBoNiB7bWFyZ2luLWJvdHRvbTogMTBweDt9XHJcbiAgICAgICAgcCB7bWFyZ2luLWJvdHRvbTogMjBweDsgY29sb3I6ICNFNkU2RTY7fSAgXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDogMTFweDsgaGVpZ2h0OiAxNnB4OyBjb250ZW50OiBcIlwiOyBcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvbi1hcnJvdy1mbG9hdC5wbmcnKSBuby1yZXBlYXQgMCAwOyBcclxuICAgICAgICAgICAgYm90dG9tOiA0NXB4OyByaWdodDogLTExcHg7ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLndyYXAtdGFibGUge1xyXG4gICAgICAgICAgICB0YWJsZSB7bWFyZ2luLWJvdHRvbTogMDt9IFxyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDowOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdW5zZXQ7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7IHBhZGRpbmc6MTBweCAxNXB4OyBcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICAgICAgICAgICAgICAmLmN5YW4ge2NvbG9yOiAjREJFQUZGO31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDBCNzQ4OyBmb250LXdlaWdodDogYm9sZDsgXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7Y29sb3I6IzA5RTI1RTt9IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi50ZC1idG4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7cGFkZGluZy1sZWZ0OjA7fVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtwYWRkaW5nLXJpZ2h0OiAwO30gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxuICAgIC5vdmVybGF5LXRyYW5zcGFyZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHRvcDogMDsgbGVmdDogMDsgXHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IHotaW5kZXg6IDE7ICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTsgXHJcbiAgICB9XHJcbiAgICAmLmFjdCB7XHJcbiAgICAgICAgei1pbmRleDogOTk5OTtcclxuICAgICAgICAvKiAubm90aWYtdGV4dCB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA5NXB4OyBcclxuICAgICAgICB9ICovXHJcbiAgICB9XHJcbn1cclxuXHJcbmJvZHkuYmcge292ZXJmbG93OiBoaWRkZW47fVxyXG5cclxuXHJcblxyXG4vKiBmb290ZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovIiwiLmJnLXNpZ257XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwwIDAgMCAwKTtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgaW1ne1xyXG4gICAgICAgIG9iamVjdC1maXQ6Y292ZXI7XHJcbiAgICAgICAgbWluLXdpZHRoOjEwMCU7XHJcbiAgICAgICAgbWluLWhlaWdodDoxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDp1bnNldDtcclxuICAgIH1cclxufVxyXG4uc2lnbi1sYXlvdXR7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6Zml4ZWQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XHJcbiAgICBtaW4taGVpZ2h0OjEwMHZoO1xyXG4gICAgLndyYXBwZXJ7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICBwYWRkaW5nOjcwcHggMCAxMDBweDtcclxuICAgICAgICA+IC5yb3d7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXB0aW9ue1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLG51bGwgbnVsbCAxMTVweCAxMTBweClcclxuICAgICAgICB3aWR0aDo0MCU7XHJcbiAgICAgICAgYWxpZ24tc2VsZjpmbGV4LWVuZDtjb2xvcjojRkZGO1xyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToyLjRyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MS40O1xyXG4gICAgICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybS1sb2dpbntcclxuICAgICAgICB3aWR0aDo0NzBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDphdXRvO1xyXG4gICAgICAgIGFsaWduLXNlbGY6Y2VudGVyO1xyXG4gICAgICAgIGZsZXg6dW5zZXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDokY29sb3ItcHJpbWFyeTtcclxuICAgICAgICBjb2xvcjojRkZGO1xyXG4gICAgICAgIHBhZGRpbmc6MCA1MHB4IDYwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czoyMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBjb2xvcjojODZBMkM5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9yZ290LWxpbmt7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MS40cmVtO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dDsgXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29sb3ItaW5pdGlhbDsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFiLWxvZ2lue1xyXG4gICAgICAgIGRpc3BsYXk6ZmxleDtcclxuICAgICAgICBtYXJnaW46MCAtNTBweCA1MHB4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICB3aWR0aDo1MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDo5MHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDo5MHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6Mi4ycmVtO1xyXG4gICAgICAgICAgICBjb2xvcjojRkZGO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDokY29sb3ItdGVydGlhcnk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MHB4IDBweCA0MHB4IDBweDtcclxuICAgICAgICAgICAgKiB7IG9wYWNpdHk6MC40OyB9XHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIG1hcmdpbjowIDVweCAtNXB4IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKXtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MHB4IDBweCAwcHggNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTtcclxuICAgICAgICAgICAgICAgICogeyBvcGFjaXR5OjE7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3R7XHJcbiAgICAgICAgZm9udC1zaXplOjEuNHJlbTtcclxuICAgICAgICBtYXJnaW46OTBweCAwIDAgMCA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZ24tcmFkaW97XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBoZWlnaHQ6MTYwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czoxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6I0ZGRjtcclxuICAgICAgICBib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7IFxyXG4gICAgICAgIGlucHV0W3R5cGU9cmFkaW9de1xyXG4gICAgICAgICAgICBvcGFjaXR5OjA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaWd1cmV7XHJcbiAgICAgICAgICAgIHdpZHRoOjYwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgbWFyZ2luOjMycHggYXV0byAxNXB4IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYigxNjcsMTY3LDE2Nyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDE1OGRlZywgcmdiYSgxNjcsMTY3LDE2NywxKSAwJSwgcmdiYSgxMTMsMTEzLDExMywxKSAxMDAlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMTU4ZGVnLCByZ2JhKDE2NywxNjcsMTY3LDEpIDAlLCByZ2JhKDExMywxMTMsMTEzLDEpIDEwMCUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTU4ZGVnLCByZ2JhKDE2NywxNjcsMTY3LDEpIDAlLCByZ2JhKDExMywxMTMsMTEzLDEpIDEwMCUpO1xyXG4gICAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPVwiI2E3YTdhN1wiLGVuZENvbG9yc3RyPVwiIzcxNzE3MVwiLEdyYWRpZW50VHlwZT0xKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoyNXB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjojNjY2O1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjokY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OjBweCA1cHggMTVweCByZ2JhKDAsMCwwLDAuMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6JGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzowcHggNXB4IDE1cHggcmdiYSgwLDAsMCwwLjIpO1xyXG4gICAgICAgICAgICBmaWd1cmV7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMTIzLDE3OSw2Myk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgxNThkZWcsIHJnYmEoMTIzLDE3OSw2MywxKSAwJSwgcmdiYSg1OSwxNDgsMzcsMSkgMTAwJSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgxNThkZWcsIHJnYmEoMTIzLDE3OSw2MywxKSAwJSwgcmdiYSg1OSwxNDgsMzcsMSkgMTAwJSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTU4ZGVnLCByZ2JhKDEyMywxNzksNjMsMSkgMCUsIHJnYmEoNTksMTQ4LDM3LDEpIDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1cIiM3YmIzM2ZcIixlbmRDb2xvcnN0cj1cIiMzYjk0MjVcIixHcmFkaWVudFR5cGU9MSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGl0bGV7XHJcbiAgICAgICAgd2lkdGg6YXV0bztcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICBwYWRkaW5nOjMwcHggNjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMTMwLDE4NSw1OSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEzMCwxODUsNTksMSkgMCUsIHJnYmEoOCwxMzIsNTcsMSkgMTAwJSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEzMCwxODUsNTksMSkgMCUsIHJnYmEoOCwxMzIsNTcsMSkgMTAwJSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxMzAsMTg1LDU5LDEpIDAlLCByZ2JhKDgsMTMyLDU3LDEpIDEwMCUpO1xyXG4gICAgICAgIGNvbG9yOiNGRkY7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czowcHggMHB4IDQwcHggMHB4O1xyXG4gICAgICAgIG1hcmdpbjowIC01MHB4IDUwcHg7XHJcbiAgICAgICAgaDR7ZGlzcGxheTppbmxpbmU7fVxyXG4gICAgICAgIGltZ3tcclxuICAgICAgICAgICAgbWFyZ2luOjAgNXB4IC01cHggMDtcclxuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcC5mb3Jnb3QtdGV4dHtcclxuICAgICAgICBjb2xvcjojNzhBM0RFO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206NDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDoxLjY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53cmFwLXBvcHVwLm90cC1wb3B1cHtcclxuICAgIC5ib3gtcG9wdXB7XHJcbiAgICAgICAgd2lkdGg6NTUwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgaDR7XHJcbiAgICAgICAgICAgIGNvbG9yOiMzQzNDM0M7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9ue1xyXG4gICAgICAgICAgICB3aWR0aDozMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm90cHtcclxuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO1xyXG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMjBweCA7XHJcbiAgICAgICAgICAgIGlucHV0e1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6NTBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDo2MHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDojRUFFQUVBO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzowIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6My4wcmVtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnRpdGxlLXRhYntcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgZmlndXJle1xyXG4gICAgICAgIHBhZGRpbmc6OHB4IDAgMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIGZsZXg6IDEgMCA0MHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogNDBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAudGV4dHtcclxuICAgICAgICBoNXtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5tYXgtbGltaXR7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTVFNUU1O1xyXG4gICAgaDV7XHJcbiAgICAgICAgY29sb3I6ICMwMjM4ODA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIGg2e1xyXG4gICAgICAgIGNvbG9yOiAjODg4ODg4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbn1cclxuIiwiLmJveC1yb3VuZGVke1xyXG5cdGJvcmRlcjouMXJlbSBzb2xpZCAjRURFREVEO1xyXG5cdG1hcmdpbi1ib3R0b206IDQuNXJlbTtcclxuXHRAaW5jbHVkZSBib3JkZXJSYWRpdXMoMnJlbSk7XHJcblxyXG5cdC50aXRsZS1ib3gtcm91bmRlZHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZXB0ZW5hcnk7XHJcblx0XHRwYWRkaW5nOiAyLjNyZW0gNHJlbTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDJyZW0gMnJlbSAwIDApO1xyXG5cclxuXHRcdC5idXR0b257XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHRcdFx0XHJcblx0XHR9XHJcblx0XHQubGVmdC10aXRsZXtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0LmJ1dHRvbnttYXJnaW4tbGVmdDogMnJlbTt9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jb250ZW50LWJveC1yb3VuZGVke1xyXG5cdFx0cGFkZGluZzogM3JlbSA0cmVtIDRyZW07XHJcblx0XHRAaW5jbHVkZSBib3JkZXJSYWRpdXMoMCAwIDJyZW0gMnJlbSk7XHJcblxyXG5cdFx0LnNjcm9sbC1ib3h7XHJcblx0XHRcdGhlaWdodDogOC43cmVtO1xyXG5cdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuXHRcdFx0cHttYXJnaW4tYm90dG9tOiAuNXJlbTtmb250LXNpemU6IDEuNXJlbTtmb250LXdlaWdodDogNTAwO31cclxuXHRcdH1cclxuXHRcdHRhYmxle21hcmdpbi1ib3R0b206IDA7d2lkdGg6IDEwMCU7fVxyXG5cdFx0LnJvd3tcclxuXHRcdFx0LyouY29sdW1ue21hcmdpbi1ib3R0b206IDJyZW07fSovXHJcblx0XHR9XHJcblxyXG5cdFx0Ji5oYWxmLWdyZXl7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0JjpiZWZvcmV7XHJcblx0XHRcdFx0Y29udGVudDpcIlwiO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1zZXB0ZW5hcnk7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHR6LWluZGV4OiAtMTtcclxuXHRcdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgMCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmJ1dHRvbi1kaXNhYmxlZCB7XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdHBvaW50ZXItZXZlbnRzOm5vbmU7XHRcdFx0XHRcclxufVxyXG4uc2lkZS1pbWd7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctbGVmdDogNi4ycmVtO1xyXG5cdG1pbi1oZWlnaHQ6IDVyZW07XHJcblxyXG5cdD4gaW1ne1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtLjNyZW07XHJcblx0XHRsZWZ0OiAwO1xyXG5cdH1cclxuXHQudGV4dC1zaWRlLWltZ3tcclxuXHRcdHNwYW57XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRmb250LXNpemU6IDEuM3JlbTtcclxuXHRcdFx0Y29sb3I6JGNvbG9yLXByaW1hcnk7IFxyXG5cdFx0fVxyXG5cdFx0aDV7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS44cmVtO1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRjb2xvcjogIzA5M0M4MTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYudjJ7XHJcblx0XHRtaW4taGVpZ2h0OiAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHQ+IGRpdiB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxyXG5cdFx0fVxyXG5cdFx0aW1ne1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHRvcDogYXV0bztcclxuXHRcdFx0bGVmdDogYXV0bztcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxLjJyZW07XHJcblx0XHR9XHJcblx0XHQudGV4dC1zaWRlLWltZ3tcclxuXHRcdFx0c3BhbntcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtmb250LXNpemU6IDEuNXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmJveC1wcm9ncmVzcy1yb3VuZGVke1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNHJlbTtcclxuXHJcblx0LnRpdGxlLXByb2dyZXNzLXJvdW5kZWR7XHJcblx0XHRjb2xvcjogJGNvbG9yLWluaXRpYWw7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuXHRcdHBhZGRpbmc6IDEuM3JlbSAzLjVyZW07XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Zm9udC1zaXplOiAxLjZyZW07XHJcblx0XHRAaW5jbHVkZSBib3JkZXJSYWRpdXMoMXJlbSAxcmVtIDAgMCk7XHJcblx0fVxyXG5cdC5jb250ZW50LXByb2dyZXNzLXJvdW5kZWR7XHJcblx0XHRwYWRkaW5nOiAycmVtIDMuNXJlbTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZXB0ZW5hcnk7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDAgMCAxcmVtIDFyZW0pO1xyXG5cclxuXHRcdC5jb2x7XHJcblx0XHRcdHNwYW57XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG8gLjlyZW07XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRjb2xvcjogIzU1NTU1NTtcclxuXHJcblx0XHRcdFx0Ji5kb3R7bWFyZ2luLWJvdHRvbTogMDt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5kb3R7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0d2lkdGg6IDEuNHJlbTtcclxuXHRoZWlnaHQ6IDEuNHJlbTtcclxuXHRAaW5jbHVkZSBib3JkZXJSYWRpdXMoNTAlKTtcclxuXHJcblx0Ji5kb3QtcmVke2JhY2tncm91bmQtY29sb3I6ICNDMzJDMzF9XHJcblx0Ji5kb3QtZ3JlZW57YmFja2dyb3VuZC1jb2xvcjogIzgxQkUyN31cclxuXHQmLmRvdC1vcmFuZ2V7YmFja2dyb3VuZC1jb2xvcjogI0ZGQjQwMH1cclxufVxyXG5cclxuLm5vdGUtcHJvZ3Jlc3N7XHJcblx0PiBzcGFue1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiA0LjJyZW07XHJcblx0XHQuZG90e1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtLjRyZW07XHJcblx0XHRcdG1hcmdpbi1yaWdodDogLjVyZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYWNjb3JkaW9uLWNvbnRlbnR7XHJcblx0cGFkZGluZy1ib3R0b206IDIuNHJlbTtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHQmLmFjdGl2ZXtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxufVxyXG4uYWNjb3JkaW9uLWJ1dHRvbntcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRjb2xvcjogIzA5M0M4MTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxLjhyZW07XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMS40cmVtO1xyXG5cclxuXHQmOmFmdGVye1xyXG5cdFx0Y29udGVudDpcIlwiO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMXJlbTtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2Fycm93LWJvdHRvbS5zdmcnKW5vLXJlcGVhdCBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVye1xyXG5cdFx0Y29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcblx0fVxyXG5cclxuXHQmLmFjdGl2ZXtcclxuXHRcdCY6YWZ0ZXJ7QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTt9XHJcblx0fVxyXG59XHJcblxyXG4uc2xpZGVyLWRhc2hib2FyZHtcclxuXHQubGlzdC1zbGlkZXtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGZpZ3VyZXtcclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDFyZW0pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRmaWdjYXB0aW9ue1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDEzMCwxODUsNTksMSk7XHJcblx0XHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgxMzAsMTg1LDU5LDEpIDAlLCByZ2JhKDEzMCwxODUsNTksMC45OSkgMTclLCByZ2JhKDYyLDE1MiwzMCwwLjk1KSAxMDAlKTtcclxuXHRcdFx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgcmlnaHQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDEzMCwxODUsNTksMSkpLCBjb2xvci1zdG9wKDE3JSwgcmdiYSgxMzAsMTg1LDU5LDAuOTkpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDYyLDE1MiwzMCwwLjk1KSkpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMTMwLDE4NSw1OSwxKSAwJSwgcmdiYSgxMzAsMTg1LDU5LDAuOTkpIDE3JSwgcmdiYSg2MiwxNTIsMzAsMC45NSkgMTAwJSk7XHJcblx0XHRcdGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMTMwLDE4NSw1OSwxKSAwJSwgcmdiYSgxMzAsMTg1LDU5LDAuOTkpIDE3JSwgcmdiYSg2MiwxNTIsMzAsMC45NSkgMTAwJSk7XHJcblx0XHRcdGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEzMCwxODUsNTksMSkgMCUsIHJnYmEoMTMwLDE4NSw1OSwwLjk5KSAxNyUsIHJnYmEoNjIsMTUyLDMwLDAuOTUpIDEwMCUpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEzMCwxODUsNTksMSkgMCUsIHJnYmEoMTMwLDE4NSw1OSwwLjk5KSAxNyUsIHJnYmEoNjIsMTUyLDMwLDAuOTUpIDEwMCUpO1xyXG5cdFx0XHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzgyYjkzYicsIGVuZENvbG9yc3RyPScjM2U5ODFlJywgR3JhZGllbnRUeXBlPTEgKTtcclxuXHJcblx0XHRcdHBhZGRpbmc6IDMuMHJlbSAzLjVyZW0gNS4ycmVtO1xyXG5cdFx0XHRvcGFjaXR5OiAuOTU7XHJcblx0XHRcdHdpZHRoOiAyOXJlbTtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1pbml0aWFsO1xyXG5cdFx0XHRmb250LXNpemU6IDJyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCA2cmVtIDAgbnVsbCk7XHJcblx0XHRcdEBpbmNsdWRlIGJvcmRlclJhZGl1cyg0cmVtIDAgMCAwKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5zbGljay1kb3Rze1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDkuMnJlbSAuNXJlbSBudWxsKTtcclxuXHJcblx0XHRsaXtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMCAuNHJlbTtcclxuXHRcdFx0aGVpZ2h0OiAxcmVtO1xyXG5cclxuXHRcdFx0YnV0dG9ue1xyXG5cdFx0XHRcdHdpZHRoOiAxcmVtO1xyXG5cdFx0XHRcdGhlaWdodDogMXJlbTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC42Myk7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAwO1xyXG5cdFx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRAaW5jbHVkZSBib3JkZXJSYWRpdXMoNTAlKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5zbGljay1hY3RpdmV7XHJcblx0XHRcdFx0YnV0dG9ue2JhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnJvdy1jbGFpbXtcclxuXHRtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG5cdC5jb2x1bW57XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0Y29sb3I6Izc3NzsgXHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRjb2xvcjokY29sb3Itc2Vjb25kYXJ5OyBcclxuXHRcdFx0LnNpZGUtaW1nIHtcclxuXHRcdFx0XHQudGV4dC1zaWRlLWltZyB7XHJcblx0XHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6JGNvbG9yLXNlY29uZGFyeTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ub3RpZi1pbmxpbmV7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZzogMS40cmVtIDRyZW0gMS40cmVtIDIuNHJlbTtcclxuXHRib3JkZXI6IC4xcmVtIHNvbGlkICNDMTE2MTY7XHJcblx0Ym9yZGVyLXJhZGl1czogLjRyZW07XHJcblx0YmFja2dyb3VuZDogI0ZGREVERTtcclxuXHRjb2xvcjogI0MzMjAyMDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDJyZW07XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQuY2xvc2Utbm90aWZ7XHJcblx0XHR3aWR0aDogMnJlbTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDIuMnJlbSAwIG51bGwpO1xyXG5cclxuXHRcdCY6YmVmb3JlLCY6YWZ0ZXJ7XHJcblx0XHRcdGNvbnRlbnQ6XCJcIjtcclxuXHRcdFx0aGVpZ2h0OiAuMnJlbTtcclxuXHRcdFx0YmFja2dyb3VuZDogI0MzMjAyMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogLjJyZW07XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xyXG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcclxuXHRcdH1cclxuXHRcdCY6YWZ0ZXJ7XHJcblx0XHRcdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTQ1ZGVnKSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmdyZWVue1xyXG5cdFx0Y29sb3I6ICM4MUJFMjc7XHJcblx0XHRib3JkZXItY29sb3I6IzgxQkUyNztcclxuXHRcdGJhY2tncm91bmQ6ICNmM2ZmZTE7XHJcblx0fVxyXG5cclxuXHQmLm9yYW5nZXtcclxuXHRcdGNvbG9yOiAjRkZCNDAwO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiNGRkI0MDA7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZlZmM5O1xyXG5cdH1cclxufVxyXG5cclxuLnJvdy13aGl0ZS1yb3VuZGVke1xyXG5cdG1hcmdpbi1ib3R0b206IDRyZW07XHJcblx0PiAuY29sdW1ue1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdD4gLmlubmVyLWNvbHVtbntcclxuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWluaXRpYWw7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMXJlbSAycmVtIDAgcmdiYSgwLDAsMCwwLjEpO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxLjJyZW07XHJcblx0XHRcdHBhZGRpbmc6IDIuN3JlbSAzcmVtO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblxyXG5cdFx0XHRoNXtcclxuXHRcdFx0XHRmb250LXNpemU6IDIuMnJlbTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdGg2e2ZvbnQtd2VpZ2h0OiA3MDA7fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYubm8tcGFkZGluZ3tcclxuXHRcdFx0PiAuaW5uZXItY29sdW1ue1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZ3JleS10ZXh0e2NvbG9yOiAjOTk5OTk5O21hcmdpbi1ib3R0b206IC41cmVtO31cclxuLmJsdWUtdGV4dHtjb2xvcjogJGNvbG9yLXRlcnRpYXJ5OyBtYXJnaW4tYm90dG9tOiAuOHJlbTt9XHJcblxyXG4ucGVyLW1vbnRoe1xyXG5cdGNvbG9yOiAkY29sb3ItdGVydGlhcnk7XHJcblx0c3Bhbntmb250LXNpemU6IDEuNHJlbTtmb250LXdlaWdodDogNzAwO2NvbG9yOiAjNzE3MTcxO31cclxufVxyXG5cclxuLnJvdy12YWx1ZXtcclxuXHQ+IC5jb2x1bW57XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblxyXG5cdFx0PiBpbWd7XHJcblx0XHRcdHdpZHRoOiA0cmVtO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDJyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0LnRleHQtcm93LXZhbHVle1xyXG5cdFx0XHRoNntmb250LXdlaWdodDogNzAwO21hcmdpbi1ib3R0b206IDByZW07IGNvbG9yOiAjMDAwO31cclxuXHRcdH1cclxuXHRcdC5ibHVlLXRleHQge2ZvbnQtd2VpZ2h0OiBib2xkO31cclxuXHR9XHJcbn1cclxuXHJcbi5yb3ctbGluZS1zcGFjZXtcclxuXHRtYXJnaW4tbGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRib3JkZXItYm90dG9tOiAuMXJlbSBzb2xpZCAjRjBGMEYwO1xyXG5cclxuXHQ+IC5jb2x1bW57XHJcblx0XHRib3JkZXItcmlnaHQ6IC4xcmVtIHNvbGlkICNGMEYwRjA7XHJcblx0XHRwYWRkaW5nOiAzcmVtIDNyZW0gMXJlbTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG5cdFx0JjpsYXN0LWNoaWxke1xyXG5cdFx0XHRib3JkZXItcmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucm93LWJnLWdyZXl7XHJcblx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdD4gLmNvbHVtbntcclxuXHRcdGJhY2tncm91bmQ6ICNGQUZBRkE7XHJcblx0XHRwYWRkaW5nOiAycmVtIDNyZW07XHJcblxyXG5cdFx0JjpmaXJzdC1jaGlsZHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCAwIDAgMXJlbTtcclxuXHRcdH1cclxuXHRcdCY6bGFzdC1jaGlsZHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCAwIDFyZW0gMDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIuZm9ybS5hY2NvdW50LWZvcm17XHJcbiAgICBib3JkZXItcmFkaXVzOjEwcHg7XHJcbn1cclxuLnRpdGxlLWFjY291bnR7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOjMxcHg7XHJcbiAgICBoNXttYXJnaW4tYm90dG9tOjA7fVxyXG4gICAgYXtcclxuICAgICAgICBtYXJnaW4tbGVmdDphdXRvO1xyXG4gICAgICAgIGxpbmUtaGVpaGd0OjIwcHg7XHJcbiAgICAgICAgY29sb3I6IzUwNTA1MDtcclxuICAgICAgICBwYWRkaW5nOjAgMCAwIDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY28tbG9jay5zdmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgY29sb3I6JGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJoZWFkZXIuaGVhZC1taXNje1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBwYWRkaW5nOjgwcHggMCAwcHg7XHJcbn1cclxuXHJcbi5taXNjLWxheW91dHtcclxuICAgIGgze1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xyXG4gICAgfVxyXG4gICAgaDV7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTozcmVtO1xyXG4gICAgfVxyXG4gICAgZmlndXJle1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206M3JlbTtcclxuICAgIH1cclxuXHJcbn0iLCJAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcclxuXHRodG1sIHtcdFx0XHJcblx0XHRmb250LXNpemU6IDU2LjI1JTtcclxuXHR9XHJcblx0Ym9keSB7XHJcblx0XHRpbWcge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKC44KTtcclxuXHRcdH1cdFx0XHJcblx0fVx0XHJcblxyXG5cdGhlYWRlciB7XHJcblx0XHQmLmxvZ2luIHtcclxuXHRcdFx0LmxvZ28ge1xyXG5cdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKC45KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuaGVhZC1taXNjIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDUwcHg7IFxyXG5cdFx0fVxyXG5cdH1cclxuXHQuY29udGVudC1yaWdodCB7XHJcblx0XHRmaWd1cmUge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2xpY2stc2xpZGVyIHtcclxuXHRcdGltZyB7XHJcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7IFxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2lnbi1sYXlvdXQge1xyXG5cdFx0LndyYXBwZXIge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMzVweDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDM1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5taXNjLWxheW91dCB7XHJcblx0XHRmaWd1cmUge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtNTBweDtcclxuXHRcdFx0aW1nIHt9IFxyXG5cdFx0fVxyXG5cdH1cclxuXHQud3JhcC10YWJsZSB7XHJcblx0XHRmb250LXNpemU6MS40OHJlbTtcclxuXHRcdCYuYmx1ZS1ib3JkZXJlZCB7XHRcdFx0XHJcblx0XHRcdG1heC1oZWlnaHQ6IDc1MHB4OyBcclxuXHRcdH1cclxuXHR9XHJcblx0aDUge2ZvbnQtc2l6ZTogMS45cmVtO31cclxuXHQuZGFzaGJvYXJkLWNvbnRlbnQge1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9iZy1kYXNoYm9hcmQtZGVza3RvcC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xyXG5cdH1cclxuXHQucm93LXN1Y2Nlc3Mge1xyXG5cdFx0d2lkdGg6IDYxNXB4OyBcclxuXHRcdGZpZ3VyZSB7XHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTsgXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn0iLCJAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcclxuICAgIGhlYWRlcntcclxuICAgICAgICAmLmRhc2hib2FyZHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgLmxvZ297XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICBpbWd7d2lkdGg6IDEyM3B4O31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmlnaHQtaGVhZGVye1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwMHB4KTsgcGFkZGluZzowIDU1cHggMCA3N3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRhc2hib2FyZC1jb250ZW50e1xyXG4gICAgICAgIGFzaWRle1xyXG4gICAgICAgICAgICB3aWR0aDogMjMwcHg7IHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICAgICAgLmZvb3R7XHJcbiAgICAgICAgICAgICAgICBoNntmb250LXNpemU6IDEuNXJlbTt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbmF2e1xyXG4gICAgICAgICAgICAgICAgYXtmb250LXNpemU6IDEuNHJlbTsgbWFyZ2luLWJvdHRvbTogMS41cmVtO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1yaWdodHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIzMHB4KTsgcGFkZGluZzogNThweCA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC53cmFwLXRhYmxle1xyXG4gICAgICAgIHRkLHRoe3BhZGRpbmc6IDE1cHggMTBweDsgZm9udC1zaXplOiAxLjNyZW07fVxyXG4gICAgICAgICYuYmx1ZS1ib3JkZXJlZCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU5NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb257XHJcbiAgICAgICAgLmxpc3QtYWNjb3JkaW9ue1xyXG4gICAgICAgICAgICBoNntmb250LXNpemU6IDEuNnJlbTt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWFjY29yZGlvbntcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRpdGxlLWNvbnRlbnR7Zm9udC1zaXplOiAxLjhyZW07fVxyXG4gICAgLndyYXAtdGFiaW5ne1xyXG4gICAgICAgIC5jb250ZW50LXRhYntwYWRkaW5nOiAzNXB4IDAgMDt9XHJcbiAgICB9XHJcbiAgICAuYm94LXdoaXRle1xyXG4gICAgICAgIHBhZGRpbmc6IDRyZW0gNXJlbTtcclxuICAgICAgICBoNXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg2e2ZvbnQtc2l6ZTogMS42cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtO31cclxuICAgICAgICBsYWJlbHttYXJnaW4tYm90dG9tOiAwO31cclxuICAgICAgICAucmVzdWx0e1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICBoZWFkZXJ7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAmLmRhc2hib2FyZHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA5cmVtOyBwb3NpdGlvbjogZml4ZWQ7IHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAubG9nb3tcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXJlbTtcclxuICAgICAgICAgICAgICAgIGltZ3ttYXJnaW4tdG9wOiAycmVtO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmlnaHQtaGVhZGVye1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEzNXB4KTtcclxuICAgICAgICAgICAgICAgIGg0e2ZvbnQtc2l6ZTogMS41cmVtO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxvZ2lue1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IG1hcmdpbjogMCA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kYXNoYm9hcmQtY29udGVudHtcclxuICAgICAgICBhc2lkZXtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMDsgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgLmJ1cmdfbmF2e1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7cG9zaXRpb246IGZpeGVkO3dpZHRoOiAzNHB4O3RleHQtYWxpZ246IHJpZ2h0O2N1cnNvcjogcG9pbnRlcjsgZmxvYXQ6IHJpZ2h0OyBjdXJzb3I6IHBvaW50ZXI7IGxlZnQ6IDMwcHg7IHotaW5kZXg6IDk4OTt0b3A6MzVweDtcclxuICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7d2lkdGg6IDEwMCU7aGVpZ2h0OiA0cHg7ZmxvYXQ6IHJpZ2h0O21hcmdpbi1ib3R0b206IDdweDsgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMTMwLDE4NSw1OSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAgcmdiYSg4LDEzMiw1NywxKSAwJSwgcmdiYSgxMzAsMTg1LDU5LDEpIDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg4LDEzMiw1NywxKSAwJSwgcmdiYSgxMzAsMTg1LDU5LDEpIDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoOCwxMzIsNTcsMSkgMCUsIHJnYmEoMTMwLDE4NSw1OSwxKSAxMDAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmJne1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogODk5O1xyXG4gICAgICAgICAgICAgICAgLmJ1cmdfbmF2e1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI3NXB4OyB0b3A6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7b3BhY2l0eTogMDt9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tZW51LW1vYmlsZXtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwcHg7IGxlZnQ6IDA7IHJpZ2h0OmF1dG87IGJhY2tncm91bmQ6ICNmZmY7IHotaW5kZXg6IDg5OTsgZGlzcGxheTogbm9uZTsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMzQycHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7ICBvdmVyZmxvdzogYXV0bzsgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIG5hdntcclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDExNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWd7bGVmdDogNzBweDt9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDpjYWxjKDEwMCUgLSAxMTBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZm9vdHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNjBweCA2NXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY2NvdW50e1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2MHB4IDAgMzVweCAwO1xyXG4gICAgICAgICAgICAgICAgLmxvZ28tbW9iaWxle1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICAgICAgICAgICAgICBpbWd7d2lkdGg6IDEyM3B4OyBoZWlnaHQ6IGF1dG87IG1hcmdpbi1ib3R0b206IDMuNXJlbTt9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubGlua3tmb250LXNpemU6IDEuNnJlbTt9XHJcbiAgICAgICAgICAgICAgICBmaWd1cmV7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5MHB4OyB3aWR0aDogOTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1yaWdodHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDAgMzBweDsgcGFkZGluZy10b3A6IDE0MHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW4tYm90dG9tOiA1NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uYXYtb3ZlcmxheXt6LWluZGV4OiA4OyBiYWNrZ3JvdW5kOiAjMDAwOyBvcGFjaXR5OiAwLjU7IHBvc2l0aW9uOiBmaXhlZDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgbGVmdDogMDsgdG9wOiAwcHg7fVxyXG4gICAgLndyYXAtcG9wdXB7XHJcbiAgICAgICAgLmJveC1wb3B1cHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxNSUgMnJlbTsgcGFkZGluZzogM3JlbTtcclxuICAgICAgICAgICAgLmNvbnRhaW5lcntwYWRkaW5nOiAwO31cclxuICAgICAgICAgICAgLnJvdyAuY29sdW1uLmNvbHVtbi01MHt3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiB1bnNldDt9XHJcbiAgICAgICAgICAgIGxhYmVse2ZvbnQtc2l6ZTogMS40cmVtO31cclxuICAgICAgICAgICAgaDZ7Zm9udC1zaXplOiAxLjZyZW07fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xyXG4gICAgLnNpZ24tbGF5b3V0e1xyXG4gICAgICAgIC53cmFwcGVye3BhZGRpbmc6IDEwNXB4IDAgNjBweDsgbWFyZ2luOiAwIDYwcHg7fVxyXG4gICAgICAgIC5mb3JtLWxvZ2lue1xyXG4gICAgICAgICAgICAmLmNvbHVtbi5jb2x1bW4tMzV7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0OyBmbGV4OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FwdGlvbntcclxuICAgICAgICAgICAgbGVmdDogNnJlbTsgd2lkdGg6IDQwcmVtO1xyXG4gICAgICAgICAgICBoMntmb250LXNpemU6IDIuOHJlbTt9XHJcbiAgICAgICAgICAgIHB7Zm9udC1zaXplOiAycmVtO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYi1sb2dpbntcclxuICAgICAgICAgICAgYXtmb250LXNpemU6IDEuOHJlbTsgaGVpZ2h0OiA3MHB4OyBsaW5lLWhlaWdodDogN3JlbTt9ICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICAuc2lnbi1sYXlvdXR7XHJcbiAgICAgICAgLndyYXBwZXJ7bWFyZ2luOiAwIDYwcHg7IHBhZGRpbmctdG9wOiAzNXJlbTt9XHJcbiAgICAgICAgLmNhcHRpb257XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IGJvdHRvbTogdW5zZXQ7IGxlZnQ6IHVuc2V0OyB0b3A6IHVuc2V0OyByaWdodDogdW5zZXQ7IGFsaWduLXNlbGY6IHVuc2V0OyBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG4gICAgICAgICAgICBoMntmb250LXNpemU6IDJyZW07IG1hcmdpbi1ib3R0b206IDA7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAucm93e1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLmZvcm0tbG9naW57d2lkdGg6IDEwMCU7IG1heC13aWR0aDogdW5zZXQ7IHBhZGRpbmc6IDAgMjVweCA2MHB4O31cclxuICAgICAgICAgICAgJi5yb3ctY2VudGVye1xyXG4gICAgICAgICAgICAgICAgLmNvbHVtbi01MHtmbG9hdDogbGVmdDt9XHJcbiAgICAgICAgICAgICAgICAuZm9yZ290LWxpbmt7ZmxvYXQ6IHJpZ2h0O31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29sdW1uLTQ4e2Zsb2F0OiBsZWZ0OyBtYXJnaW4tYm90dG9tOiAycmVtO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYi1sb2dpbntcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC01MHB4IDE1cHg7XHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgaGVpZ2h0OiA2cmVtOyBsaW5lLWhlaWdodDogNnJlbTtcclxuICAgICAgICAgICAgICAgIGltZ3t3aWR0aDogMjJweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm17XHJcbiAgICAgICAgICAgIGxhYmVse2ZvbnQtc2l6ZTogMS4zcmVtO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3R7Zm9udC1zaXplOiAxLjJyZW07IG1hcmdpbi10b3A6IDZyZW07fVxyXG4gICAgfVxyXG4gICAgLndyYXAtcG9wdXB7XHJcbiAgICAgICAgJi5vdHAtcG9wdXB7XHJcbiAgICAgICAgICAgIC5ib3gtcG9wdXB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bzsgbWFyZ2luOiA1JSAyNXB4OyBwYWRkaW5nOiA3MHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBoNHtmb250LXNpemU6IDEuOHJlbTt9XHJcbiAgICAgICAgICAgICAgICBwe2ZvbnQtc2l6ZTogMS42cmVtO31cclxuICAgICAgICAgICAgICAgIC5vdHB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OiAwO31cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBidXR0b257d2lkdGg6IDEwMCU7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XHJcbiAgICAuYm94LXJvdW5kZWR7XHJcbiAgICAgICAgLnRpdGxlLWJveC1yb3VuZGVke1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtOyBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgLmJ1dHRvbntcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJveC1yb3VuZGVke1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yb3ctd2hpdGUtcm91bmRle1xyXG4gICAgICAgID4gLmNvbHVtbntcclxuICAgICAgICAgICAgLmlubmVyLWNvbHVtbntwYWRkaW5nOiAzcmVtO31cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLmdyZXktdGV4dHtmb250LXNpemU6IDEuNXJlbTt9XHJcbiAgICAucm93LXZhbHVle1xyXG4gICAgICAgID4gLmNvbHVtbntcclxuICAgICAgICAgICAgPiBpbWd7bWFyZ2luLXJpZ2h0OiAxcmVtO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVyLWRhc2hib2FyZHtcclxuICAgICAgICAubGlzdC1zbGlkZXtcclxuICAgICAgICAgICAgZmlnY2FwdGlvbntcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4gICAgXHJcbn0iLCJAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcclxuICAgIC5mb3Jte1xyXG4gICAgICAgICYuYWNjb3VudC1mb3Jte1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4gICAgXHJcbn0iLCJAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcclxuICAgIC50aXRsZS10YWJ7XHJcbiAgICAgICAgLnRleHR7XHJcbiAgICAgICAgICAgIGg1e2ZvbnQtc2l6ZTogMThweDsgbWFyZ2luLWJvdHRvbTogNXB4OyBsaW5lLWhlaWdodDogbm9ybWFsO31cclxuICAgICAgICAgICAgcHtmb250LXNpemU6IDEuNXJlbTsgbGluZS1oZWlnaHQ6IG5vcm1hbH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICBcclxufSIsIkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xyXG4gICAgLm1pc2MtbGF5b3V0e1xyXG4gICAgICAgIC53cmFwcGVye1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgNnJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICBcclxufSIsIkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4ICkge1xyXG4gICAgaGVhZGVye1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAmLmxvZ2lue1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgLmxvZ297d2lkdGg6IDEyOHB4O31cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kYXNoYm9hcmR7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgLmxvZ297XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGltZ3toZWlnaHQ6IDM5cHg7IHdpZHRoOiBhdXRvOyBtYXJnaW4tdG9wOiAxMHB4O31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmlnaHQtaGVhZGVye1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDYwcHg7IHdpZHRoOiAxMDAlOyBib3JkZXItcmFkaXVzOiAwIDAgNXJlbSA1cmVtOyBwYWRkaW5nOiAwIDNyZW07XHJcbiAgICAgICAgICAgICAgICAubGFuZ3tkaXNwbGF5OiBub25lO31cclxuICAgICAgICAgICAgICAgIGg0e2ZvbnQtc2l6ZTogMTVweDsgbGluZS1oZWlnaHQ6IDI1cHg7IG1hcmdpbjogMCBhdXRvO3BhZGRpbmc6IDFyZW0gMDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbnN7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtjb2xvcjogI2ZmZjt9XHJcbiAgICAgICAgICAgICAgICAmLm1vYmlsZS1vbmx5e2Rpc3BsYXk6IGJsb2NrO31cclxuICAgICAgICAgICAgICAgIC5kcm9wZG93bntcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpOyByaWdodDogLTE5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDc4cHg7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRhc2hib2FyZC1jb250ZW50e1xyXG4gICAgICAgIGFzaWRle1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAwOyBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAuYnVyZ19uYXZ7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtcmlnaHR7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwIDMwcHg7IFxyXG4gICAgICAgICAgICAvKnBhZGRpbmctdG9wOiAxNjVweDsgKi9cclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEyNXB4OyBcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luLWJvdHRvbTogNTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2LW92ZXJsYXl7ei1pbmRleDogODsgYmFja2dyb3VuZDogIzAwMDsgb3BhY2l0eTogMC41OyBwb3NpdGlvbjogZml4ZWQ7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGxlZnQ6IDA7IHRvcDogMHB4O31cclxuICAgIC5idXR0b24uYnV0dG9uLW91dGxpbmUsIGJ1dHRvbi5idXR0b24tb3V0bGluZSwgaW5wdXRbdHlwZT0nYnV0dG9uJ10uYnV0dG9uLW91dGxpbmUsIGlucHV0W3R5cGU9J3Jlc2V0J10uYnV0dG9uLW91dGxpbmUsIGlucHV0W3R5cGU9J3N1Ym1pdCddLmJ1dHRvbi1vdXRsaW5le2hlaWdodDogNDBweDsgbGluZS1oZWlnaHQ6IDMzcHg7fVxyXG4gICAgLmluZm8tdGV4dHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcHtmb250LXNpemU6IDEuNXJlbTt9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9ue1xyXG4gICAgICAgIC5saXN0LWFjY29yZGlvbntcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICAgICAgLmhlYWQtYWNjb3JkaW9ue1xyXG4gICAgICAgICAgICAgICAgaDZ7Zm9udC1zaXplOiAxLjZyZW07fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWFjY29yZGlvbntcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpZGUtaW1ne1xyXG4gICAgICAgICYudjJ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaWRlLWltZy52MiAudGV4dC1zaWRlLWltZyBzcGFue2ZvbnQtc2l6ZTogMS40cmVtOyBsaW5lLWhlaWdodDogMTVweDt9XHJcbiAgICAuc2lkZS1pbWcudjIgPiBpbWd7bWFyZ2luOiAwIGF1dG87IG1hcmdpbi1ib3R0b206IDVweDsgYm9yZGVyLXJhZGl1czogMTAwJTt9XHJcbiAgICAucm93LWNsYWlte1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IHRleHQtYWxpZ246IGNlbnRlcjsgZmxleC1kaXJlY3Rpb246IHJvdzsgXHJcbiAgICAgICAgLmNvbHVtbi5jb2x1bW4tMjV7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXgtd2lkdGg6IDI1JTsgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbHVtbiB7XHJcbiAgICAgICAgICAgIC5zaWRlLWltZyB7XHJcbiAgICAgICAgICAgICAgICAudGV4dC1zaWRlLWltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7Zm9udC1zaXplOiAxLjJyZW07fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi52MiB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYm94LXdoaXRle1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICAgICAgLmNvbnRhaW5lcntwYWRkaW5nOiAwO31cclxuICAgICAgICAucm93e21hcmdpbi1ib3R0b206IDA7fVxyXG4gICAgICAgIC5yb3cgLmNvbHVtbi5jb2x1bW4tNTAsLnJvdyAuY29sdW1uLmNvbHVtbi00MHt3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiB1bnNldDt9XHJcbiAgICAgICAgaDV7Zm9udC1zaXplOiAxLjZyZW07fVxyXG4gICAgICAgIGg2e2ZvbnQtc2l6ZTogMS41cmVtO31cclxuICAgICAgICAucmVzdWx0e1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDJyZW07IG1hcmdpbjogMCAwIDEwcHggMDsgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgaDUgYntjb2xvcjogI2ZmZjt9XHJcbiAgICAgICAgICAgIC5yb3d7bWFyZ2luLWJvdHRvbTogMDt9XHJcbiAgICAgICAgICAgIC5jb2x1bW57XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tMzAuY29sdW1uLW9mZnNldC0yMHt3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiB1bnNldDsgbWFyZ2luLWxlZnQ6IDA7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZXN1bHQuZm9ybSB7XHJcbiAgICAgICAgICAgIGxhYmVsIHttYXJnaW4tYm90dG9tOiA1cHg7fVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogLmZvcm0ge1xyXG4gICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgLmNvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaDYge21hcmdpbjogMDt9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5jb2x1bW4tNTAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjAlOyBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDYwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjAgMCAxcmVtIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7IG1heC13aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDQwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICovXHJcbiAgICB9XHJcbiAgICAuZm9ybSB7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAmLmluZm8ge3BhZGRpbmctbGVmdDogMDt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAuY29sdW1ue1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDA7ICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gICAgIFxyXG4gICAgXHJcbiAgICAud3JhcC10YWJpbmcgLmNvbnRlbnQtdGFie1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMHB4IDBweDtcclxuICAgIH1cclxuICAgIC5ib3gtd2hpdGUubm9ib3R0b20tcmFkaXVze1xyXG4gICAgICAgIC5jb250YWluZXIuZm9ybXtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybS5iZy1ibHVle1xyXG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMnJlbTtcclxuICAgICAgICAucm93e21hcmdpbi1ib3R0b206IDFyZW07fVxyXG4gICAgICAgIC5yb3cgLmNvbHVtbi5jb2x1bW4tNTAsLnJvdyAuY29sdW1uLmNvbHVtbi00MHt3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiB1bnNldDt9IFxyXG4gICAgfVxyXG4gICAgLmRhdGUtdGV4dHttYXJnaW4tYm90dG9tOiAxcmVtO31cclxuICAgIC5ncmV5LXRleHR7bGluZS1oZWlnaHQ6IG5vcm1hbDt9XHJcbiAgICBcclxuICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sIGlucHV0W3R5cGU9J251bWJlciddLCBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCBpbnB1dFt0eXBlPSdzZWFyY2gnXSwgaW5wdXRbdHlwZT0ndGVsJ10sIGlucHV0W3R5cGU9J3RleHQnXSwgaW5wdXRbdHlwZT0ndXJsJ10sIHRleHRhcmVhLCBzZWxlY3Qge1xyXG4gICAgICAgIGhlaWdodDogNDBweDsgXHJcbiAgICAgICAgcGFkZGluZzogLjZyZW0gMTVweDsgIFxyXG4gICAgfVxyXG4gICAgLmlucHV0LWZpbGUsIC5tdWx0aXBsZS11cGxvYWQge2hlaWdodDogNDBweCAhaW1wb3J0YW50O31cclxuICAgIC5pbnB1dC1maWxlID4gc3BhbiwgLm11bHRpcGxlLXVwbG9hZCA+IHNwYW4ge2hlaWdodDogNDBweDsgbGluZS1oZWlnaHQ6IDQwcHg7fVxyXG4gICAgLndyYXAtdGFibGUge1xyXG4gICAgICAgIC8qICYuY3VzdG9tLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIC5hY3Rpb24tdGFibGUge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge2Rpc3BsYXk6bm9uZTt9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAqL1xyXG4gICAgICAgICYuYmx1ZS1ib3JkZXJlZCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bzsgbWF4LWhlaWdodDogbm9uZTsgICAgXHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge3BhZGRpbmctYm90dG9tOjA7fSBcclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgIzJFNkNDMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOjA7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7ZGlzcGxheTpub25lO30gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG8ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgICAgIHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBsZWZ0OiAwOyBtYXJnaW4tbGVmdDogMDsgYm90dG9tOiAwO1xyXG4gICAgICAgICY6YmVmb3JlIHtkaXNwbGF5Om5vbmU7fSBcclxuICAgIH1cclxuICAgIC5zdGFydGRhdGUge1xyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xyXG4gICAgICAgICAgICAgICAgbGFiZWwge2Rpc3BsYXk6bm9uZTt9IFxyXG4gICAgICAgICAgICB9ICAgIFxyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmxhbmctbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgNjBweCA2NXB4IDYwcHg7IFxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogIzc1NzU3NTsgXHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFweDsgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDIzODgwOyBmb250LXdlaWdodDogYm9sZDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtwYWRkaW5nLWxlZnQ6IDFweDsgcGFkZGluZy1yaWdodDogMDt9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yb3ctc3VjY2VzcyB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87IFxyXG4gICAgICAgIGZpZ3VyZSB7d2lkdGg6IDc1JTsgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvO30gXHJcbiAgICB9XHJcbiAgICAuZmxvYXRpbmctbm90aWYge1xyXG4gICAgICAgIHJpZ2h0OiAxMHB4OyBib3R0b206IDI1cHg7IFxyXG4gICAgICAgIC5ub3RpZi1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNjFweDsgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4OyBwYWRkaW5nLXRvcDogMjBweDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIC5ub3RpZi10ZXh0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDM0NXB4OyBtYXgtaGVpZ2h0OiAzNjBweDsgXHJcbiAgICAgICAgICAgIGJvdHRvbTogNzVweDsgXHJcbiAgICAgICAgICAgIHJpZ2h0OiA1cHggIWltcG9ydGFudDsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMHB4IDM1cHggMjVweDsgXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAud3JhcC10YWJsZSB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0LnBhc3N3b3JkLFxyXG4gICAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSB7XHJcbiAgICAgICAgJi5lcnJvciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2FsYygxMDAlIC0gNDJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDYzcHggKSB7XHJcbiAgICAucG9wdXB7XHJcbiAgICAgICAgLnBvcHVwLWlubmVye1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XHJcbiAgICAgICAgICAgIC50b3Atc2lkZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB1bnNldDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYm90dG9tLXNpZGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjVweCAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAzNTBweCApIHtcclxuICAgIC5mbG9hdGluZy1ub3RpZiB7ICBcclxuICAgICAgICAubm90aWYtdGV4dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMTBweDsgICBcclxuICAgICAgICAgICAgcmlnaHQ6IC01cHggIWltcG9ydGFudDsgICAgICAgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMHB4IDM1cHggMTVweDsgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiBcclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG4gIGFuZCAobWluLWRldmljZS13aWR0aDogMzIwcHgpIFxyXG4gIGFuZCAobWF4LWRldmljZS13aWR0aDogNTYwcHgpXHJcbiAgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXHJcbiAgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XHJcbiAgICBoZWFkZXIuZGFzaGJvYXJkIC5ub3RpZmljYXRpb25zIC5kcm9wZG93biB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMjM1cHg7XHJcbiAgICB9XHJcbiAgICAuZmxvYXRpbmctbm90aWYge1xyXG4gICAgICAgIC5ub3RpZi10ZXh0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IDc1cHggIWltcG9ydGFudDsgYm90dG9tOiAwcHg7IFxyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNzVweDsgcGFkZGluZy10b3A6IDIwcHg7IHBhZGRpbmctYm90dG9tOiAyMHB4OyAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJveC1yb3VuZGVkIHtcclxuICAgICAgICAuY29udGVudC1ib3gtcm91bmRlZCB7XHJcbiAgICAgICAgICAgIC5zY3JvbGwtYm94IHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDlyZW07IFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXQucGFzc3dvcmQsXHJcbiAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddIHtcclxuICAgICAgICAmLmVycm9yIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjYWxjKDEwMCUgLSA0NXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHggKSB7XHJcbiAgICAuc2lnbi1sYXlvdXR7XHJcbiAgICAgICAgLndyYXBwZXJ7bWFyZ2luOiAwIDE1cHg7IHBhZGRpbmctdG9wOiAxNjhweDt9XHJcbiAgICAgICAgLmNhcHRpb257XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IGJvdHRvbTogdW5zZXQ7IGxlZnQ6IHVuc2V0OyB0b3A6IHVuc2V0OyByaWdodDogdW5zZXQ7IGFsaWduLXNlbGY6IHVuc2V0OyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHB7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgICAgICAgIGgye2ZvbnQtc2l6ZTogMS44cmVtO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJvd3tcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgLmZvcm0tbG9naW57d2lkdGg6IDEwMCU7IG1heC13aWR0aDogdW5zZXQ7IHBhZGRpbmc6IDAgMjVweCA2MHB4O31cclxuICAgICAgICAgICAgJi5yb3ctY2VudGVye1xyXG4gICAgICAgICAgICAgICAgLmNvbHVtbi01MHtmbG9hdDogbGVmdDt9XHJcbiAgICAgICAgICAgICAgICAuZm9yZ290LWxpbmt7ZmxvYXQ6IHJpZ2h0O31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvKi5jb2x1bW4tNDh7ZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IHVuc2V0O30qL1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFiLWxvZ2lue1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTUwcHggMTVweDtcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyBoZWlnaHQ6IDZyZW07IGxpbmUtaGVpZ2h0OiA2cmVtO1xyXG4gICAgICAgICAgICAgICAgaW1ne3dpZHRoOiAyMnB4O31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybXtcclxuICAgICAgICAgICAgbGFiZWx7Zm9udC1zaXplOiAxLjNyZW07IG1hcmdpbi1ib3R0b206IDVweDt9XHJcbiAgICAgICAgICAgIC50b2dnbGUtcGFzc3dvcmQge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7IFxyXG4gICAgICAgICAgICB9ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZmxleC1kaXJlY3Rpb246IHJvdzsgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyAgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgICAgXHJcbiAgICAgICAgICAgICAgICAuY29sdW1uIHtwYWRkaW5nOiAwO30gICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLmNvbHVtbi00OCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7IFxyXG4gICAgICAgICAgICAgICAgfSAgICBcclxuICAgICAgICAgICAgICAgICYucm93LWJ0biB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowOyBcclxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT0nZW1haWwnXSwgaW5wdXRbdHlwZT0nbnVtYmVyJ10sIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sIGlucHV0W3R5cGU9J3NlYXJjaCddLCBpbnB1dFt0eXBlPSd0ZWwnXSwgaW5wdXRbdHlwZT0ndGV4dCddLCBpbnB1dFt0eXBlPSd1cmwnXSwgdGV4dGFyZWEsIHNlbGVjdHtmb250LXNpemU6IDEuNHJlbTt9XHJcbiAgICAgICAgLmJ1dHRvbiwgYnV0dG9uLCBpbnB1dFt0eXBlPSdidXR0b24nXSwgaW5wdXRbdHlwZT0ncmVzZXQnXSwgaW5wdXRbdHlwZT0nc3VibWl0J117Zm9udC1zaXplOiAxLjNyZW07fVxyXG4gICAgICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2lnbi1yYWRpb3tcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGZpZ3VyZXtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzNHB4OyBoZWlnaHQ6IDM0cHg7IG1hcmdpbjogMjNweCAxM3B4OyBtYXJnaW46IDE1cHggMTNweDtcclxuICAgICAgICAgICAgICAgIGltZ3t3aWR0aDogMThweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Bhbntwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IHdpZHRoOiA1MHB4OyBsZWZ0OiA1MHB4O31cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3R7Zm9udC1zaXplOiAxLjJyZW07IG1hcmdpbi10b3A6IDFyZW07fVxyXG4gICAgfVxyXG4gICAgLndyYXAtcG9wdXB7XHJcbiAgICAgICAgJi5vdHAtcG9wdXB7XHJcbiAgICAgICAgICAgIC5ib3gtcG9wdXB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bzsgbWFyZ2luOiA1JSAyNXB4OyBwYWRkaW5nOiA3MHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBoNHtmb250LXNpemU6IDEuOHJlbTt9XHJcbiAgICAgICAgICAgICAgICBwe2ZvbnQtc2l6ZTogMS42cmVtO31cclxuICAgICAgICAgICAgICAgIC5vdHB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7IG1hcmdpbi1yaWdodDogNXB4OyBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke21hcmdpbi1yaWdodDogMDt9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnV0dG9ue3dpZHRoOiAxMDAlO2ZvbnQtc2l6ZTogMS40cmVtO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4ICkge1xyXG4gICAgLmJveC1yb3VuZGVke1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgICAgLnRpdGxlLWJveC1yb3VuZGVke1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XHJcbiAgICAgICAgICAgIC5yaWdodC10aXRsZXtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7IFxyXG4gICAgICAgICAgICAgICAgYXtmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiAxNXB4OyBkaXNwbGF5OiBibG9jazsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYm94LXJvdW5kZWR7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAucm93e1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICYuY29sLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoNSB7cGFkZGluZy1yaWdodDogMTIwcHg7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZ3JleS10ZXh0IHtwYWRkaW5nLXJpZ2h0OiAxMjBweDt9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAxMHB4OyBib3R0b206IDA7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87IG1hcmdpbi10b3A6IGF1dG87ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jb2x1bW4tNTB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogdW5zZXQ7IHBhZGRpbmc6IC44cmVtIC41cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgLmxlZnQtbW9ie2Zsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDFyZW07fVxyXG4gICAgICAgICAgICAgICAgICAgIC5yaWdodC1tb2J7ZmxvYXQ6IHJpZ2h0O30gICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge31cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnJvdy1saW5lLXNwYWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtOyBtYXJnaW4tYm90dG9tOiAwOyAgLmNvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5jb2x1bW4tNTAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiciB7aGVpZ2h0OiAwOyBkaXNwbGF5OiBub25lO31cclxuICAgICAgICAgICAgLnNjcm9sbC1ib3h7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA4LjdyZW07IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XHJcbiAgICAgICAgICAgICAgICBwe2ZvbnQtc2l6ZTogMS40cmVtOyBsaW5lLWhlaWdodDogMi4wcmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0YWJsZXtcclxuICAgICAgICAgICAgICAgIHRye1xyXG4gICAgICAgICAgICAgICAgICAgIHRke2ZvbnQtc2l6ZTogMS40cmVtO31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubm90ZS1wcm9ncmVzcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRldGFpbC1rb250cmFrIHtcclxuICAgICAgICAgICAgLnRpdGxlLWJveC1yb3VuZGVkIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMnB4OyBcclxuICAgIH1cclxuICAgIC5ib3gtcHJvZ3Jlc3Mtcm91bmRlZHtcclxuICAgICAgICAuY29udGVudC1wcm9ncmVzcy1yb3VuZGVke1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTsgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC5jb2x7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDclOyB3aWR0aDogOSU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzYpe21hcmdpbi1yaWdodDogMDt9XHJcbiAgICAgICAgICAgICAgICBzcGFue21hcmdpbi1ib3R0b206IDA7IGZvbnQtc2l6ZTogMS4zcmVtO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RlLXByb2dyZXNze1xyXG4gICAgICAgID4gc3BhbntcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IG1hcmdpbi1yaWdodDogMC41cmVtOyBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWRlci1kYXNoYm9hcmR7XHJcbiAgICAgICAgLmxpc3Qtc2xpZGV7XHJcbiAgICAgICAgICAgIGZpZ3VyZXtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjgwcHg7XHJcbiAgICAgICAgICAgICAgICBpbWd7aGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBvYmplY3QtZml0OiBjb3Zlcjt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZmlnY2FwdGlvbntcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyBtYXJnaW46IDAgMTBweDsgcGFkZGluZzogMS41cmVtIDNyZW0gNHJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyBsaW5lLWhlaWdodDogMS4zOyBcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zbGljay1kb3Rze1xyXG4gICAgICAgICAgICByaWdodDogMy41cmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgICAgIGJvdHRvbTogMS4ycmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tYnV0dG9ue1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuc2lkZS1pbWd7XHJcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgPiBpbWd7d2lkdGg6IDQzcHg7IHRvcDogMDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgIC50ZXh0LXNpZGUtaW1ne1xyXG4gICAgICAgICAgICBzcGFue2ZvbnQtc2l6ZTogMTJweDt9XHJcbiAgICAgICAgICAgIGg1e2ZvbnQtc2l6ZTogMTRweDt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyouYm94LXJvdW5kZWQgLnRpdGxlLWJveC1yb3VuZGVke2Rpc3BsYXk6IGJsb2NrO30qL1xyXG4gICAgLmJveC1yb3VuZGVkIHtcclxuICAgICAgICAudGl0bGUtYm94LXJvdW5kZWQge1xyXG4gICAgICAgICAgICAucmlnaHQtdGl0bGV7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1pbi1oZWlnaHQ6IDQ1cHg7IFxyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge2Rpc3BsYXk6IGlubGluZS1mbGV4OyBtYXJnaW4tYm90dG9tOiAwO31cclxuICAgICAgICAgICAgICAgICAgICBoNSAge2Rpc3BsYXk6IGlubGluZS1mbGV4O31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRhc2hib2FyZCB7XHJcbiAgICAgICAgICAgICAucmlnaHQtdGl0bGV7XHJcbiAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTsgXHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIC8qIC5kZXRhaWwta29udHJhayAudGl0bGUtYm94LXJvdW5kZWQgLmxlZnQtdGl0bGV7d2lkdGg6IDEwMCU7IG1hcmdpbi10b3A6IDE1cHg7IGRpc3BsYXk6IGJsb2NrO30gKi9cclxuICAgIC5ib3gtcm91bmRlZCAudGl0bGUtYm94LXJvdW5kZWQgLmxlZnQtdGl0bGUge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgXHJcbiAgICAgICAgLmJ1dHRvbntcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07IGZvbnQtc2l6ZTogMS41cmVtOyBsaW5lLWhlaWdodDogMi41cmVtOyBoZWlnaHQ6IDM1cHg7IG1hcmdpbi10b3A6IDEuNXJlbTsgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaWRlLWltZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNC42cmVtO1xyXG4gICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yb3ctd2hpdGUtcm91bmRlZCA+IC5jb2x1bW4uY29sdW1uLTMzLC5yb3ctbGluZS1zcGFjZSA+IC5jb2x1bW4uY29sdW1uLTUwLCAucm93LXdoaXRlLXJvdW5kZWQgPiAuY29sdW1uLmNvbHVtbi02NiwgLmJveC1yb3VuZGVkIC5jb250ZW50LWJveC1yb3VuZGVkIC5yb3cgLmNvbHVtbi5jb2x1bW4tMzN7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogdW5zZXQ7IG1hcmdpbi1ib3R0b206IC44cmVtO1xyXG4gICAgfVxyXG4gICAgLnJvdy13aGl0ZS1yb3VuZGVkID4gLmNvbHVtbiA+IC5pbm5lci1jb2x1bW4gaDV7bWFyZ2luLWJvdHRvbTogMDsgZm9udC1zaXplOiAxLjZyZW07fVxyXG4gICAgLnJvdy13aGl0ZS1yb3VuZGVkID4gLmNvbHVtbiA+IC5pbm5lci1jb2x1bW4gYnJ7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAud3JhcC10YWJsZXtvdmVyZmxvdzogc2Nyb2xsO31cclxuICAgIC5yb3ctd2hpdGUtcm91bmRlZCBhLmJ1dHRvbntwYWRkaW5nOiAwLjVyZW0gMS41cmVtOyBmb250LXNpemU6IDEuNXJlbTsgbGluZS1oZWlnaHQ6IDIuNXJlbTsgaGVpZ2h0OiAzNXB4OyB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7IHdpZHRoOiAxMDAlO31cclxuICAgIC5yb3ctd2hpdGUtcm91bmRlZCA+IC5jb2x1bW4gPiAuaW5uZXItY29sdW1uIGg2e21hcmdpbi1ib3R0b206IDA7IGZvbnQtc2l6ZTogMS42cmVtO31cclxuICAgIC5yb3ctbGluZS1zcGFjZSA+IC5jb2x1bW57cGFkZGluZy10b3A6IDEuNXJlbTt9XHJcbiAgICAucm93LXdoaXRlLXJvdW5kZWQgPiAuY29sdW1uID4gLmlubmVyLWNvbHVtbntcclxuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XHJcbiAgICAgICAgJjo6YWZ0ZXJ7XHJcblxyXG4gICAgICAgICAgICBjbGVhcjpib3RoO2Rpc3BsYXk6IGJsb2NrO2NvbnRlbnQ6XCIgXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sZWZ0LW1vYntmbG9hdDogbGVmdDt9XHJcbiAgICAgICAgLnJpZ2h0LW1vYntmbG9hdDogcmlnaHQ7fVxyXG4gICAgfVxyXG4gICAgLmJveC1yb3VuZGVkIC5jb250ZW50LWJveC1yb3VuZGVkIC5yb3ctYmctZ3JleXtcclxuICAgICAgICAuY29sdW1ue1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxLjByZW0gMS41cmVtOyBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICAgICAgICAgICAgLnNpZGUtaW1nLnYyID4gaW1ne1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwOyB3aWR0aDogMjVweDsgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGV4dC1zaWRlLWltZ3ttYXJnaW4tdG9wOiA1cHg7fVxyXG4gICAgICAgICAgICAuYmx1ZS10ZXh0e21hcmdpbi1sZWZ0OiAzLjByZW07fVxyXG4gICAgICAgICAgICAuc2lkZS1pbWcge1xyXG4gICAgICAgICAgICAgICAgJi52MiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGVmdC1tb2Ige21hcmdpbi1yaWdodDogLjVyZW07fVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7cGFkZGluZy10b3A6IDA7fVxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxke3BhZGRpbmctYm90dG9tOiAwO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGV4dC1yb3ctdmFsdWV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLmxlZnQtbW9ie2Zsb2F0OiBsZWZ0OyB3aWR0aDogODAlO31cclxuICAgICAgICAucmlnaHQtbW9ie2Zsb2F0OiByaWdodDsgd2lkdGg6IDIwJTsgbWFyZ2luLXRvcDogMi41cmVtO31cclxuICAgIH1cclxuICAgIC5jdXN0b20tbW9iaWxle1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgdGFibGUgY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRhYmxlIHRoZWFkIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAtMXB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRhYmxlIHRyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAwO1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpe2JhY2tncm91bmQ6ICNFNkVCRjU7fVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKXtiYWNrZ3JvdW5kOiAjZmZmO31cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgdGFibGUgdGQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgdGFibGUgdGQ6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICogYXJpYS1sYWJlbCBoYXMgbm8gYWR2YW50YWdlLCBpdCB3b24ndCBiZSByZWFkIGluc2lkZSBhIHRhYmxlXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoYXJpYS1sYWJlbCk7XHJcbiAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBjb2xvcjogIzgxODE4MTsgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRhYmxlIHRkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGFibGUgdGQsdGh7XHJcbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6IDEuNXJlbTt9XHJcbiAgICAgICAgICB9ICAgICAgICAgIFxyXG4gICAgfVxyXG4gICAgLndyYXAtdGFibGUge1xyXG4gICAgICAgICYuYmx1ZS1ib3JkZXJlZCB7XHJcbiAgICAgICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi50YWJsZS1oZWFkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90aWYtaW5saW5lIHtcclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2LjJyZW07IFxyXG4gICAgfVxyXG59IiwiQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHggKSB7XHJcbiAgICAuZm9ybXtcclxuICAgICAgICAmLmFjY291bnQtZm9ybXtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICAgICAgLnJvdyAuY29sdW1uLmNvbHVtbi00OXt3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiB1bnNldDt9XHJcbiAgICAgICAgICAgIC5yb3cgLmNvbHVtbi5jb2x1bW4tb2Zmc2V0LTJ7bWFyZ2luOiAwOyBtYXJnaW4tdG9wOiAycmVtO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGl0bGUtYWNjb3VudHtkaXNwbGF5OiBibG9jazt9XHJcbn0iLCJAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCApIHtcclxuICAgIC50aXRsZS10YWJ7XHJcbiAgICAgICAgZmlndXJle21heC13aWR0aDogMjZweDsgbWFyZ2luLXJpZ2h0OiAyNXB4O31cclxuICAgICAgICBoNXtmb250LXNpemU6IDEuNnJlbTsgbGluZS1oZWlnaHQ6IDEuOXJlbTsgbWFyZ2luLWJvdHRvbTogN3B4O31cclxuICAgICAgICBwe2ZvbnQtc2l6ZTogMS41cmVtOyBsaW5lLWhlaWdodDogMS45cmVtOyBtYXJnaW4tYm90dG9tOiAwO31cclxuICAgIH1cclxuICAgIC5tYXgtbGltaXQge1xyXG4gICAgXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBcclxuICAgIFx0aDYge1xyXG4gICAgXHRcdHdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAuNXJlbTsgXHJcbiAgICBcdH1cclxuICAgIFx0aDUge1xyXG4gICAgXHRcdHdpZHRoOiAxMDAlOyBtYXJnaW46IDA7IFxyXG4gICAgXHR9XHJcbiAgICB9XHJcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Z0dBSWdHO0FBQ2hHLE9BQU8sQ0FBQyxzRkFBSTtBQ0xaOzs7O2dHQUlnRztBQUVoRyw2Q0FBNkM7QUE4RDdDO2dHQUNnRztBRDVEaEc7Z0dBQ2dHO0FpRlZoRzs7Ozs7O0dBTUc7QUNOSDs7Ozs7O0dBTUc7QUNOSDs7Ozs7O0dBTUc7QUFPSCxBQUFBLENBQUM7QUFDRCxDQUFDLEFBQUEsTUFBTTtBQUNQLENBQUMsQUFBQSxPQUFPLENBQUM7RUFDUixVQUFVLEVBQUUsT0FBTztDQUNuQjs7QUFJRCxBQUFBLElBQUksQ0FBQztFQUNKLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFNBQVMsRUFBRSxLQUFLO0NBQ2hCOztBQUdELEFBQUEsSUFBSSxDQUFDO0VBQ0osS0FBSyxFRFZNLE9BQU87RUNXbEIsV0FBVyxFQUFFLDBEQUEwRDtFQUN2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QUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NBQ2pCOztBQXRrQlQsQUF1a0JRLElBdmtCSixDQXdDSCxPQUFPLEFBK2hCQyxVQUFVLENBQUM7RUFDUixJQUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NBQ2pCOztBQTFrQlQsQUEya0JRLElBM2tCSixDQXdDSCxPQUFPLEFBbWlCQyxVQUFVLENBQUM7RUFDUixJQUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NBQ2pCOztBQTlrQlQsQUEra0JRLElBL2tCSixDQXdDSCxPQUFPLEFBdWlCQyxVQUFVLENBQUM7RUFDUixJQUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NBQ2pCOztBQWxsQlQsQUFtbEJRLElBbmxCSixDQXdDSCxPQUFPLEFBMmlCQyxVQUFVLENBQUM7RUFDUixJQUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NBQ2pCOztBQXRsQlQsQUF1bEJRLElBdmxCSixDQXdDSCxPQUFPLEFBK2lCQyxVQUFVLENBQUM7RUFDUixJQUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NBQ2pCOztBQTFsQlQsQUEybEJRLElBM2xCSixDQXdDSCxPQUFPLEFBbWpCQyxVQUFVLENBQUM7RUFDUixJQUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NBQ2pCOztBQTlsQlQsQUErbEJRLElBL2xCSixDQXdDSCxPQUFPLEFBdWpCQyxVQUFVLENBQUM7RUFDUixJQUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NBQ2pCOztBQWxtQlQsQUFtbUJRLElBbm1CSixDQXdDSCxPQUFPLEFBMmpCQyxVQUFVLENBQUM7RUFDUixJQUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NBQ2pCOztBQXRtQlQsQUF1bUJRLElBdm1CSixDQXdDSCxPQUFPLEFBK2pCQyxVQUFVLENBQUM7RUFDUixJQUFJLEVBQUUsT0FBTztFQUNiLFNBQVMsRUFBRSxHQUFHO0NB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 */
