/*
Theme Name: SOGO Child
Theme URI: http://sogo.co.il/
Template:   sogo
Author: Oren Havshush
Author URI: https://sogo.co.il/
Description: SOGO child theme
Version: 1.1
License: Commercial Use only
License URI: Commercial Use only
Text Domain: sogo
*/
/* reset.less */
/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
html,
body,
div,
span,
object,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
abbr,
address,
cite,
code,
del,
em,
img,
ins,
small,
strong,
sub,
sup,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  line-height: 1;
}
a:hover {
  text-decoration: none;
}
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}
blockquote {
  quotes: none;
}
blockquote:before,
blockquote:after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
ul {
  list-style: none;
}
img {
  max-width: 100%;
  height: auto;
}
/* mixin.less */
/* end mixin.less */
/*  variables.less  */
/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
  display: block;
  margin: 0 auto 0 auto;
}
.alignright {
  float: right;
  margin: 25px 0 20px 30px;
}
.alignleft {
  float: left;
  margin: 25px 30px 20px 0;
}
a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
a img.alignnone {
  margin: 5px 20px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption {
  background: #fff;
  max-width: 100%;
  padding: 5px 3px 23px;
  text-align: center;
}
.wp-caption-text {
  padding-top: 10px;
  font-size: 18px;
  color: #4d525d;
  font-style: italic;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 100%;
  padding: 0;
  width: auto;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: color-3;
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}
/* classes.less */
.bold {
  font-weight: bold;
}
.bg-1 {
  background-color: #223564;
}
.bg-2 {
  background-color: #2b437e;
}
.bg-3 {
  background-color: #89c6dd;
}
.bg-4 {
  background-color: #4d525d;
}
.border-color-1 {
  background-color: #223564;
}
.border-color-2 {
  background-color: #2b437e;
}
.border-color-3 {
  background-color: #89c6dd;
}
.border-color-4 {
  background-color: #4d525d;
}
.color-1 {
  color: #223564;
}
.color-2 {
  color: #2b437e;
}
.color-3 {
  color: #89c6dd;
}
.color-4 {
  color: #4d525d;
}
.br-1 {
  border: 1px solid #223564;
}
.br-2 {
  border: 1px solid #2b437e;
}
.br-3 {
  border: 1px solid #89c6dd;
}
.br-4 {
  border: 1px solid #4d525d;
}
.br-r-1 {
  border-right: 1px solid #223564;
}
.br-r-2 {
  border-right: 1px solid #2b437e;
}
.br-r-3 {
  border-right: 1px solid #89c6dd;
}
.br-r-4 {
  border-right: 1px solid #4d525d;
}
.br-l-1 {
  border-left: 1px solid #223564;
}
.br-l-2 {
  border-left: 1px solid #2b437e;
}
.br-l-3 {
  border-left: 1px solid #89c6dd;
}
.br-l-4 {
  border-left: 1px solid #4d525d;
}
.br-t-1 {
  border-top: 1px solid #223564;
}
.br-t-2 {
  border-top: 1px solid #2b437e;
}
.br-t-3 {
  border-top: 1px solid #89c6dd;
}
.br-t-4 {
  border-top: 1px solid #4d525d;
}
.br-b-1 {
  border-bottom: 1px solid #223564;
}
.br-b-2 {
  border-bottom: 1px solid #2b437e;
}
.br-b-3 {
  border-bottom: 1px solid #89c6dd;
}
.br-b-4 {
  border-bottom: 1px solid #4d525d;
}
.nopad {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.mb-lg-6 {
  margin-bottom: 5.2rem;
}
@media (min-width: 992px) {
  .mb-lg-6 {
    margin-bottom: 8.125rem;
  }
}
.mb-section-title {
  margin-bottom: 3.6rem;
}
@media (min-width: 992px) {
  .mb-section-title {
    margin-bottom: 4.375rem;
  }
}
/* animate.less */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  animation-delay: 2s;
}
.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}
.animated.flipOutX,
.animated.flipOutY {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@-webkit-keyframes bounce_small {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce_small {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}
@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}
@-webkit-keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}
@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}
@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}
@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: none;
    transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: none;
    transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}
@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}
@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}
@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}
@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}
@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}
@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}
@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}
@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}
@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}
@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}
@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}
@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}
@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}
@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}
@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}
@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}
@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}
@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}
@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}
@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}
@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}
@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}
@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}
@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}
@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}
@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}
@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}
@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}
@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}
@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}
@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}
@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}
@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}
@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}
@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}
@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}
@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}
@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}
@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}
@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-500%, 0, 0);
    transform: translate3d(-500%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-500%, 0, 0);
  }
}
.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}
@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}
@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}
@keyframes cloudsAnimate {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-2500px, 0, 0);
    -ms-transform: translate3d(-2500px, 0, 0);
    transform: translate3d(-2500px, 0, 0);
    -moz-transform: translate3d(-2500px, 0, 0);
    -o-transform: translate3d(-2500px, 0, 0);
  }
}
.cloudsAnimate {
  -webkit-animation-name: cloudsAnimate;
  animation-name: cloudsAnimate;
  -ms-animation-name: cloudsAnimate;
  -moz-animation-name: cloudsAnimate;
  -o-animation-name: cloudsAnimate;
}
@keyframes cloudsAnimate-left {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-700px, 0, 0);
    -ms-transform: translate3d(-700px, 0, 0);
    transform: translate3d(-700px, 0, 0);
    -moz-transform: translate3d(-700px, 0, 0);
    -o-transform: translate3d(-700px, 0, 0);
  }
}
.cloudsAnimate-left {
  -webkit-animation-name: cloudsAnimate-left;
  animation-name: cloudsAnimate-left;
  -ms-animation-name: cloudsAnimate-left;
  -moz-animation-name: cloudsAnimate-left;
  -o-animation-name: cloudsAnimate-left;
}
@keyframes carsAnimate {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(3000px, 0, 0);
    -ms-transform: translate3d(3000px, 0, 0);
    -moz-transform: translate3d(3000px, 0, 0);
    -o-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
}
.carsAnimate {
  -webkit-animation-name: carsAnimate;
  animation-name: carsAnimate;
  -ms-animation-name: carsAnimate;
  -moz-animation-name: carsAnimate;
  -o-animation-name: carsAnimate;
}
@keyframes carsAnimate-right {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-3000px, 0, 0);
    -ms-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
    -moz-transform: translate3d(-3000px, 0, 0);
    -o-transform: translate3d(-3000px, 0, 0);
  }
}
.carsAnimate-right {
  -webkit-animation-name: carsAnimate-right;
  animation-name: carsAnimate-right;
  -ms-animation-name: carsAnimate-right;
  -moz-animation-name: carsAnimate-right;
  -o-animation-name: carsAnimate-right;
}
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
.infinite {
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.active .fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(1000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.active .fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
  }
}
@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
@-webkit-keyframes bounce_small {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-10px);
  }
  60% {
    -webkit-transform: translateY(-5px);
  }
}
@keyframes bounce_small {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}
.active .grow {
  -webkit-animation-name: grow;
  animation-name: grow;
}
@-webkit-keyframes grow {
  0% {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes grow {
  0% {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.active .fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.active .fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.active .slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.active .fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.active .fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
.hvr-icon-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  padding-right: 2.2em;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}
.hvr-icon-forward:before {
  content: "\f138";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-forward:hover:before,
.hvr-icon-forward:focus:before,
.hvr-icon-forward:active:before {
  -webkit-transform: translateX(4px);
  -moz-transform: translateX(4px);
  -ms-transform: translateX(4px);
  -o-transform: translateX(4px);
  transform: translateX(4px);
}
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  text-decoration: none;
}
[class^="hvr-"] {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media (min-width: 992px) {
  [class^="hvr-"] {
    padding: 1em;
  }
}
/* end animate.less */
/* typography.less */
html {
  font-size: 16px;
}
@media (min-width: 992px) {
  html {
    font-size: 14px;
  }
}
@media (min-width: 1170px) {
  html {
    font-size: 1.7vh;
  }
}
body {
  color: #4d525d;
  font-family: 'Montserrat', sans-serif;
  line-height: 1.3;
}
.h1 {
  font-size: 30px;
  font-weight: 700;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .h1 {
    font-size: 4.37rem;
  }
}
.h2 {
  font-size: 30px;
  font-weight: 500;
}
@media (min-width: 992px) {
  .h2 {
    font-size: 4.37rem;
  }
}
.h3 {
  font-size: 20px;
  font-weight: 500;
}
@media (min-width: 992px) {
  .h3 {
    font-size: 3.125rem;
  }
}
.h4 {
  font-size: 14.4px;
  font-weight: 500;
}
@media (min-width: 992px) {
  .h4 {
    font-size: 1.59rem;
  }
}
.h5 {
  font-size: 16px;
  font-weight: 400;
}
@media (min-width: 992px) {
  .h5 {
    font-size: 1.31rem;
  }
}
.h6 {
  font-size: 16px;
  font-weight: 400;
}
@media (min-width: 992px) {
  .h6 {
    font-size: 1.31rem;
  }
}
.font-normal {
  font-weight: 400;
}
.uppercase {
  text-transform: uppercase;
}
.lh-b {
  line-height: 1.8;
}
.breadcrumbs {
  color: #4d525d;
  font-size: 1.1rem;
  font-weight: 500;
  margin-top: 5.2rem;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .breadcrumbs {
    margin-top: 7.5rem;
    font-size: 0.95rem;
  }
}
.breadcrumbs a {
  color: #89c6dd;
  font-size: 1.1rem;
}
@media (min-width: 992px) {
  .breadcrumbs a {
    font-size: 0.95rem;
  }
}
.breadcrumbs a:hover {
  color: #4d525d;
}
.content-wrapper {
  margin-top: 3.6rem;
}
@media (min-width: 992px) {
  .content-wrapper {
    margin-top: 4.375rem;
  }
}
.home .header002 {
  background-color: transparent;
}
.page-content .page-title {
  color: #2b437e;
  font-size: 3.65rem;
  margin-bottom: 2rem;
  font-weight: 400;
  text-align: center;
}
.page-content .entry-content h2 {
  color: #89c6dd;
  font-size: 3.1rem;
  font-weight: 500;
  margin-bottom: 2rem;
}
.page-content .entry-content h3 {
  color: #89c6dd;
  font-size: 1.55rem;
  line-height: 1.75em;
  font-weight: 500;
  margin-bottom: 2rem;
}
.page-content .entry-content h4 {
  color: #89c6dd;
  font-size: 1.35rem;
  line-height: 1.75em;
  font-weight: 500;
  margin-bottom: 2rem;
}
.page-content .entry-content h5 {
  color: #89c6dd;
  font-size: 1.35rem;
  line-height: 1.75em;
  font-weight: 500;
  margin-bottom: 2rem;
}
.page-content .entry-content h6 {
  color: #89c6dd;
  font-size: 1.35rem;
  line-height: 1.75em;
  font-weight: 500;
  margin-bottom: 2rem;
}
.page-content .entry-content p {
  color: #4d525d;
  padding-bottom: 1.2rem;
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.8rem;
}
@media (min-width: 992px) {
  .page-content .entry-content p {
    font-size: 1.1rem;
  }
}
.page-content .entry-content ul {
  list-style: none;
  padding-left: 0;
  padding-right: 0;
  list-style-position: outside;
  display: inline-block;
}
.page-content .entry-content ul li {
  padding-left: 2em;
  padding-right: 0;
  color: #4d525d;
  font-size: 1.35rem;
  font-weight: 500;
  position: relative;
  padding-bottom: 0.8rem;
}
@media (min-width: 992px) {
  .page-content .entry-content ul li {
    font-size: 1.1rem;
  }
}
.page-content .entry-content ul li:before {
  content: "\f111";
  font-family: FontAwesome;
  color: #89c6dd;
  position: absolute;
  left: 0;
  width: 9px;
  height: 9px;
  text-align: center;
  font-size: 14px;
  top: 0.15em;
}
.page-content .entry-content ol {
  list-style: none;
  padding-left: 0;
  padding-right: 0;
  list-style-position: outside;
  counter-reset: li;
}
.page-content .entry-content ol li {
  padding-left: 0;
  padding-right: 0;
  color: #4d525d;
  font-size: 1.35rem;
  font-weight: 500;
  padding-bottom: 0.8rem;
  counter-increment: li;
}
@media (min-width: 992px) {
  .page-content .entry-content ol li {
    font-size: 1.1rem;
  }
}
.page-content .entry-content ol li:before {
  content: counter(li);
  color: #89c6dd;
  display: inline-block;
  width: 1em;
  margin-right: 1em;
}
.page-content .entry-content b {
  font-weight: 600;
}
.page-content .entry-content strong {
  font-weight: 600;
}
.page-content .entry-content blockquote {
  background-color: #e3f2f8;
  text-align: center;
}
.page-content .entry-content blockquote p {
  color: #4d525d;
  font-size: 1.55rem;
  font-weight: 400;
  text-align: center;
  padding: 1.5rem 0;
}
.page-content .entry-content figcaption {
  color: #4d525d;
  font-size: 0.95rem;
  font-weight: 400;
  text-align: center;
  margin-top: 8px;
}
.home .inner-slide .btn {
  padding: 0.2em 1.8em;
}
.btn {
  position: relative;
  color: #ffffff;
  font-size: 18px;
  line-height: 1.75em;
  font-weight: 500;
  text-align: center;
  background-color: #2b437e;
  border: 0;
  border-radius: 5px;
  padding: 0.2em 2.4em;
  cursor: pointer;
  z-index: 1;
  overflow: hidden;
  display: inline-block;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.btn:before {
  content: '';
  width: 15em;
  height: 19em;
  border-radius: 100%;
  background-color: #223564;
  position: absolute;
  z-index: -1;
  bottom: -1em;
  left: -7em;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .btn {
    font-size: 1.59rem;
  }
}
.btn:hover {
  color: #fff;
}
.btn:hover:before {
  width: 15em;
  height: 15em;
  border-radius: 100%;
  background-color: #223564;
  position: absolute;
  z-index: -1;
  bottom: -3em;
  left: 2em;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.btn:active {
  color: #fff;
}
.btn:active:before {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.btn:focus {
  color: #fff;
}
.btn:focus:before {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.composites .composite-titles {
  position: relative;
  display: inline-block;
}
.composites .composite-titles .the-big {
  text-transform: uppercase;
  color: #e3f2f8;
  font-size: 3.25rem;
  font-weight: 800;
  line-height: 1;
}
@media (min-width: 921px) {
  .composites .composite-titles .the-big {
    font-size: 3.75rem;
  }
}
@media (min-width: 1200px) {
  .composites .composite-titles .the-big {
    font-size: 3.37rem;
  }
}
@media (min-width: 1600px) {
  .composites .composite-titles .the-big {
    font-size: 4.37rem;
  }
}
.composites .composite-titles .the-small {
  position: relative;
  text-align: right;
  font-size: 1.8rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.4rem;
  top: -20px;
  color: #223564;
  line-height: 1;
}
@media (min-width: 992px) {
  .composites .composite-titles .the-small {
    font-size: 1.875rem;
    top: -15px;
  }
}
@media (min-width: 1200px) {
  .composites .composite-titles .the-small {
    font-size: 1.875rem;
    top: -15px;
  }
}
@media (min-width: 1600px) {
  .composites .composite-titles .the-small {
    font-size: 1.875rem;
    top: -24px;
  }
}
.composites .composite-paragraph p {
  color: #4d525d;
  font-size: 1.47rem;
  line-height: 1.9;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .composites .composite-paragraph p {
    font-size: 1.27rem;
    line-height: 2.3;
  }
}
.section-title {
  color: #89c6dd;
  font-size: 2.45rem;
  line-height: 3rem;
  font-weight: 600;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .section-title {
    font-size: 2.95rem;
    line-height: 2.54rem;
  }
}
/* slick carousel dots style */
.slick-dots {
  padding: 0;
  list-style-type: none;
  text-align: center;
  margin-top: 15px;
  margin-bottom: 25px;
  position: absolute;
  width: 100%;
}
.slick-dots li {
  vertical-align: middle;
  display: inline-block;
}
.slick-dots li:before {
  cursor: pointer;
  content: "";
  border: 1px solid #2b437e;
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 100%;
  margin: 0 10px;
  background-color: #2b437e;
}
.slick-dots li button {
  display: none;
}
.slick-dots li.slick-active:before {
  width: 8px;
  height: 8px;
  background-color: #fdfdfd;
}
.contact-us .composite-the-form .label-name {
  color: #4d525d;
  font-size: 1.32rem;
  line-height: 1.9rem;
  font-weight: 500;
}
.contact-us .composite-the-form .the-field {
  width: 100%;
  max-width: 100%;
}
.contact-us .composite-the-form .the-field input {
  width: 100%;
  max-width: 100%;
}
.contact-us .composite-the-form .the-field input[type="text"] {
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 1px solid #2b437e;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.6rem;
}
@media (min-width: 992px) {
  .contact-us .composite-the-form .the-field input[type="text"] {
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.55rem;
  }
}
.contact-us .composite-the-form .the-field input[type="text"]:focus {
  outline: 0;
}
.contact-us .composite-the-form .the-field input[type="email"] {
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 1px solid #2b437e;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.6rem;
}
@media (min-width: 992px) {
  .contact-us .composite-the-form .the-field input[type="email"] {
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.55rem;
  }
}
.contact-us .composite-the-form .the-field input[type="email"]:focus {
  outline: 0;
}
.contact-us .composite-the-form .the-field input[type="tel"] {
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 1px solid #2b437e;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.6rem;
}
@media (min-width: 992px) {
  .contact-us .composite-the-form .the-field input[type="tel"] {
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.55rem;
  }
}
.contact-us .composite-the-form .the-field input[type="tel"]:focus {
  outline: 0;
}
.contact-us .composite-the-form .the-field textarea {
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 1px solid #2b437e;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 2rem;
  height: 2rem;
  width: 100%;
  overflow: hidden;
  display: block;
}
@media (min-width: 992px) {
  .contact-us .composite-the-form .the-field textarea {
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 2rem;
  }
}
.contact-us .composite-the-form .the-field textarea:focus {
  outline: 0;
}
.contact-us .form-button {
  float: right;
  cursor: pointer;
}
.contact-us .form-button input[type="submit"] {
  width: 100%;
  height: 100%;
  background-color: transparent;
  color: #fdfdfd;
  border: none;
  cursor: pointer;
}
.contact-us .form-button input[type="submit"]:focus {
  outline: 0;
}
/* header-002.less */
body.fixed .header002 {
  background-color: #fdfdfd;
  border-bottom: 1px solid #999;
  -webkit-transition: 0.1s;
  -moz-transition: 0.1s;
  -ms-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}
@media (min-width: 992px) {
  body.fixed .header002 {
    box-shadow: 0 4px 5.34px 0.66px rgba(227, 242, 248, 0.91);
    -webkit-box-shadow: 0 4px 5.34px 0.66px rgba(227, 242, 248, 0.91);
    -moz-box-shadow: 0 4px 5.34px 0.66px rgba(227, 242, 248, 0.91);
    border-bottom: 0 solid #999;
  }
}
body.fixed .header002 .logo .logo-img {
  margin-top: 10px;
}
body.fixed .header002__button .button {
  color: #89c6dd;
  border-color: #89c6dd;
}
body.fixed .header002__button .button:hover {
  color: #fdfdfd;
}
body.fixed .header002 .mobile-menu__stroke {
  background-color: #89c6dd;
}
@media (min-width: 992px) {
  body.fixed .header002 .nav__ul {
    margin-top: 30px;
  }
}
body.fixed .header002 .nav__ul > ul > .nav__li > .nav__a {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  color: #4d525d;
}
body.fixed .header002 .multilingual,
body.fixed .header002 .mobile-multilingual {
  color: #89c6dd;
}
body.fixed .header002 > .nav__li:hover .nav__span {
  color: #89c6dd;
}
.header002 {
  position: fixed;
  width: 100%;
  z-index: 9;
  background-color: #fdfdfd;
  border: none;
  top: 0;
}
@media (min-width: 992px) {
  .header002 {
    font-size: 1.7vh;
  }
}
.header002 > div {
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .header002 > div {
    -webkit-box-pack: space-around;
    -ms-flex-pack: space-around;
    justify-content: space-around;
  }
}
@media (min-width: 1400px) {
  .header002 > div {
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
  }
}
.header002__menu-container {
  position: fixed;
}
@media (min-width: 992px) {
  .header002__menu-container {
    position: relative;
  }
}
.header002 .nav__li:hover a {
  color: #89c6dd;
}
.header002__button {
  align-items: center;
  display: flex;
}
@media (max-width: 992px) {
  .header002__button {
    display: none;
  }
}
.header002__button .button {
  font-size: 1.1rem;
  font-weight: 300;
  color: #fdfdfd;
  justify-content: center;
  border: 1px solid #fdfdfd;
  padding: 0 13px;
  height: 31px;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .header002__button .button {
    display: -webkit-box;
    /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;
    /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;
    /* TWEENER - IE 10 */
    display: -webkit-flex;
    /* NEW - Chrome */
    display: flex;
    /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
  }
}
.header002__button .button:hover {
  color: #fdfdfd;
  background-color: #223564;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.header002__button .button:focus {
  color: #223564;
}
.header002__button .button:hover:focus {
  color: white;
}
.header002 .mobile-menu {
  padding: 0 10px;
}
.header002 .mobile-menu__strokes {
  width: 24px;
  cursor: pointer;
  margin: 0 20px;
}
.header002 .mobile-menu__stroke {
  width: 100%;
  height: 3px;
  margin-bottom: 4px;
  background: #89c6dd;
}
.header002 .mobile-menu__stroke:last-of-type {
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .header002 .mobile-menu {
    display: none;
  }
}
.header002 .logo .logo-img {
  z-index: 1;
  width: 165px;
  margin-top: 10px;
}
@media (min-width: 991px) {
  .header002 .logo .logo-img {
    width: auto;
    margin-left: 0;
    margin-top: 27px;
  }
}
.header002 .menu-overlay-navigation-close-button {
  color: #032d4c;
}
.header002 .menu-overlay {
  visibility: hidden;
  height: 100%;
  width: 100%;
  margin-left: 0;
  left: 100%;
  position: fixed;
  z-index: 2;
  top: 0;
  background-color: #fdfdfd;
  overflow-x: hidden;
  transition: all 0.5s;
}
.header002 .menu-overlay__show_true {
  visibility: visible;
  transition: all .45s;
  margin-left: -100%;
  left: 100%;
}
.header002 .menu-overlay__content {
  position: relative;
  top: 25%;
  width: 100%;
  text-align: center;
}
.header002 .menu-overlay__close {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 46px;
}
.header002 .menu-overlay__links {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.header002 .menu-overlay__a {
  font-size: 1.2rem;
  color: #51586c;
  text-decoration: none;
  display: block;
}
.header002 .menu-overlay__a:not(:last-child) {
  margin-bottom: 20px;
}
.header002 .nav__span {
  font-size: 1.25rem;
  font-weight: 500;
  white-space: nowrap;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (max-width: 991px) {
  .header002 .nav__span {
    font-weight: 700;
    color: #89c6dd;
    font-size: 20px;
  }
}
@media (max-width: 1200px) {
  .header002 .nav__span {
    font-size: 1.45rem;
    font-weight: 500;
  }
}
@media (max-width: 991px) {
  .header002 .nav__ul {
    justify-content: center;
    align-items: center;
    position: fixed;
    margin-right: -100%;
    flex-direction: column;
    height: 100vh;
    background: #fdfdfd;
    z-index: 9;
    width: 100%;
    transition: margin-right 0.5s;
    top: 0;
    right: 0;
  }
}
@media (min-width: 992px) {
  .header002 .nav__ul {
    margin-top: 60px;
    text-transform: uppercase;
  }
}
.header002 .nav__ul_show_true {
  margin-right: 0;
  display: flex !important;
  transition: margin-right 0.5s;
}
.header002 .nav__ul > ul > .nav__li {
  padding-bottom: 20px;
}
.header002 .nav__ul > ul > .nav__li.active .nav__span {
  color: #89c6dd;
}
@media (max-width: 991px) {
  .header002 .nav__ul > ul > .nav__li {
    line-height: 2.7;
    position: relative;
    padding-bottom: 0;
    display: block;
  }
  .header002 .nav__ul > ul > .nav__li:after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #223564;
    position: absolute;
  }
}
@media (min-width: 992px) {
  .header002 .nav__ul > ul > .nav__li:hover a {
    color: #4d525d;
  }
  .header002 .nav__ul > ul > .nav__li:hover a:hover {
    color: #89c6dd;
  }
}
.header002 .nav__ul > ul > .nav__li > .nav__a {
  color: #4d525d;
  white-space: nowrap;
  font-size: 1.125rem;
  position: relative;
  display: block;
  text-align: center;
}
@media (min-width: 992px) {
  .header002 .nav__ul > ul > .nav__li > .nav__a {
    padding: 0 1.4rem;
  }
}
.header002 .nav__ul > ul > .nav__li.active {
  color: #89c6dd;
}
.header002 .nav__exit-icon {
  display: none;
  position: absolute;
  top: 16px;
  left: 13px;
  width: 24px;
  height: 27px;
  z-index: 6000;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
}
.header002 .nav__exit-icon_show_true {
  display: block;
}
.header002 .nav__exit-icon:before,
.header002 .nav__exit-icon:after {
  content: '';
  display: block;
  background: #89c6dd;
  height: 18px;
  width: 4px;
  position: absolute;
  top: 5.3px;
  left: calc(44%);
  transform-origin: center;
  transition: all 0.1s ease-in-out;
}
.header002 .nav__exit-icon:before {
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
.header002 .nav__exit-icon:after {
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.header002 .nav__exit-icon:hover:before,
.header002 .nav__exit-icon:focus:before {
  transform: rotate(135deg) scale(1.4, 1.4);
  -ms-transform: rotate(135deg) scale(1.4, 1.4);
  -webkit-transform: rotate(135deg) scale(1.4, 1.4);
}
.header002 .nav__exit-icon:hover:after,
.header002 .nav__exit-icon:focus:after {
  transform: rotate(45deg) scale(1.4, 1.4);
  -ms-transform: rotate(45deg) scale(1.4, 1.4);
  -webkit-transform: rotate(45deg) scale(1.4, 1.4);
}
@media (min-width: 992px) {
  .header002 .nav__dropdown {
    visibility: hidden;
    position: absolute;
    opacity: 0;
  }
}
.header002 .nav__dropdown .nav__a {
  display: block;
  font-size: 1.3rem;
  color: #89c6dd;
}
@media (max-width: 991px) {
  .header002 .nav__dropdown .nav__a {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.header002 .nav__li.menu-item-has-children {
  position: relative;
}
.header002 .nav__li.menu-item-has-children > a {
  position: relative;
  white-space: nowrap;
}
.header002 .nav__li.menu-item-has-children > a:before {
  content: url("images/icons/arrow-down-menu.svg");
  position: absolute;
  width: 16px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (min-width: 992px) {
  .header002 .nav__li.menu-item-has-children > a:before {
    display: none;
  }
}
.header002 .nav__li.menu-item-has-children:hover > div {
  visibility: visible;
  opacity: 1;
  z-index: 9;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .header002 .nav__li.menu-item-has-children:hover > div {
    top: 100%;
    background-color: #fdfdfd;
    border-radius: 5px;
    box-shadow: 0 4px 5.34px 0.66px rgba(230, 238, 227, 0.91);
    -webkit-box-shadow: 0 4px 5.34px 0.66px rgba(230, 238, 227, 0.91);
    -moz-box-shadow: 0 4px 5.34px 0.66px rgba(230, 238, 227, 0.91);
  }
}
.header002 .nav__sub-menu .nav__li {
  line-height: 1.4;
  width: 100% !important;
}
@media (min-width: 991px) {
  .header002 .nav__sub-menu .nav__li {
    line-height: inherit;
  }
  .header002 .nav__sub-menu .nav__li:not(:last-child) {
    margin-bottom: .8rem;
  }
}
@media (max-width: 1757px) {
  .header002 .nav__sub-menu .nav__li {
    width: 50%;
  }
}
.header002 .nav__sub-menu .nav__a {
  color: #4d525d;
}
.header002 .nav__sub-menu .nav__a:hover {
  color: #89c6dd;
}
.header002 .nav__img {
  width: 775px;
  height: 240px;
}
@media (max-width: 991px) {
  .header002 .nav__img {
    display: none;
  }
}
@media (max-width: 992px) {
  .header002 .nav__logo {
    width: 217px;
    height: 80px;
    background-repeat: no-repeat;
    position: absolute;
    top: 38px;
  }
}
@media (max-width: 1200px) and (min-width: 992px) {
  .header002 .nav__logo .logo-img {
    width: 80%;
  }
}
.header002 .nav__jobs {
  position: absolute;
  bottom: 60px;
}
@media (min-width: 992px) {
  .header002 .nav__jobs {
    display: none;
  }
}
@media (min-width: 992px) {
  .header002 .nav__social-bar {
    display: none;
  }
}
.header002 .social-bar svg {
  fill: #89c6dd;
  width: 20px !important;
  height: 20px !important;
}
.header002 .social-bar svg:hover {
  fill: #223564;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.header002 .social-bar__a {
  margin: 0 .3em;
}
.header002 #searchform > div {
  position: relative;
  border: 1px solid #89c6dd;
}
@media (min-width: 992px) {
  .header002 #searchform > div {
    border: 1px solid white;
  }
}
.header002 #searchform > div input {
  border-style: hidden;
  padding-right: 8px;
  background-color: transparent;
}
@media (min-width: 992px) {
  .header002 #searchform > div input {
    height: 29px;
    border: none;
  }
}
.header002 #searchform svg {
  width: 16px;
  fill: #fdfdfd;
}
.header002 .multilingual,
.header002 .mobile-multilingual {
  color: #89c6dd;
  font-weight: 600;
  font-size: 1.125rem;
}
@media (min-width: 992px) {
  .header002 .multilingual,
  .header002 .mobile-multilingual {
    color: #fdfdfd;
  }
}
.header002 .slogan {
  background-image: url(images/slogan.png);
  width: 218px;
  height: 19px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.nav__sub-menu:after {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.nav__sub-menu:before {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
@media (min-width: 992px) {
  .nav__sub-menu:after {
    border-color: rgba(0, 0, 0, 0);
    border-bottom-color: white;
    border-width: 24px;
    margin-left: -24px;
  }
}
@media (min-width: 992px) {
  .nav__sub-menu:before {
    border-color: rgba(0, 0, 0, 0);
    border-bottom-color: white;
    border-width: 30px;
    margin-left: -30px;
  }
}
/* footer.less */
footer {
  overflow: hidden;
}
footer .footer-logo,
footer .footer-certifications {
  background-color: #f5f5f5;
}
footer .footer-top {
  background-color: #f5f5f5;
}
footer .footer-top .column-one .contact-info-title {
  color: #89c6dd;
  font-size: 1.7rem;
  line-height: 4.8rem;
  font-weight: 500;
  display: block;
  text-align: center;
}
@media (min-width: 992px) {
  footer .footer-top .column-one .contact-info-title {
    display: inline;
    font-size: 1.25rem;
    line-height: 2.95rem;
    text-align: left;
  }
}
footer .footer-top .column-one .contact-info-text {
  color: #4d525d;
  font-size: 1.7rem;
  line-height: 4.8rem;
  font-weight: 500;
  text-align: center;
  display: block;
}
@media (min-width: 992px) {
  footer .footer-top .column-one .contact-info-text {
    font-size: 1.25rem;
    text-align: left;
    line-height: 2.95rem;
    display: inline;
  }
}
footer .footer-top .column-two .contact-info-title {
  color: #89c6dd;
  font-size: 1.7rem;
  line-height: 4.8rem;
  font-weight: 500;
  display: block;
  text-align: center;
}
@media (min-width: 992px) {
  footer .footer-top .column-two .contact-info-title {
    display: inline;
    font-size: 1.25rem;
    line-height: 2.95rem;
    text-align: left;
  }
}
footer .footer-top .column-two .contact-info-text {
  color: #4d525d;
  font-size: 1.7rem;
  line-height: 4.8rem;
  font-weight: 500;
  text-align: center;
  display: block;
}
@media (min-width: 992px) {
  footer .footer-top .column-two .contact-info-text {
    font-size: 1.25rem;
    text-align: left;
    display: inline;
    line-height: 2.95rem;
  }
}
footer .footer-top .col-three {
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  footer .footer-top .col-three {
    margin-bottom: 0;
  }
}
footer .footer-top .col-three .col-three-title {
  color: #89c6dd;
  font-size: 1.7rem;
  line-height: 2.15rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  footer .footer-top .col-three .col-three-title {
    font-size: 1.25rem;
    line-height: 2.15rem;
    text-align: left;
    margin-bottom: 0;
  }
}
footer .footer-top .col-three .col-three-text {
  color: #2b437e;
  font-size: 1.7rem;
  line-height: 2.8rem;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 992px) {
  footer .footer-top .col-three .col-three-text {
    font-size: 1.25rem;
    line-height: 2.15rem;
    text-align: left;
  }
}
footer .footer-top .col-four .col-four-title {
  color: #2b437e;
  font-size: 1.7rem;
  line-height: 2.15rem;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 992px) {
  footer .footer-top .col-four .col-four-title {
    font-size: 1.25rem;
    text-align: left;
  }
}
footer .footer-top .col-four .col-four-title a {
  color: #2b437e;
}
footer .footer-top .col-four .col-four-title a:hover {
  color: #2b437e;
}
footer .footer-top .col-four .footer-social-icons {
  text-align: center;
}
@media (min-width: 992px) {
  footer .footer-top .col-four .footer-social-icons {
    text-align: left;
  }
}
footer .footer-top .col-four .footer-social-icons a {
  color: #2b437e;
  font-size: 1.25rem;
  line-height: 1.6rem;
  font-weight: 600;
}
footer .footer-copy {
  background-color: #e3f2f8;
}
footer .footer-copy .copy-text {
  color: #4d525d;
  font-size: 0.65rem;
  line-height: 1.45rem;
  font-weight: 600;
}
footer .footer-copy .sogo-logo span {
  color: #4d525d;
  font-size: 0.65rem;
  line-height: 0.65rem;
  font-weight: 600;
}
.front-page-section-1 {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -90px 0;
  min-height: 47vh;
  position: relative;
}
.front-page-section-1 .h1 {
  font-weight: 300;
  text-shadow: 0 4px 4.34px rgba(137, 198, 221, 0.5);
  text-transform: none;
}
@media (max-width: 500px) {
  .front-page-section-1 .h1 {
    font-size: 21px;
  }
}
@media (min-width: 1200px) {
  .front-page-section-1 {
    height: calc(100vh - 30px);
    background-position: 0 0;
  }
}
.front-page-section-1 .arrow-down {
  position: absolute;
  bottom: -10px;
  width: 100%;
  z-index: 5;
  left: 0;
  text-align: center;
}
@media (min-width: 992px) {
  .front-page-section-1 .arrow-down {
    bottom: -28px;
  }
}
.front-page-section-1 .arrow-down a i {
  color: white;
  background-color: #89C6DD;
  border: 0 solid white;
  border-radius: 5px;
  font-weight: normal;
  font-size: 0.9em;
  height: 3.2em;
  width: 3.2em;
  line-height: 3.2em;
}
@media (min-width: 992px) {
  .front-page-section-1 .arrow-down a i {
    font-size: 0.9em;
    height: 3.2em;
    width: 3.2em;
  }
}
.front-page-section-1 .arrow-down a i:before {
  font-size: 2em;
}
@media (min-width: 992px) {
  .front-page-section-1 .arrow-down a i:before {
    font-size: 3em;
  }
}
.front-page-section-1 .arrow-down a:hover i {
  background-color: #E3F2F8;
}
.services .service-title {
  height: 3.4rem;
  color: #4d525d;
  font-size: 1.75rem;
  line-height: 1.2em;
  font-weight: 500;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .services .service-title {
    font-size: 1.45rem;
    line-height: 1.2em;
  }
}
.services .service-text p {
  color: #4d525d;
  font-size: 1.55rem;
  line-height: 1.6rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .services .service-text p {
    font-size: 1.14rem;
    line-height: 1.45rem;
  }
}
.new-products .bg-gray {
  background-color: #f5f5f5;
}
.new-products .service-image {
  margin: 0 auto;
}
.new-products .service-title {
  height: 3.4rem;
}
.new-products .service-title a {
  color: #4d525d;
  font-size: 1.75rem;
  line-height: 1.2em;
  font-weight: 500;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .new-products .service-title a {
    font-size: 1.45rem;
    line-height: 1.2em;
  }
}
.new-products .service-title a:hover {
  color: #89c6dd;
}
.new-products .service-text {
  color: #4d525d;
  font-size: 1.55rem;
  line-height: 1.6rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .new-products .service-text {
    font-size: 1.15rem;
    line-height: 1.55rem;
  }
}
.new-products .image-cube-wrapper {
  -webkit-transition: 2s;
  -moz-transition: 2s;
  -ms-transition: 2s;
  -o-transition: 2s;
  transition: 2s;
  position: relative;
}
.new-products .image-cube-wrapper:hover {
  background-color: #e3f2f8;
}
.new-products .image-cube-wrapper:hover .more-info {
  position: absolute;
  left: 0;
  right: 0;
  display: block !important;
  -webkit-transition: 2s;
  -moz-transition: 2s;
  -ms-transition: 2s;
  -o-transition: 2s;
  transition: 2s;
}
.new-products .image-cube-wrapper:hover .more-info a {
  background-color: #2b437e;
  padding: 0.2rem 1.5rem;
  font-size: 1.15rem;
  color: white;
  text-transform: uppercase;
  -webkit-transition: 2s;
  -moz-transition: 2s;
  -ms-transition: 2s;
  -o-transition: 2s;
  transition: 2s;
}
.global-partners .hp-global-partners-carousle-items img {
  max-height: 80px;
  margin: 0 auto;
}
/* 404.less */
.page-404 .logo-404 {
  margin: 6rem 0;
}
.page-404 h1.title-404 {
  color: #89c6dd;
  font-size: 70px;
  line-height: 120px;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 992px) {
  .page-404 h1.title-404 {
    font-size: 3.65rem;
    line-height: 6.3rem;
  }
}
.page-404 h2.title {
  color: #2b437e;
  font-size: 30px;
  line-height: 47px;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 992px) {
  .page-404 h2.title {
    font-size: 1.6rem;
    line-height: 2.45rem;
  }
}
.page-404 p.text-main {
  color: #4d525d;
  font-size: 25px;
  line-height: 30px;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 992px) {
  .page-404 p.text-main {
    font-size: 1.32rem;
    line-height: 2.45rem;
  }
}
.page-404 .btn {
  font-size: 25px;
}
@media (min-width: 992px) {
  .page-404 .btn {
    color: #ffffff;
    font-size: 1.32rem;
    font-weight: 400;
  }
}
/* END 404.less */
/*====================================
=            about.less              =
====================================*/
.page-about .about-us.composites .composite-titles .the-big {
  text-align: left;
}
.page-about .about-us.composites .composite-titles .the-small {
  text-align: left;
  color: #2b437e;
}
.page-about .about-us.composites .composite-titles .the-text p {
  color: #4d525d;
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.8rem;
}
@media (min-width: 992px) {
  .page-about .about-us.composites .composite-titles .the-text p {
    font-size: 1.15rem;
    line-height: 1.5rem;
  }
}
.page-about .ceo-message .ceo-text {
  font-size: 1.35rem;
  font-weight: 500;
  color: #4d525d;
  text-align: center;
  line-height: 1.8rem;
  padding: 0 1.5rem;
}
@media (min-width: 992px) {
  .page-about .ceo-message .ceo-text {
    font-size: 1.15rem;
    line-height: 1.5rem;
  }
}
.page-about .ceo-message .ceo-desc {
  background-color: #e3f2f8;
  padding: 1.5rem;
}
.page-about .ceo-message .ceo-desc .ceo-img {
  padding-left: 0;
}
@media (min-width: 992px) {
  .page-about .ceo-message .ceo-desc .ceo-img {
    padding-left: 4rem;
  }
}
.page-about .ceo-message .ceo-desc .ceo-img img {
  border-radius: 100%;
  width: 133px;
  min-width: 133px;
  height: 133px;
}
.page-about .ceo-message .ceo-desc .ceo-story {
  padding-left: 0;
}
@media (min-width: 992px) {
  .page-about .ceo-message .ceo-desc .ceo-story {
    padding-left: 6.5rem;
  }
}
.page-about .ceo-message .ceo-desc .ceo-story .ceo-name {
  color: #2b437e;
  font-size: 1.55rem;
  font-weight: 500;
}
.page-about .ceo-message .ceo-desc .ceo-story .ceo-title {
  color: #4d525d;
  font-size: 1.55rem;
  font-weight: 500;
}
.page-about .ceo-message .ceo-desc .ceo-story .ceo-story-text {
  color: #4d525d;
  font-size: 1.35rem;
  line-height: 1.8rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .page-about .ceo-message .ceo-desc .ceo-story .ceo-story-text {
    font-size: 1.15rem;
    line-height: 1.5rem;
  }
}
.page-about .work-ethos .service-title {
  color: #4d525d;
  font-size: 1.55rem;
  font-weight: 500;
  text-align: center;
}
.page-about .work-ethos .service-text {
  color: #4d525d;
  font-size: 1.35rem;
  line-height: 1.8rem;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 992px) {
  .page-about .work-ethos .service-text {
    font-size: 1.15rem;
    line-height: 1.5rem;
  }
}
.page-about .working-with-propharm .working-text {
  padding-bottom: 11.5rem;
}
.page-about .working-with-propharm .working-text-top p {
  color: #4d525d;
  font-size: 1.55rem;
  font-weight: 500;
  text-align: center;
}
.page-about .working-with-propharm .working-text-bottom p {
  color: #4d525d;
  font-size: 1.35rem;
  line-height: 1.8rem;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 992px) {
  .page-about .working-with-propharm .working-text-bottom p {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}
.page-about .working-with-propharm .bg-image {
  background: url(images/working-pic-bg.jpg) no-repeat center top transparent;
  background-size: cover;
}
/*====================================
=            contact-page.less              =
====================================*/
.page-contact .contact-us .the-title {
  font-size: 1.44rem;
  font-weight: 500;
  color: #2b437e;
  line-height: 1rem;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .page-contact .contact-us .the-title {
    font-size: 1.32rem;
    line-height: 0.75rem;
  }
}
.page-contact .contact-info-map .contact-top-title {
  font-size: 1.55rem;
  font-weight: 500;
  color: #4d525d;
  line-height: 1.8rem;
}
@media (min-width: 992px) {
  .page-contact .contact-info-map .contact-top-title {
    font-size: 1.45rem;
    line-height: 2rem;
  }
}
.page-contact .contact-info-map .contact-top-subtitle {
  font-size: 1.55rem;
  font-weight: 500;
  color: #4d525d;
  line-height: 1.8rem;
}
@media (min-width: 992px) {
  .page-contact .contact-info-map .contact-top-subtitle {
    font-size: 1.45rem;
    line-height: 2rem;
  }
}
.page-contact .contact-info-map .contact-title {
  font-size: 1.35rem;
  font-weight: 500;
  color: #2b437e;
  line-height: 1.8rem;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .page-contact .contact-info-map .contact-title {
    font-size: 1.15rem;
    line-height: 1.5rem;
  }
}
.page-contact .contact-info-map .contact-text p {
  font-size: 1.35rem;
  font-weight: 500;
  color: #4d525d;
  line-height: 1.8rem;
}
@media (min-width: 992px) {
  .page-contact .contact-info-map .contact-text p {
    font-size: 1.15rem;
    line-height: 1.5rem;
  }
}
/* entry-content.less */
/*====================================
=            partners.less           =
====================================*/
.page-global-partners .global-partners .hp-global-partners-carousle-items img {
  max-height: 80px;
  margin: 0 auto;
  height: auto;
  width: auto;
}
@media (min-width: 992px) {
  .page-global-partners .global-partners .hp-global-partners-carousle-items img {
    max-height: 100%;
    height: 100%;
    width: 100%;
  }
}
.page-global-partners .partners-bottom-section .partners-text-bottom p {
  color: #4d525d;
  font-size: 1.35rem;
  line-height: 1.8rem;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 992px) {
  .page-global-partners .partners-bottom-section .partners-text-bottom p {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}
.page-global-partners .partners-logo img {
  height: 100%;
  max-width: fit-content;
  width: auto;
}
/*====================================
=            customers.less           =
====================================*/
.page-customers .global-customers .hp-global-customers-carousle-items img {
  max-height: 80px;
  margin: 0 auto;
  height: auto;
  width: auto;
}
@media (min-width: 992px) {
  .page-customers .global-customers .hp-global-customers-carousle-items img {
    max-height: 100%;
    height: 100%;
    width: 100%;
  }
}
.page-customers .customers-bottom-section .customers-text-bottom p {
  color: #4d525d;
  font-size: 1.35rem;
  line-height: 1.8rem;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 992px) {
  .page-customers .customers-bottom-section .customers-text-bottom p {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}
.page-customers .customers-logo img {
  height: 60px;
  max-height: 60px;
}
/*====================================
=         archive-service.less       =
====================================*/
.archive-service .service-title {
  height: 3.4rem;
}
.archive-service .service-title a {
  color: #4d525d;
  font-size: 1.75rem;
  line-height: 1.2em;
  font-weight: 500;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .archive-service .service-title a {
    font-size: 1.45rem;
    line-height: 1.2em;
  }
}
.archive-service .service-title a:hover {
  color: #89c6dd;
}
.archive-service .service-text p {
  color: #4d525d;
  font-size: 1.55rem;
  line-height: 1.6rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .archive-service .service-text p {
    font-size: 1.14rem;
    line-height: 1.45rem;
  }
}
/*====================================
=         archive-service.less       =
====================================*/
.archive-product .service-title {
  height: 3.4rem;
}
.archive-product .service-title a {
  color: #4d525d;
  font-size: 1.75rem;
  line-height: 1.2em;
  font-weight: 500;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .archive-product .service-title a {
    font-size: 1.45rem;
    line-height: 1.2em;
  }
}
.archive-product .service-title a:hover {
  color: #89c6dd;
}
.archive-product .service-text {
  color: #4d525d;
  font-size: 1.55rem;
  line-height: 1.6rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .archive-product .service-text {
    font-size: 1.15rem;
    line-height: 1.45rem;
  }
}
.archive-product .search-form label {
  color: #4d525d;
  font-size: 1.65rem;
  line-height: 1.2em;
  font-weight: 500;
}
@media (min-width: 992px) {
  .archive-product .search-form label {
    font-size: 1.32rem;
    line-height: 1.2em;
  }
}
.archive-product .search-form input {
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 1px solid #2b437e;
  border-radius: 0;
  padding: 0 0 0 10px;
  color: #4d525d;
  font-size: 1.65rem;
  line-height: 1.2em;
  font-weight: 500;
}
@media (min-width: 1280px) {
  .archive-product .search-form input {
    width: 10rem;
  }
}
@media (min-width: 1600px) {
  .archive-product .search-form input {
    font-size: 1.32rem;
    line-height: 1.2em;
    width: auto;
  }
}
.archive-product .search-form .vertical-line {
  color: #acaeb3;
  font-size: 1.2rem;
  line-height: 1.2em;
  font-weight: 500;
}
.archive-product .search-form .search-icon {
  font-size: 1.65rem;
  line-height: 1.2em;
  font-weight: 500;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .archive-product .search-form .search-icon {
    font-size: 1.32rem;
    line-height: 1.2em;
  }
}
.archive-product .search-form .search-icon i {
  color: #89c6dd;
  cursor: pointer;
}
.archive-product .search-form .search-icon i:hover {
  color: #4d525d;
  background-color: transparent;
  border-color: transparent;
}
.archive-product .filter-products-a-to-z .filter-products .left-title {
  color: #4d525d;
  font-size: 1.65rem;
  line-height: 1.2em;
  font-weight: 500;
}
@media (min-width: 992px) {
  .archive-product .filter-products-a-to-z .filter-products .left-title {
    font-size: 1.32rem;
    line-height: 1.2em;
  }
}
.archive-product .filter-products-a-to-z .filter-products .the-letters a {
  color: #89c6dd;
  font-size: 1.65rem;
  line-height: 1.2em;
  font-weight: 500;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .archive-product .filter-products-a-to-z .filter-products .the-letters a {
    font-size: 1.32rem;
    line-height: 1.2em;
  }
}
.archive-product .filter-products-a-to-z .filter-products .the-letters a:hover {
  color: #4d525d;
}
.archive-product .wp-pagenavi a {
  text-decoration: none;
  border: 0 solid #BFBFBF;
  padding: 0 0.8rem;
  margin: 0;
  color: #89c6dd;
  font-size: 1.32rem;
  line-height: 1.2em;
  font-weight: 500;
}
.archive-product .wp-pagenavi a:hover {
  color: #2b437e;
}
.archive-product .wp-pagenavi span {
  text-decoration: none;
  border: 0 solid #BFBFBF;
  padding: 3px 5px;
  margin: 2px;
  color: #89c6dd;
  font-size: 1.32rem;
  line-height: 1.2em;
  font-weight: 500;
}
.archive-product .btn-secondary:hover {
  color: #4d525d;
  background-color: transparent;
  border-color: transparent;
}
/*====================================
=         single-service.less       =
====================================*/
.single-service .service-single-lvl2 .the-text p {
  color: #4d525d;
  font-size: 1.47rem;
  line-height: 1.9;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .single-service .service-single-lvl2 .the-text p {
    font-size: 1.27rem;
    line-height: 2.3;
  }
}
.single-service .service-single-lvl3 .lvl3-text p {
  color: #4d525d;
  font-size: 1.35rem;
  line-height: 1.8rem;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .single-service .service-single-lvl3 .lvl3-text p {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}
.single-service .service-single-lvl4 .the-title {
  color: #4d525d;
  font-size: 1.9rem;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .single-service .service-single-lvl4 .the-title {
    font-size: 1.55rem;
  }
}
.single-service .service-single-lvl4 .the-text p {
  color: #4d525d;
  font-size: 1.4rem;
  line-height: 1.8rem;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .single-service .service-single-lvl4 .the-text p {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}
.single-service .service-single-lvl4 .slick-dots {
  margin-top: -2.5rem;
}
.single-service .service-single-lvl4 .slick-dots li:before {
  width: 16px;
  height: 16px;
}
.single-service .service-single-lvl4 .slick-dots li button {
  display: none;
}
.single-service .service-single-lvl4 .slick-dots li.slick-active:before {
  width: 16px;
  height: 16px;
  background-color: #e3f2f8;
}
.single-service .service-single-lvl6 .the-title {
  color: #4d525d;
  font-size: 1.9rem;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .single-service .service-single-lvl6 .the-title {
    font-size: 1.55rem;
  }
}
.single-service .service-single-lvl6 .lvl6-text-bottom p {
  color: #4d525d;
  font-size: 1.35rem;
  line-height: 1.8rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .single-service .service-single-lvl6 .lvl6-text-bottom p {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}
/*====================================
=         single-service.less       =
====================================*/
.single-product .product-single-lvl1 .product-feature-image {
  background-color: #e3f2f8;
}
.single-product .product-single-lvl1 .the-product-title {
  color: #89c6dd;
  font-size: 3.3rem;
  font-weight: 600;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .single-product .product-single-lvl1 .the-product-title {
    font-size: 3.1rem;
  }
}
.single-product .product-single-lvl1 .property-title {
  color: #89c6dd;
  font-size: 1.47rem;
  font-weight: 500;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .single-product .product-single-lvl1 .property-title {
    font-size: 1.31rem;
  }
}
.single-product .product-single-lvl1 .property-content p {
  color: #4d525d;
  font-size: 1.3rem;
  font-weight: 500;
  padding-bottom: 0;
}
@media (min-width: 992px) {
  .single-product .product-single-lvl1 .property-content p {
    font-size: 1.12rem;
  }
}
.single-product .product-single-lvl2 .the-text p {
  color: #4d525d;
  font-size: 1.47rem;
  line-height: 1.9;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .single-product .product-single-lvl2 .the-text p {
    font-size: 1.27rem;
    line-height: 2.3;
  }
}
.single-product .product-single-lvl3 .related-products .bg-gray {
  background-color: #f5f5f5;
}
.single-product .product-single-lvl3 .related-products .service-image {
  margin: 0 auto;
}
.single-product .product-single-lvl3 .related-products .service-title {
  height: 3.4rem;
}
.single-product .product-single-lvl3 .related-products .service-title a {
  color: #4d525d;
  font-size: 1.75rem;
  line-height: 1.2em;
  font-weight: 500;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 992px) {
  .single-product .product-single-lvl3 .related-products .service-title a {
    font-size: 1.55rem;
    line-height: 1.2em;
  }
}
.single-product .product-single-lvl3 .related-products .service-title a:hover {
  color: #89c6dd;
}
.single-product .product-single-lvl3 .related-products .service-text {
  color: #4d525d;
  font-size: 1.55rem;
  line-height: 1.6rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .single-product .product-single-lvl3 .related-products .service-text {
    font-size: 1.12rem;
    line-height: 1.6rem;
  }
}
.single-product .product-single-lvl3 .related-products .image-cube-wrapper {
  -webkit-transition: 2s;
  -moz-transition: 2s;
  -ms-transition: 2s;
  -o-transition: 2s;
  transition: 2s;
  position: relative;
}
.single-product .product-single-lvl3 .related-products .image-cube-wrapper:hover {
  background-color: #e3f2f8;
  -webkit-transition: 2s;
  -moz-transition: 2s;
  -ms-transition: 2s;
  -o-transition: 2s;
  transition: 2s;
}
.single-product .product-single-lvl3 .related-products .image-cube-wrapper:hover .more-info {
  position: absolute;
  left: 0;
  right: 0;
  display: block !important;
  -webkit-transition: 2s;
  -moz-transition: 2s;
  -ms-transition: 2s;
  -o-transition: 2s;
  transition: 2s;
}
.single-product .product-single-lvl3 .related-products .image-cube-wrapper:hover .more-info a {
  background-color: #2b437e;
  padding: 0.2rem 1.5rem;
  font-size: 1.15rem;
  color: white;
  text-transform: uppercase;
  -webkit-transition: 2s;
  -moz-transition: 2s;
  -ms-transition: 2s;
  -o-transition: 2s;
  transition: 2s;
}
/*====================================
=         page-product.less       =
====================================*/
.product-page .service-single-lvl2 .the-text p {
  color: #4d525d;
  font-size: 1.47rem;
  line-height: 1.9;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .product-page .service-single-lvl2 .the-text p {
    font-size: 1.27rem;
    line-height: 2.3;
  }
}
.product-page .service-single-lvl3 .lvl3-text p {
  color: #4d525d;
  font-size: 1.35rem;
  line-height: 1.8rem;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .product-page .service-single-lvl3 .lvl3-text p {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}
.product-page .service-single-lvl4 .the-title {
  color: #4d525d;
  font-size: 1.9rem;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .product-page .service-single-lvl4 .the-title {
    font-size: 1.55rem;
  }
}
.product-page .service-single-lvl4 .the-text p {
  color: #4d525d;
  font-size: 1.4rem;
  line-height: 1.8rem;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .product-page .service-single-lvl4 .the-text p {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}
.product-page .service-single-lvl4 .slick-dots {
  margin-top: -2.5rem;
}
.product-page .service-single-lvl4 .slick-dots li:before {
  width: 16px;
  height: 16px;
}
.product-page .service-single-lvl4 .slick-dots li button {
  display: none;
}
.product-page .service-single-lvl4 .slick-dots li.slick-active:before {
  width: 16px;
  height: 16px;
  background-color: #e3f2f8;
}
.product-page .service-single-lvl6 .the-title {
  color: #4d525d;
  font-size: 1.9rem;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 992px) {
  .product-page .service-single-lvl6 .the-title {
    font-size: 1.55rem;
  }
}
.product-page .service-single-lvl6 .lvl6-text-bottom p {
  color: #4d525d;
  font-size: 1.35rem;
  line-height: 1.8rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .product-page .service-single-lvl6 .lvl6-text-bottom p {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}
/* page-thanks.less */
.page-thanks .logo-thanks {
  margin: 6rem 0;
}
.page-thanks h1.title-thanks {
  color: #89c6dd;
  font-size: 70px;
  line-height: 120px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .page-thanks h1.title-thanks {
    font-size: 3.65rem;
    line-height: 4.3rem;
  }
}
.page-thanks h2.title {
  color: #2b437e;
  font-size: 30px;
  line-height: 47px;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .page-thanks h2.title {
    font-size: 1.6rem;
    line-height: 2.45rem;
  }
}
.page-thanks p.text-main {
  color: #4d525d;
  font-size: 25px;
  line-height: 30px;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 992px) {
  .page-thanks p.text-main {
    font-size: 1.32rem;
    line-height: 2.45rem;
  }
}
.page-thanks .btn {
  font-size: 25px;
}
@media (min-width: 992px) {
  .page-thanks .btn {
    color: #ffffff;
    font-size: 1.32rem;
    font-weight: 400;
  }
}
div.wpcf7-mail-sent-ok {
  border: 0 solid transparent !important;
}
/* END page-thanks.less */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvcmVzZXQubGVzcyIsIm1peGluLmxlc3MiLCJ3b3JkcHJlc3MubGVzcyIsImNvc21ldGljcy9jbGFzc2VzLmxlc3MiLCJjb3NtZXRpY3MvYW5pbWF0ZS5sZXNzIiwicHJvamVjdC90eXBvZ3JhcGh5Lmxlc3MiLCJwcm9qZWN0L2dlbmVyYWwubGVzcyIsInByb2plY3QvaGVhZGVyLTAwMi5sZXNzIiwicHJvamVjdC9mb290ZXIubGVzcyIsInByb2plY3QvZnJvbnQtcGFnZS9zZWN0aW9uLTEubGVzcyIsInByb2plY3QvZnJvbnQtcGFnZS9zZWN0aW9uLTMubGVzcyIsInByb2plY3QvZnJvbnQtcGFnZS9zZWN0aW9uLTUubGVzcyIsInByb2plY3QvZnJvbnQtcGFnZS9zZWN0aW9uLTYubGVzcyIsInByb2plY3QvNDA0Lmxlc3MiLCJwcm9qZWN0L2Fib3V0Lmxlc3MiLCJwcm9qZWN0L2NvbnRhY3QtcGFnZS5sZXNzIiwicHJvamVjdC9wYXJ0bmVycy5sZXNzIiwicHJvamVjdC9jdXN0b21lcnMubGVzcyIsInByb2plY3QvYXJjaGl2ZS1zZXJ2aWNlLmxlc3MiLCJwcm9qZWN0L2FyY2hpdmUtcHJvZHVjdC5sZXNzIiwicHJvamVjdC9zaW5nbGUtc2VydmljZS5sZXNzIiwicHJvamVjdC9zaW5nbGUtcHJvZHVjdC5sZXNzIiwicHJvamVjdC9wYWdlLXByb2R1Y3QubGVzcyIsInByb2plY3QvcGFnZS10aGFua3MubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUE7QUFBTTtBQUFNO0FBQUs7QUFBTTtBQUN2QjtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUFHO0FBQzNCO0FBQU07QUFBUztBQUFNO0FBQ3JCO0FBQUs7QUFBSTtBQUFLO0FBQ2Q7QUFBTztBQUFRO0FBQUs7QUFDcEI7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQ3BCO0FBQVU7QUFBTTtBQUFPO0FBQ3ZCO0FBQU87QUFBUztBQUFP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O0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7O0FBQ0EsUUFBMEI7RUFtQ04sWUEzQ3hCLEdBQ0c7SUFRRyxpQkFBQTtJQUNBLG9CQUFBOzs7QUFLSixZQURGLEVBQ0c7RUFDQyxjQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTs7QUFDQSxRQUEwQjtFQXNCTixZQTdCeEIsRUFDRztJQU9HLGtCQUFBO0lBQ0Esb0JBQUE7OztBQXpDUixZQTZDRTtFQUNFLGVBQUE7O0FBQ0EsUUFBMEI7RUFjSixZQWhCeEI7SUFHSSxjQUFBO0lBQ0Esa0JBQUE7SUFDQSxnQkFBQTs7O0FBTUosR0FBQztFQUNDLHNDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogcmVzZXQubGVzcyAqL1xuXG4vKlxuaHRtbDVkb2N0b3IuY29tIFJlc2V0IFN0eWxlc2hlZXRcbnYxLjRcbjIwMDktMDctMjdcbkF1dGhvcjogUmljaGFyZCBDbGFyayAtIGh0dHA6Ly9yaWNoY2xhcmtkZXNpZ24uY29tXG4qL1xuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBvYmplY3QsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLFxuYWJiciwgYWRkcmVzcywgY2l0ZSwgY29kZSxcbmRlbCwgZW0sIGltZywgaW5zLFxuc21hbGwsIHN0cm9uZywgc3ViLCBzdXAsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBkaWFsb2csIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsXG5oZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbixcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAuYm94LXNpemluZygpO1xufVxuXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmFydGljbGUsIGFzaWRlLCBkaWFsb2csIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsXG5oZ3JvdXAsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgcXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSxcbmJsb2NrcXVvdGU6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgY29udGVudDogbm9uZTtcbn1cblxuYSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbmRlbCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG5hYmJyW3RpdGxlXSxcbmRmblt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDA7XG4gIGN1cnNvcjogaGVscDtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuaHIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NjY2M7XG4gIG1hcmdpbjogMWVtIDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0LFxuc2VsZWN0IHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxudWx7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuIiwiLyogbWl4aW4ubGVzcyAqL1xuXG4vLyBjb2xvcnMgYW5kIHNoYXBlc1xuXG4uYm94LXNoYWRvdyhAYXJndW1lbnRzKSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBAYXJndW1lbnRzO1xuICAgIC1tb3otYm94LXNoYWRvdzogQGFyZ3VtZW50cztcbiAgICBib3gtc2hhZG93OiBAYXJndW1lbnRzO1xufVxuXG4uY2FsYyhAcHJvcCwgQHZhbCkge1xuICAgICAgICBAe3Byb3B9OiBjYWxjKH4nQHt2YWx9Jyk7XG4gICAgICAgIEB7cHJvcH06IC1tb3otY2FsYyh+J0B7dmFsfScpO1xuICAgICAgICBAe3Byb3B9OiAtd2Via2l0LWNhbGMofidAe3ZhbH0nKTtcbiAgICAgICAgQHtwcm9wfTogLW8tY2FsYyh+J0B7dmFsfScpO1xufVxuXG4vLyBjYWxjIHVzYWdlIGV4YW1wbGVcbi8vLnJhbWl7XG4vLyAgLmNhbGMod2lkdGgsICcxMDAlIC0gMTAwcHgnKTtcbi8vfVxuLmJvcmRlci1yYWRpdXMoQHJhZGl1cykge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbn1cblxuLmJveC1zaXppbmcgKEB0eXBlOiBib3JkZXItYm94KSB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBAdHlwZTtcbiAgICAtbW96LWJveC1zaXppbmc6IEB0eXBlO1xuICAgIGJveC1zaXppbmc6IEB0eXBlO1xufVxuXG5cbi5vcGFjaXR5IChAb3BhY2l0eTogMC41KSB7XG4gICAgLXdlYmtpdC1vcGFjaXR5OiBAb3BhY2l0eTtcbiAgICAtbW96LW9wYWNpdHk6IEBvcGFjaXR5O1xuICAgIG9wYWNpdHk6IEBvcGFjaXR5O1xufVxuXG4uZ3JhZGllbnQgKEBzdGFydENvbG9yOiAjZWVlLCBAZW5kQ29sb3I6IHdoaXRlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHN0YXJ0Q29sb3I7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xufVxuXG4ubGluZWFyLWdyYWRpZW50KEBkZWdyZWUsIEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvciApIHtcbiAgICBiYWNrZ3JvdW5kOiBAZmlyc3QtY29sb3I7IC8qIEZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGdyYWRpZW50cyAqL1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWdyZWUsIEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvcik7IC8qIEZvciBTYWZhcmkgNS4xIHRvIDYuMCAqL1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChAZGVncmVlLCBAZmlyc3QtY29sb3IsIEBzZWNvbmQtY29sb3IsIEBlbmQtY29sb3IpOyAvKiBGb3IgT3BlcmEgMTEuMSB0byAxMi4wICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoQGRlZ3JlZSwgQGZpcnN0LWNvbG9yLCBAc2Vjb25kLWNvbG9yLCBAZW5kLWNvbG9yKTsgLyogRm9yIEZpcmVmb3ggMy42IHRvIDE1ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KEBkZWdyZWUsIEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvcik7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xufVxuXG4udmVydGljYWwtZ3JhZGllbnQoQGZpcnN0LWNvbG9yLCBAc2Vjb25kLWNvbG9yLCBAZW5kLWNvbG9yICkge1xuICAgIGJhY2tncm91bmQ6IEBmaXJzdC1jb2xvcjsgLyogRm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgZ3JhZGllbnRzICovXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGZpcnN0LWNvbG9yLCBAc2Vjb25kLWNvbG9yLCBAZW5kLWNvbG9yKTsgLyogRm9yIFNhZmFyaSA1LjEgdG8gNi4wICovXG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvcik7IC8qIEZvciBPcGVyYSAxMS4xIHRvIDEyLjAgKi9cbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChAZmlyc3QtY29sb3IsIEBzZWNvbmQtY29sb3IsIEBlbmQtY29sb3IpOyAvKiBGb3IgRmlyZWZveCAzLjYgdG8gMTUgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoQGZpcnN0LWNvbG9yLCBAc2Vjb25kLWNvbG9yLCBAZW5kLWNvbG9yKTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG59XG5cbi5ib3JkZXJfZ3JhZGllbnQgKEBzdGFydENvbG9yOiAjZWVlLCBAZW5kQ29sb3I6IHdoaXRlKSB7XG4gICAgYm9yZGVyLWltYWdlOiBAc3RhcnRDb2xvcjtcbiAgICBib3JkZXItaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTtcbiAgICBib3JkZXItaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAgIGJvcmRlci1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG4gICAgYm9yZGVyLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAgIGJvcmRlci1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xufVxuXG4uYmFja2dyb3VuZChAc2l6ZTpjb3Zlcikge1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbn1cblxuLnJlc3BvbnNpdmUtaW1nKCkge1xuICAgIEB3aWR0aDogMTAwJTtcbiAgICBAaGVpZ2h0OiBhdXRvO1xufVxuXG4uYnV0dG9uLWhvdmVyIChAYmc6ICNmNWY1ZjUsIEBjb2xvcjogIzkwMCwgQGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlKSB7XG4gICAgY29sb3I6IGxpZ2h0ZW4oQGNvbG9yLCAxMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oQGJnLCAxMCUpO1xufVxuXG4vLyBmbGV4IG9wdGlvbnNcbi5kaXNwbGF5LWZsZXgoKSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7IC8qIE9MRCAtIGlPUyA2LSwgU2FmYXJpIDMuMS02ICovXG4gICAgZGlzcGxheTogLW1vei1ib3g7IC8qIE9MRCAtIEZpcmVmb3ggMTktIChidWdneSBidXQgbW9zdGx5IHdvcmtzKSAqL1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvKiBUV0VFTkVSIC0gSUUgMTAgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7IC8qIE5FVyAtIENocm9tZSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7IC8qIE5FVywgU3BlYyAtIE9wZXJhIDEyLjEsIEZpcmVmb3ggMjArICovXG59XG5cbi5hbGlnbi1pdGVtcyhAYWxpZ246IGNlbnRlcikge1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IEBhbGlnbjtcbiAgICAtbW96LWFsaWduLWl0ZW1zOiBAYWxpZ247XG4gICAgLW1zLWFsaWduLWl0ZW1zOiBAYWxpZ247XG4gICAgYWxpZ24taXRlbXM6IEBhbGlnbjtcbn1cbi5kLWZsZXgtanVzdGlmeShAanVzdGlmeSkge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IEBqdXN0aWZ5O1xuICAgIC1tcy1mbGV4LXBhY2s6IEBqdXN0aWZ5O1xuICAgIGp1c3RpZnktY29udGVudDogQGp1c3RpZnk7XG59XG5cbi5vcmRlcihAb3JkZXIpIHtcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiBAb3JkZXI7XG4gICAgLW1zLWZsZXgtb3JkZXI6IEBvcmRlcjtcbiAgICBvcmRlcjogQG9yZGVyO1xufVxuXG4uZC1mbGV4LWNlbnRlcihAYWxpZ246IGNlbnRlcikge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAvKiBPTEQgLSBpT1MgNi0sIFNhZmFyaSAzLjEtNiAqL1xuICAgIGRpc3BsYXk6IC1tb3otYm94OyAvKiBPTEQgLSBGaXJlZm94IDE5LSAoYnVnZ3kgYnV0IG1vc3RseSB3b3JrcykgKi9cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLyogVFdFRU5FUiAtIElFIDEwICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OyAvKiBORVcgLSBDaHJvbWUgKi9cbiAgICBkaXNwbGF5OiBmbGV4OyAvKiBORVcsIFNwZWMgLSBPcGVyYSAxMi4xLCBGaXJlZm94IDIwKyAqL1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IEBhbGlnbjtcbiAgICAtbW96LWFsaWduLWl0ZW1zOiBAYWxpZ247XG4gICAgLW1zLWFsaWduLWl0ZW1zOiBAYWxpZ247XG4gICAgYWxpZ24taXRlbXM6IEBhbGlnbjtcbn1cblxuLy8gVXNhZ2Vcbi8vIGRpdntcbi8vIGRpc3BsYXktZmxleCgpO1xuXG4uZmxleC1ib3goQGZsZXg6IDEpIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiBAZmxleDsgLyogT0xEIC0gaU9TIDYtLCBTYWZhcmkgMy4xLTYgKi9cbiAgICAtbW96LWJveC1mbGV4OiBAZmxleDsgLyogT0xEIC0gRmlyZWZveCAxOS0gKi9cbiAgICB3aWR0aDogMjAlOyAvKiBGb3Igb2xkIHN5bnRheCwgb3RoZXJ3aXNlIGNvbGxhcHNlcy4gKi9cbiAgICAtd2Via2l0LWZsZXg6IEBmbGV4OyAvKiBDaHJvbWUgKi9cbiAgICAtbXMtZmxleDogQGZsZXg7IC8qIElFIDEwICovXG4gICAgZmxleDogQGZsZXg7XG59XG5cbi5mbGV4LWRpc3BsYXkoQGRpc3BsYXk6IGZsZXgpIHtcbiAgICBkaXNwbGF5OiB+XCItd2Via2l0LUB7ZGlzcGxheX1cIjtcbiAgICBkaXNwbGF5OiB+XCItbW96LUB7ZGlzcGxheX1cIjtcbiAgICBkaXNwbGF5OiB+XCItbXMtQHtkaXNwbGF5fWJveFwiOyAvLyBJRTEwIHVzZXMgLW1zLWZsZXhib3hcbiAgICBkaXNwbGF5OiB+XCItbXMtQHtkaXNwbGF5fVwiOyAvLyBJRTExXG4gICAgZGlzcGxheTogQGRpc3BsYXk7XG59XG5cbi5mbGV4KEBjb2x1bW5zOiBpbml0aWFsKSB7XG4gICAgLXdlYmtpdC1mbGV4OiBAY29sdW1ucztcbiAgICAtbW96LWZsZXg6IEBjb2x1bW5zO1xuICAgIC1tcy1mbGV4OiBAY29sdW1ucztcbiAgICBmbGV4OiBAY29sdW1ucztcbn1cblxuLmZsZXgtZGlyZWN0aW9uKEBkaXJlY3Rpb246IHJvdykge1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG4gICAgLW1vei1mbGV4LWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG4gICAgZmxleC1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG59XG5cbi5mbGV4LXdyYXAoQHdyYXA6IG5vd3JhcCkge1xuICAgIC13ZWJraXQtZmxleC13cmFwOiBAd3JhcDtcbiAgICAtbW96LWZsZXgtd3JhcDogQHdyYXA7XG4gICAgLW1zLWZsZXgtd3JhcDogQHdyYXA7XG4gICAgZmxleC13cmFwOiBAd3JhcDtcbn1cblxuLy8gYW5pbWF0aW9uc1xuXG4udHJhbnNpdGlvbiAoQHRyYW5zaXRpb246IGFsbCAwLjRzKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAtbW96LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgIC1tcy10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAtby10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuLnRyYW5zZm9ybShAc3RyaW5nKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IEBzdHJpbmc7XG4gICAgLW1vei10cmFuc2Zvcm06IEBzdHJpbmc7XG4gICAgLW1zLXRyYW5zZm9ybTogQHN0cmluZztcbiAgICAtby10cmFuc2Zvcm06IEBzdHJpbmc7XG4gICAgdHJhbnNmb3JtOiBAc3RyaW5nO1xufVxuXG4uc2NhbGUgKEBmYWN0b3IpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoQGZhY3Rvcik7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKEBmYWN0b3IpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKEBmYWN0b3IpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoQGZhY3Rvcik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZShAZmFjdG9yKTtcbn1cblxuLnJvdGF0ZSAoQGRlZykge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoQGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZShAZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoQGRlZyk7XG59XG5cblxuXG4udHJhbnNsYXRlIChAeCwgQHkpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbn1cblxuLnRyYW5zbGF0ZTNkIChAeCwgQHk6IDAsIEB6OiAwKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG59XG5cbi50cmFuc2xhdGVZIChAeCkge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKEB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWShAeCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWShAeCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKEB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoQHgpO1xufVxuXG4udHJhbnNsYXRlWCAoQHgpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWChAeCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoQHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoQHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWChAeCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKEB4KTtcbn1cblxuLnNrZXdZIChAZGVnKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdZKEBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBza2V3WShAZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBza2V3WShAZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHNrZXdZKEBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1koQGRlZyk7XG59XG5cbi5za2V3WCAoQGRlZykge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WChAZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2tld1goQGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2tld1goQGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiBza2V3WChAZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKEBkZWcpO1xufVxuXG5cbi5ob3Jpem9udGFsLWFsaWduKCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4udmVydGljYWwtYWxpZ24oQHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICAgIHBvc2l0aW9uOiBAcG9zaXRpb247XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4ueHlhbGlnbigpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi5pbnB1dC1wbGFjZWhvbGRlcihAY29sb3IpIHtcblxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgICAgIGNvbG9yOiBAY29sb3I7XG4gICAgfVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgIH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgIH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgIH1cbn1cblxuLnBlcmZlY3QtY2lyY2xlKEBzaXplKSB7XG4gICAgaGVpZ2h0OiBAc2l6ZTtcbiAgICB3aWR0aDogQHNpemU7XG4gICAgbGluZS1oZWlnaHQ6IEBzaXplO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8qIGVuZCBtaXhpbi5sZXNzICovIiwiLyogPVdvcmRQcmVzcyBDb3JlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuLmFsaWduY2VudGVyLFxuZGl2LmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDAgYXV0bztcbn1cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDI1cHggMCAyMHB4IDMwcHg7XG59XG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMjVweCAzMHB4IDIwcHggMDtcbn1cbmEgaW1nLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuYSBpbWcuYWxpZ25ub25lIHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5hIGltZy5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5hIGltZy5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvXG59XG4ud3AtY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4IDNweCAyM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6IEBjb2xvci00O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4ud3AtY2FwdGlvbi5hbGlnbm5vbmUge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cbi53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuLndwLWNhcHRpb24gaW1nIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuLndwLWNhcHRpb24gcC53cC1jYXB0aW9uLXRleHQge1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgNHB4IDVweDtcbn1cblxuLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBjb2xvci0zO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLyogQWJvdmUgV1AgdG9vbGJhci4gKi9cbn1cblxuXG4iLCIvKiBjbGFzc2VzLmxlc3MgKi9cblxuLy9cbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vYmFja2dyb3VuZHMgY29sb3JzXG4uYmctMSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xufVxuXG4uYmctMiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0yO1xufVxuXG4uYmctMyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0zO1xufVxuXG4uYmctNCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci00O1xufVxuXG5cbi8vYm9yZGVycyBjb2xvcnNcbi5ib3JkZXItY29sb3ItMSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xufVxuXG4uYm9yZGVyLWNvbG9yLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMjtcbn1cblxuLmJvcmRlci1jb2xvci0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTM7XG59XG5cbi5ib3JkZXItY29sb3ItNCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci00O1xufVxuXG5cbi8vdGV4dC1jb2xvclxuLmNvbG9yLTEge1xuICBjb2xvcjogQGNvbG9yLTE7XG59XG5cbi5jb2xvci0yIHtcbiAgY29sb3I6IEBjb2xvci0yO1xufVxuXG4uY29sb3ItMyB7XG4gIGNvbG9yOiBAY29sb3ItMztcbn1cblxuLmNvbG9yLTQge1xuICBjb2xvcjogQGNvbG9yLTQ7XG59XG5cblxuLy9ib3JkZXJcbi5ici0xIHtcbiAgYm9yZGVyOiAxcHggc29saWQgQGNvbG9yLTE7XG59XG4uYnItMiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBjb2xvci0yO1xufVxuLmJyLTMge1xuICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3ItMztcbn1cbi5ici00IHtcbiAgYm9yZGVyOiAxcHggc29saWQgQGNvbG9yLTQ7XG59XG5cbi5ici1yLTEge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBAY29sb3ItMTtcbn1cblxuLmJyLXItMiB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIEBjb2xvci0yO1xufVxuXG4uYnItci0zIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgQGNvbG9yLTM7XG59XG5cbi5ici1yLTQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBAY29sb3ItNDtcbn1cblxuLmJyLWwtMSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgQGNvbG9yLTE7XG59XG4uYnItbC0yIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBAY29sb3ItMjtcbn1cbi5ici1sLTMge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIEBjb2xvci0zO1xufVxuLmJyLWwtNCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgQGNvbG9yLTQ7XG59XG5cbi5ici10LTEge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQGNvbG9yLTE7XG59XG4uYnItdC0yIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBjb2xvci0yO1xufVxuLmJyLXQtMyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAY29sb3ItMztcbn1cbi5ici10LTQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQGNvbG9yLTQ7XG59XG4uYnItYi0xIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBjb2xvci0xO1xufVxuLmJyLWItMiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItMjtcbn1cbi5ici1iLTMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGNvbG9yLTM7XG59XG4uYnItYi00IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBjb2xvci00O1xufVxuLm5vcGFkIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gbWFyZ2luIGJvdHRvbVxuLm1iLWxnLTYge1xuICBtYXJnaW4tYm90dG9tOiA1LjJyZW07XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIG1hcmdpbi1ib3R0b206IDguMTI1cmVtO1xuICB9XG59XG4ubWItc2VjdGlvbi10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMuNnJlbTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC4zNzVyZW07XG4gIH1cbn0iLCIvKiBhbmltYXRlLmxlc3MgKi9cbi5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4uYW5pbWF0ZWQuaW5maW5pdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWRlbGF5OiAycztcbn1cblxuLmFuaW1hdGVkLmhpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xufVxuXG4uYW5pbWF0ZWQuYm91bmNlSW4sXG4uYW5pbWF0ZWQuYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbn1cblxuLmFuaW1hdGVkLmZsaXBPdXRYLFxuLmFuaW1hdGVkLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG5cbiAgNDAlLCA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlX3NtYWxsIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Vfc21hbGwge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuLmJvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLCA1MCUsIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sIDUwJSwgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnJ1YmJlckJhbmQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuLnNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cblxuLnN3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi50YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi53b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSwgMTEuMSUsIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5cbi5qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDUwJSwgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0RG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG4uYW5pbWF0ZWQuZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG4uZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmhpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnJvbGxJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG5cbi5yb2xsT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi56b29tSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uem9vbU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21PdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5cbi56b29tT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cblxuQGtleWZyYW1lcyBjbG91ZHNBbmltYXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUwMHB4LCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNTAwcHgsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUwMHB4LCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNTAwcHgsIDAsIDApO1xuICB9XG59XG4uY2xvdWRzQW5pbWF0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGU7XG4gIGFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlO1xuICAtbXMtYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGU7XG4gIC1tb3otYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGU7XG4gIC1vLWFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlO1xufVxuQGtleWZyYW1lcyBjbG91ZHNBbmltYXRlLWxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03MDBweCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTcwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03MDBweCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03MDBweCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNzAwcHgsIDAsIDApO1xuICB9XG59XG4uY2xvdWRzQW5pbWF0ZS1sZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogY2xvdWRzQW5pbWF0ZS1sZWZ0O1xuICBhbmltYXRpb24tbmFtZTogY2xvdWRzQW5pbWF0ZS1sZWZ0O1xuICAtbXMtYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGUtbGVmdDtcbiAgLW1vei1hbmltYXRpb24tbmFtZTogY2xvdWRzQW5pbWF0ZS1sZWZ0O1xuICAtby1hbmltYXRpb24tbmFtZTogY2xvdWRzQW5pbWF0ZS1sZWZ0O1xufVxuQGtleWZyYW1lcyBjYXJzQW5pbWF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5jYXJzQW5pbWF0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlO1xuICBhbmltYXRpb24tbmFtZTogY2Fyc0FuaW1hdGU7XG4gIC1tcy1hbmltYXRpb24tbmFtZTogY2Fyc0FuaW1hdGU7XG4gIC1tb3otYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlO1xuICAtby1hbmltYXRpb24tbmFtZTogY2Fyc0FuaW1hdGU7XG59XG5cbkBrZXlmcmFtZXMgY2Fyc0FuaW1hdGUtcmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5jYXJzQW5pbWF0ZS1yaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlLXJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogY2Fyc0FuaW1hdGUtcmlnaHQ7XG4gIC1tcy1hbmltYXRpb24tbmFtZTogY2Fyc0FuaW1hdGUtcmlnaHQ7XG4gIC1tb3otYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlLXJpZ2h0O1xuICAtby1hbmltYXRpb24tbmFtZTogY2Fyc0FuaW1hdGUtcmlnaHQ7XG59XG5cbi5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cbi5pbmZpbml0ZXtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuLmFjdGl2ZSAuZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuLmFjdGl2ZSAuZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO31cbiAgNDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7fVxuICA2MCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTt9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG4gIDQwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTt9XG4gIDYwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTt9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlX3NtYWxsIHtcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO31cbiAgNDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7fVxuICA2MCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO31cbn1cblxuQGtleWZyYW1lcyBib3VuY2Vfc21hbGwge1xuICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO31cbiAgNDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO31cbiAgNjAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7fVxufVxuXG4uYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xufVxuLy8gZW5kIEJvdW5jZVxuXG4vLyBncm93XG5cbi5hY3RpdmUgLmdyb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBncm93O1xuICBhbmltYXRpb24tbmFtZTogZ3JvdztcblxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGdyb3cge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBncm93IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG4uYWN0aXZlIC5mYWRlSW5VcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG5cbi5ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbi5hY3RpdmUgLmZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5hY3RpdmUgLnNsaWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYWN0aXZlIC5mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5hY3RpdmUgLmZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuXG4uaHZyLWljb24tZm9yd2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDIuMmVtO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG59XG4uaHZyLWljb24tZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzOFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxZW07XG4gIHBhZGRpbmc6IDAgMXB4O1xuICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5odnItaWNvbi1mb3J3YXJkOmhvdmVyOmJlZm9yZSxcbi5odnItaWNvbi1mb3J3YXJkOmZvY3VzOmJlZm9yZSxcbi5odnItaWNvbi1mb3J3YXJkOmFjdGl2ZTpiZWZvcmUge1xuICAudHJhbnNsYXRlWCAoNHB4KTtcblxufVxuLmh2ci1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbn1cbi5odnItZ3Jvdzpob3Zlcixcbi5odnItZ3Jvdzpmb2N1cyxcbi5odnItZ3JvdzphY3RpdmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5bY2xhc3NePVwiaHZyLVwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpe1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgfVxufVxuXG4vKiBlbmQgYW5pbWF0ZS5sZXNzICovIiwiLyogdHlwb2dyYXBoeS5sZXNzICovXG5cbmh0bWwge1xuICBmb250LXNpemU6IDE2cHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMTcwcHgpIHtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgfVxufVxuXG5ib2R5IHtcbiAgY29sb3I6IEBjb2xvci10ZXh0O1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uaDEge1xuICBmb250LXNpemU6IEBtX2gxLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiBAaDEtZm9udC1zaXplO1xuICB9XG59XG5cbi5oMiB7XG4gIGZvbnQtc2l6ZTogQG1faDItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IEBoMi1mb250LXNpemU7XG4gIH1cblxufVxuXG4uaDMge1xuICBmb250LXNpemU6IEBtX2gzLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiBAaDMtZm9udC1zaXplO1xuICB9XG59XG5cbi5oNCB7XG4gIGZvbnQtc2l6ZTogQG1faDQtZm9udC1zaXplICogMC44O1xuICBmb250LXdlaWdodDogNTAwO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IEBoNC1mb250LXNpemU7XG4gIH1cbn1cblxuLmg1IHtcbiAgZm9udC1zaXplOiBAbV9oNS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGZvbnQtc2l6ZTogQGg1LWZvbnQtc2l6ZTtcbiAgfVxufVxuXG4uaDYge1xuICBmb250LXNpemU6IEBtX2g2LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiBAaDYtZm9udC1zaXplO1xuICB9XG59XG5cbi5mb250LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi51cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubGgtYntcbiAgbGluZS1oZWlnaHQ6IDEuODtcbn1cbiIsIi5icmVhZGNydW1icyB7XG4gIGNvbG9yOiBAY29sb3ItNDtcbiAgZm9udC1zaXplOiAgMS4xcmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tdG9wOiA1LjJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIG1hcmdpbi10b3A6IDcuNXJlbTtcbiAgICBmb250LXNpemU6ICAwLjk1cmVtO1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICBmb250LXNpemU6ICAxLjFyZW07XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6ICAwLjk1cmVtO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICB9XG4gIH1cbn1cbi5jb250ZW50LXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAzLjZyZW07XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIG1hcmdpbi10b3A6IDQuMzc1cmVtO1xuICB9XG59XG4uaG9tZSB7XG4gIC5oZWFkZXIwMDIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cblxuXG4ucGFnZS1jb250ZW50IHtcbiAgLnBhZ2UtdGl0bGUge1xuICAgIGNvbG9yOiBAY29sb3ItMjtcbiAgICBmb250LXNpemU6ICAzLjY1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgIGZvbnQtc2l6ZTogIDMuMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICBmb250LXNpemU6ICAxLjU1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICBmb250LXNpemU6ICAxLjM1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICBoNSB7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICBmb250LXNpemU6ICAxLjM1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICBoNiB7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICBmb250LXNpemU6ICAxLjM1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICBwIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgICBmb250LXNpemU6IDEuMzVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBmb250LXNpemU6ICAxLjFyZW07XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgZm9udC1zaXplOiAgMS4zNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBmb250LXNpemU6ICAxLjFyZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgdG9wOiAwLjE1ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgb2wge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICAgICAgY291bnRlci1yZXNldDogbGk7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6ICAxLjM1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbGk7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogIDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogY291bnRlcihsaSk7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGIge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuNTVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgICB9XG4gICAgfVxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gIH1cbn1cbi5ob21lIHtcbiAgLmlubmVyLXNsaWRlIHtcbiAgICAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDAuMmVtIDEuOGVtO1xuICAgIH1cbiAgfVxufVxuLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogQG1faDQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMS43NWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogMC4yZW0gMi40ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAudHJhbnNpdGlvbjtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxNWVtO1xuICAgIGhlaWdodDogMTllbTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3R0b206IC0xZW07XG4gICAgbGVmdDogLTdlbTtcbiAgICAudHJhbnNpdGlvbjtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IEBoNC1mb250LXNpemU7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgJjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDE1ZW07XG4gICAgICBoZWlnaHQ6IDE1ZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJvdHRvbTogLTNlbTtcbiAgICAgIGxlZnQ6IDJlbTtcbiAgICAgIC50cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgJjpiZWZvcmUge1xuICAgICAgLnRyYW5zaXRpb247XG4gICAgfVxuICB9XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIC50cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG4uY29tcG9zaXRlcyB7XG4gIC5jb21wb3NpdGUtdGl0bGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC50aGUtYmlnIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogQGNvbG9yLTU7XG4gICAgICBmb250LXNpemU6IDMuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTIxcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBmb250LXNpemU6IDMuMzdyZW07XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogQGgxLWZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRoZS1zbWFsbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC40cmVtO1xuICAgICAgdG9wOiAtMjBweDtcbiAgICAgIGNvbG9yOiBAY29sb3ItMTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgIHRvcDogLTE1cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgIHRvcDogLTE1cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgIHRvcDogLTI0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb21wb3NpdGUtcGFyYWdyYXBoIHtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIGZvbnQtc2l6ZTogMS40N3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBmb250LXNpemU6IDEuMjdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uc2VjdGlvbi10aXRsZSB7XG4gIGNvbG9yOiBAY29sb3ItMztcbiAgZm9udC1zaXplOiAyLjQ1cmVtO1xuICBsaW5lLWhlaWdodDogM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiAyLjk1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjU0cmVtO1xuICB9XG59XG5cbi8qIHNsaWNrIGNhcm91c2VsIGRvdHMgc3R5bGUgKi9cbi5zbGljay1kb3RzIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgQGNvbG9yLTI7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0yO1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jb250YWN0LXVzIHtcbiAgLmNvbXBvc2l0ZS10aGUtZm9ybSB7XG4gICAgLmxhYmVsLW5hbWUge1xuICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgZm9udC1zaXplOiAxLjMycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICAgIC50aGUtZmllbGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItMjtcbiAgICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NXJlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGNvbG9yLTI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTVyZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZT1cInRlbFwiXSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItMjtcbiAgICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NXJlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItMjtcbiAgICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBAY29sb3ItNjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogaGVhZGVyLTAwMi5sZXNzICovXG5cbmJvZHkuZml4ZWQge1xuICAuaGVhZGVyMDAyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItNjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk5OTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDUuMzRweCAwLjY2cHggcmdiYSgyMjcsIDI0MiwgMjQ4LCAwLjkxKTtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggNS4zNHB4IDAuNjZweCByZ2JhKDIyNywgMjQyLCAyNDgsIDAuOTEpO1xuICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDRweCA1LjM0cHggMC42NnB4IHJnYmEoMjI3LCAyNDIsIDI0OCwgMC45MSk7XG4gICAgICBib3JkZXItYm90dG9tOiAwIHNvbGlkICM5OTk7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uKDAuMXMpO1xuICAgIC5sb2dvIHtcbiAgICAgIC5sb2dvLWltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2J1dHRvbiB7XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci0zO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLTY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm1vYmlsZS1tZW51IHtcbiAgICAgICZfX3N0cm9rZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0zO1xuICAgICAgfVxuICAgIH1cbiAgICAubmF2X191bCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIH1cbiAgICAgID4gdWwgPiAubmF2X19saSA+IC5uYXZfX2Ege1xuICAgICAgICAudHJhbnNpdGlvbigpO1xuICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm11bHRpbGluZ3VhbCxcbiAgICAubW9iaWxlLW11bHRpbGluZ3VhbCB7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgfVxuXG4gICAgPiAubmF2X19saSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgLm5hdl9fc3BhbiB7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxufVxuXG4uaGVhZGVyMDAyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTY7XG4gIGJvcmRlcjogbm9uZTtcbiAgdG9wOiAwO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgfVxuXG4gID4gZGl2IHtcbiAgICAuZC1mbGV4LWp1c3RpZnkoc3BhY2UtYmV0d2Vlbik7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmQtZmxleC1qdXN0aWZ5KHNwYWNlLWFyb3VuZCk7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgIC5kLWZsZXgtanVzdGlmeShzcGFjZS1iZXR3ZWVuKTtcbiAgICB9XG4gIH1cblxuICAmX19tZW51LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZfX2xpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY29sb3I6IEBjb2xvci02O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3ItNjtcbiAgICAgIHBhZGRpbmc6IDAgMTNweDtcbiAgICAgIGhlaWdodDogMzFweDtcbiAgICAgIC50cmFuc2l0aW9uKCk7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmQtZmxleC1jZW50ZXIoKTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGNvbG9yLTY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xuICAgICAgICAudHJhbnNpdGlvbigpO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXI6Zm9jdXMge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAubW9iaWxlLW1lbnUge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IEBjb2xvci02O1xuICAgICZfX3N0cm9rZXMge1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW46IDAgMjBweDtcbiAgICB9XG4gICAgJl9fc3Ryb2tlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItMztcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmxvZ28gLmxvZ28taW1nIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxNjVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTFweCkge1xuICAgICAgLy8gd2lkdGg6IDE1MHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDI3cHg7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtb3ZlcmxheS1uYXZpZ2F0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMzJkNGM7XG4gIH1cblxuICAubWVudS1vdmVybGF5IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci02O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAmX19zaG93X3RydWUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuNDVzO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDI1JTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAmX19jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICByaWdodDogNDVweDtcbiAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICB9XG4gICAgJl9fbGlua3Mge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fYSB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiAjNTE1ODZjO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICZfX2E6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICB9XG5cbiAgLm5hdiB7XG4gICAgJl9fc3BhbiB7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemUtbWVudTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgLnRyYW5zaXRpb24oKTtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQ1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX191bCB7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItNjtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1yaWdodCAuNXM7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgICZfc2hvd190cnVlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1yaWdodCAuNXM7XG4gICAgICB9XG5cbiAgICAgID4gdWwgPiAubmF2X19saSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAmLmFjdGl2ZSAubmF2X19zcGFuIHtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLm5hdl9fYSB7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcblxuICAgICAgICAgICAgcGFkZGluZzogMCAxLjRyZW07XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgY29sb3I6IEBjb2xvci10ZXh0O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX19leGl0LWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTZweDtcbiAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjdweDtcbiAgICAgIHotaW5kZXg6IDYwMDA7XG4gICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgJl9zaG93X3RydWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fZXhpdC1pY29uOmJlZm9yZSwgJl9fZXhpdC1pY29uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItMztcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUuM3B4O1xuICAgICAgbGVmdDogY2FsYyg0NCUpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgICZfX2V4aXQtaWNvbjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgICAmX19leGl0LWljb246YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgICAmX19leGl0LWljb246aG92ZXI6YmVmb3JlLCAmX19leGl0LWljb246Zm9jdXM6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgc2NhbGUoMS40LCAxLjQpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgc2NhbGUoMS40LCAxLjQpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHNjYWxlKDEuNCwgMS40KTtcbiAgICB9XG4gICAgJl9fZXhpdC1pY29uOmhvdmVyOmFmdGVyLCAmX19leGl0LWljb246Zm9jdXM6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEuNCwgMS40KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMS40LCAxLjQpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMS40LCAxLjQpO1xuICAgIH1cbiAgICAmX19kcm9wZG93biB7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLy8uYm94LXNoYWRvdygxcHggMXB4IDVweCAwcHggIzJjMzIzNSk7XG4gICAgICB9XG4gICAgICAubmF2X19hIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgLmQtZmxleC1qdXN0aWZ5KGNlbnRlcik7XG4gICAgICAgIH1cbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCJpbWFnZXMvaWNvbnMvYXJyb3ctZG93bi1tZW51LnN2Z1wiKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3ZlciA+IGRpdiB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIC50cmFuc2l0aW9uKCk7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItNjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNS4zNHB4IDAuNjZweCByZ2JhKDIzMCwgMjM4LCAyMjcsIDAuOTEpO1xuICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggNS4zNHB4IDAuNjZweCByZ2JhKDIzMCwgMjM4LCAyMjcsIDAuOTEpO1xuICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCA0cHggNS4zNHB4IDAuNjZweCByZ2JhKDIzMCwgMjM4LCAyMjcsIDAuOTEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViLW1lbnUge1xuICAgICAgLm5hdl9fbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjhyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNzU3cHgpIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubmF2X19hIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgfVxuICAgICAgLm5hdl9fYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICB3aWR0aDogNzc1cHg7XG4gICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIH1cblxuICAgICZfX2xvZ28ge1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgd2lkdGg6IDIxN3B4O1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzOHB4O1xuICAgICAgfVxuICAgICAgLmxvZ28taW1nIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2pvYnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA2MHB4O1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc29jaWFsLWJhciB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc29jaWFsLWJhciB7XG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6IEBjb2xvci0zO1xuICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGZpbGw6IEBjb2xvci0xO1xuICAgICAgICAudHJhbnNpdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19hIHtcbiAgICAgIG1hcmdpbjogMCAuM2VtO1xuICAgIH1cbiAgfVxuICAjc2VhcmNoZm9ybSB7XG4gICAgPiBkaXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3ItMztcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcblxuICAgICAgfVxuICAgICAgaW5wdXQge1xuICAgICAgICBib3JkZXItc3R5bGU6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgaGVpZ2h0OiAyOXB4O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGZpbGw6IEBjb2xvci02O1xuICAgIH1cbiAgfVxuXG4gIC5tdWx0aWxpbmd1YWwsXG4gIC5tb2JpbGUtbXVsdGlsaW5ndWFsIHtcbiAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgY29sb3I6IEBjb2xvci02O1xuICAgIH1cblxuICB9XG4gIC5zbG9nYW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvc2xvZ2FuLnBuZyk7XG4gICAgd2lkdGg6IDIxOHB4O1xuICAgIGhlaWdodDogMTlweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgfVxuXG59XG4ubmF2X19zdWItbWVudSB7XG4gICY6YWZ0ZXIge1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuLm5hdl9fc3ViLW1lbnUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgIGJvcmRlci13aWR0aDogMjRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICB9XG4gIH1cbn1cbi5uYXZfX3N1Yi1tZW51IHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgYm9yZGVyLXdpZHRoOiAzMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLyogZm9vdGVyLmxlc3MgKi9cblxuZm9vdGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmZvb3Rlci1sb2dvLCAuZm9vdGVyLWNlcnRpZmljYXRpb25zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICB9XG4gIC5mb290ZXItdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIC5jb2x1bW4tb25lIHtcbiAgICAgIC5jb250YWN0LWluZm8tdGl0bGUge1xuICAgICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjk1cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGFjdC1pbmZvLXRleHQge1xuICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi45NXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbHVtbi10d28ge1xuICAgICAgLmNvbnRhY3QtaW5mby10aXRsZSB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuOTVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNvbnRhY3QtaW5mby10ZXh0IHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjk1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wtdGhyZWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgLmNvbC10aHJlZS10aXRsZSB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi4xNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb2wtdGhyZWUtdGV4dCB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbC1mb3VyIHtcbiAgICAgIC5jb2wtZm91ci10aXRsZSB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mb290ZXItc29jaWFsLWljb25zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb290ZXItY29weSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTU7XG4gICAgLmNvcHktdGV4dCB7XG4gICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIC5zb2dvLWxvZ28ge1xuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC42NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuZnJvbnQtcGFnZS1zZWN0aW9uLTEge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTBweCAwO1xuICBtaW4taGVpZ2h0OiA0N3ZoO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgLmgxIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtc2hhZG93OiAwIDRweCA0LjM0cHggcmdiYSgxMzcsIDE5OCwgMjIxLCAwLjUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGhlaWdodDogflwiY2FsYygxMDB2aCAtIDMwcHgpXCI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuXG4gIH1cbiAgLmFycm93LWRvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbGVmdDowO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGJvdHRvbTogLTI4cHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgaSB7XG4gICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4OUM2REQ7XG4gICAgICAgIGJvcmRlcjogMCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICBoZWlnaHQ6IDMuMmVtO1xuICAgICAgICB3aWR0aDogMy4yZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjJlbTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICBoZWlnaHQ6IDMuMmVtO1xuICAgICAgICAgIHdpZHRoOiAzLjJlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTNGMkY4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnNlcnZpY2VzIHtcbiAgLnNlcnZpY2UtdGl0bGUge1xuICAgIGhlaWdodDogMy40cmVtO1xuICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLnRyYW5zaXRpb24oKTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICB9XG4gIH1cbiAgLnNlcnZpY2UtdGV4dCB7XG4gICAgcCB7XG4gICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICBmb250LXNpemU6IDEuNTVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBmb250LXNpemU6IDEuMTRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5uZXctcHJvZHVjdHMge1xuICAuYmctZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgfVxuICAuc2VydmljZS1pbWFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLnNlcnZpY2UtdGl0bGUge1xuICAgIGhlaWdodDogMy40cmVtO1xuICAgIGEge1xuICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIC50cmFuc2l0aW9uKCk7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQ1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2VydmljZS10ZXh0IHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTVyZW07XG4gICAgICB9XG4gIH1cbiAgLmltYWdlLWN1YmUtd3JhcHBlciB7XG4gICAgLnRyYW5zaXRpb24oMnMpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci01O1xuICAgICAgLm1vcmUtaW5mbyB7XG4gICAgICAgIC50cmFuc2l0aW9uKDJzKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgLnRyYW5zaXRpb24oMnMpO1xuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMS41cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgLnRyYW5zaXRpb24oMnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmdsb2JhbC1wYXJ0bmVycyB7XG4gIC5ocC1nbG9iYWwtcGFydG5lcnMtY2Fyb3VzbGUtaXRlbXMge1xuICAgIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG59IiwiLyogNDA0Lmxlc3MgKi9cblxuLnBhZ2UtNDA0IHtcbiAgLmxvZ28tNDA0IHtcbiAgICAgIG1hcmdpbjogNnJlbSAwO1xuICB9XG4gIGgxIHtcbiAgICAmLnRpdGxlLTQwNCB7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICBmb250LXNpemU6IDcwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTIwcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy42NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYuM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaDIge1xuICAgICYudGl0bGUge1xuICAgICAgY29sb3I6IEBjb2xvci0yO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ3cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi40NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgJi50ZXh0LW1haW4ge1xuICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNDVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5idG4ge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxLjMycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gIH1cbn1cblxuLyogRU5EIDQwNC5sZXNzICovIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj0gICAgICAgICAgICBhYm91dC5sZXNzICAgICAgICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4ucGFnZS1hYm91dCB7XG4gIC5hYm91dC11cyB7XG4gICAgJi5jb21wb3NpdGVzIHtcbiAgICAgIC5jb21wb3NpdGUtdGl0bGVzIHtcbiAgICAgICAgLnRoZS1iaWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnRoZS1zbWFsbCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLTI7XG4gICAgICAgIH1cbiAgICAgICAgLnRoZS10ZXh0IHtcbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNlby1tZXNzYWdlIHtcbiAgICAuY2VvLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxLjM1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5jZW8tZGVzYyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItNTtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgIC5jZW8taW1nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgfVxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEzM3B4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMzNweDtcbiAgICAgICAgICAgIGhlaWdodDogMTMzcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNlby1zdG9yeSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA2LjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmNlby1uYW1lIHtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLTI7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgLmNlby10aXRsZSB7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgICAgIC5jZW8tc3RvcnktdGV4dCB7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAud29yay1ldGhvcyB7XG4gICAgLnNlcnZpY2UtaWNvbiB7XG5cbiAgICB9XG4gICAgLnNlcnZpY2UtdGl0bGUge1xuICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLnNlcnZpY2UtdGV4dCB7XG4gICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICBmb250LXNpemU6IDEuMzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC53b3JraW5nLXdpdGgtcHJvcGhhcm0ge1xuICAgIC53b3JraW5nLXRleHQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTEuNXJlbTtcbiAgICB9XG4gICAgLndvcmtpbmctdGV4dC10b3Age1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIC53b3JraW5nLXRleHQtYm90dG9tIHtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5iZy1pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3dvcmtpbmctcGljLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AgdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgfVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICAgY29udGFjdC1wYWdlLmxlc3MgICAgICAgICAgICAgID1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi5wYWdlLWNvbnRhY3Qge1xuICAuY29udGFjdC11cyB7XG4gICAgLnRoZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNDRyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6IEBjb2xvci0yO1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuNzVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb250YWN0LWluZm8tbWFwIHtcbiAgICAuY29udGFjdC10b3AtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQ1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhY3QtdG9wLXN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250YWN0LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogQGNvbG9yLTI7XG4gICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250YWN0LXRleHQge1xuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICAgcGFydG5lcnMubGVzcyAgICAgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLnBhZ2UtZ2xvYmFsLXBhcnRuZXJzIHtcblxuICAuZ2xvYmFsLXBhcnRuZXJzIHtcbiAgICAuaHAtZ2xvYmFsLXBhcnRuZXJzLWNhcm91c2xlLWl0ZW1zIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFydG5lcnMtYm90dG9tLXNlY3Rpb24ge1xuICAgIC5wYXJ0bmVycy10ZXh0LWJvdHRvbSB7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuMzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFydG5lcnMtbG9nbyB7XG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPSAgICAgICAgICAgIGN1c3RvbWVycy5sZXNzICAgICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4ucGFnZS1jdXN0b21lcnMge1xuXG4gIC5nbG9iYWwtY3VzdG9tZXJzIHtcbiAgICAuaHAtZ2xvYmFsLWN1c3RvbWVycy1jYXJvdXNsZS1pdGVtcyB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmN1c3RvbWVycy1ib3R0b20tc2VjdGlvbiB7XG4gICAgLmN1c3RvbWVycy10ZXh0LWJvdHRvbSB7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuMzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY3VzdG9tZXJzLWxvZ28ge1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgIH1cbiAgfVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgYXJjaGl2ZS1zZXJ2aWNlLmxlc3MgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLmFyY2hpdmUtc2VydmljZSB7XG4gICAgLnNlcnZpY2UtdGl0bGUge1xuICAgICAgaGVpZ2h0OiAzLjRyZW07XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgLnRyYW5zaXRpb24oKTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjQ1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNlcnZpY2UtdGV4dCB7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuNTVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNHJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgYXJjaGl2ZS1zZXJ2aWNlLmxlc3MgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLmFyY2hpdmUtcHJvZHVjdCB7XG4gIC5zZXJ2aWNlLXRpdGxlIHtcbiAgICBoZWlnaHQ6IDMuNHJlbTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAudHJhbnNpdGlvbigpO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlcnZpY2UtdGV4dCB7XG4gICAgY29sb3I6IEBjb2xvci00O1xuICAgIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40NXJlbTtcbiAgICB9XG4gIH1cbiAgLnNlYXJjaC1mb3JtIHtcbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICBmb250LXNpemU6IDEuNjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJiNDM3ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgZm9udC1zaXplOiAxLjY1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuMzJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIC52ZXJ0aWNhbC1saW5lIHtcbiAgICAgIGNvbG9yOiAjYWNhZWIzO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICAuc2VhcmNoLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjY1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIC50cmFuc2l0aW9uKCk7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjMycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICB9XG4gICAgICBpIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5maWx0ZXItcHJvZHVjdHMtYS10by16IHtcbiAgICAuZmlsdGVyLXByb2R1Y3RzIHtcbiAgICAgIC5sZWZ0LXRpdGxlIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuNjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjMycmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRoZS1sZXR0ZXJzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAudHJhbnNpdGlvbigpO1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjMycmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLndwLXBhZ2VuYXZpIHtcbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCAjQkZCRkJGO1xuICAgICAgcGFkZGluZzogMCAwLjhyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICBmb250LXNpemU6IDEuMzJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMjtcbiAgICAgIH1cbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDAgc29saWQgI0JGQkZCRjtcbiAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICBtYXJnaW46IDJweDtcbiAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgIGZvbnQtc2l6ZTogMS4zMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG4gIC5idG4tc2Vjb25kYXJ5IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgc2luZ2xlLXNlcnZpY2UubGVzcyAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4uc2luZ2xlLXNlcnZpY2Uge1xuICAuc2VydmljZS1zaW5nbGUtbHZsMSB7XG5cbiAgfVxuICAuc2VydmljZS1zaW5nbGUtbHZsMiB7XG4gICAgLnRoZS10ZXh0IHtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40N3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI3cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlcnZpY2Utc2luZ2xlLWx2bDMge1xuICAgIC5sdmwzLXRleHQge1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zZXJ2aWNlLXNpbmdsZS1sdmw0IHtcbiAgICAudGhlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAudGhlLXRleHQge1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgbWFyZ2luLXRvcDogLTIuNXJlbTtcbiAgICAgIGxpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zZXJ2aWNlLXNpbmdsZS1sdmw1IHtcblxuICB9XG4gIC5zZXJ2aWNlLXNpbmdsZS1sdmw2IHtcbiAgICAudGhlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjU1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAubHZsNi10ZXh0LWJvdHRvbSB7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuMzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPSAgICAgICAgIHNpbmdsZS1zZXJ2aWNlLmxlc3MgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLnNpbmdsZS1wcm9kdWN0IHtcbiAgLnByb2R1Y3Qtc2luZ2xlLWx2bDEge1xuICAgIC5wcm9kdWN0LWZlYXR1cmUtaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTU7XG4gICAgfVxuICAgIC50aGUtcHJvZHVjdC10aXRsZSB7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICBmb250LXNpemU6IDMuM3JlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4xcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAucHJvcGVydHktdGl0bGUge1xuICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgZm9udC1zaXplOiAxLjQ3cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjMxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAucHJvcGVydHktY29udGVudCB7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJvZHVjdC1zaW5nbGUtbHZsMiB7XG4gICAgLnRoZS10ZXh0IHtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40N3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI3cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnByb2R1Y3Qtc2luZ2xlLWx2bDMge1xuICAgIC5yZWxhdGVkLXByb2R1Y3RzIHtcbiAgICAgIC5iZy1ncmF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICAgIH1cbiAgICAgIC5zZXJ2aWNlLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgICAuc2VydmljZS10aXRsZSB7XG4gICAgICAgIGhlaWdodDogMy40cmVtO1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIC50cmFuc2l0aW9uKCk7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNTVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNlcnZpY2UtdGV4dCB7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTJyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pbWFnZS1jdWJlLXdyYXBwZXIge1xuICAgICAgICAudHJhbnNpdGlvbigycyk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTU7XG4gICAgICAgICAgLnRyYW5zaXRpb24oMnMpO1xuICAgICAgICAgIC5tb3JlLWluZm8ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKDJzKTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtIDEuNXJlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAudHJhbnNpdGlvbigycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj0gICAgICAgICBwYWdlLXByb2R1Y3QubGVzcyAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4ucHJvZHVjdC1wYWdlIHtcbiAgLnNlcnZpY2Utc2luZ2xlLWx2bDEge1xuXG4gIH1cbiAgLnNlcnZpY2Utc2luZ2xlLWx2bDIge1xuICAgIC50aGUtdGV4dCB7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICBmb250LXNpemU6IDEuNDdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yN3JlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi4zO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zZXJ2aWNlLXNpbmdsZS1sdmwzIHtcbiAgICAubHZsMy10ZXh0IHtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2VydmljZS1zaW5nbGUtbHZsNCB7XG4gICAgLnRoZS10aXRsZSB7XG4gICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRoZS10ZXh0IHtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yLjVyZW07XG4gICAgICBsaSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci01O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2VydmljZS1zaW5nbGUtbHZsNSB7XG5cbiAgfVxuICAuc2VydmljZS1zaW5nbGUtbHZsNiB7XG4gICAgLnRoZS10aXRsZSB7XG4gICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmx2bDYtdGV4dC1ib3R0b20ge1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogcGFnZS10aGFua3MubGVzcyAqL1xuXG4ucGFnZS10aGFua3Mge1xuICAubG9nby10aGFua3Mge1xuICAgICAgbWFyZ2luOiA2cmVtIDA7XG4gIH1cbiAgaDEge1xuICAgICYudGl0bGUtdGhhbmtzIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy42NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaDIge1xuICAgICYudGl0bGUge1xuICAgICAgY29sb3I6IEBjb2xvci0yO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ3cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNDVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHAge1xuICAgICYudGV4dC1tYWluIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBmb250LXNpemU6IDEuMzJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjQ1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnRuIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICB9XG59XG5cbmRpdiB7XG4gICYud3BjZjctbWFpbC1zZW50LW9rIHtcbiAgICBib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBFTkQgcGFnZS10aGFua3MubGVzcyAqLyJdfQ== */